From 8dd888bcbdf0ab771b5cfbe2198ffe25fdf08f2a Mon Sep 17 00:00:00 2001 From: daboe01 Date: Tue, 21 Jun 2016 20:56:56 +0200 Subject: [PATCH 1/3] fixed: native pasteboard unconditionally overwrites capp-pasteboard --- AppKit/Platform/DOM/CPPlatformPasteboard.j | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformPasteboard.j b/AppKit/Platform/DOM/CPPlatformPasteboard.j index e749a1fae..3c215d1b9 100644 --- a/AppKit/Platform/DOM/CPPlatformPasteboard.j +++ b/AppKit/Platform/DOM/CPPlatformPasteboard.j @@ -450,9 +450,10 @@ Return true if the event may be a copy and paste event, but the target is not an if ([value length]) { - var pasteboard = [CPPasteboard generalPasteboard]; + var pasteboard = [CPPasteboard generalPasteboard], + cappString = [pasteboard stringForType:CPStringPboardType]; - if ([pasteboard _stateUID] != value) + if (cappString !== value) { [pasteboard declareTypes:[CPStringPboardType] owner:self]; [pasteboard setString:value forType:CPStringPboardType]; From bbc2f4766ecb2b5baec29d2dfcc8382533d63e8f Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 17 Jul 2016 07:33:21 +0200 Subject: [PATCH 2/3] fixed: one other reference to _stateUID --- AppKit/Platform/DOM/CPPlatformPasteboard.j | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformPasteboard.j b/AppKit/Platform/DOM/CPPlatformPasteboard.j index 3c215d1b9..a1c8fc5a6 100644 --- a/AppKit/Platform/DOM/CPPlatformPasteboard.j +++ b/AppKit/Platform/DOM/CPPlatformPasteboard.j @@ -384,9 +384,10 @@ Return true if the event may be a copy and paste event, but the target is not an if ([value length]) { - var pasteboard = [CPPasteboard generalPasteboard]; + var pasteboard = [CPPasteboard generalPasteboard], + cappString = [pasteboard stringForType:CPStringPboardType]; - if ([pasteboard _stateUID] != value) + if (cappString !== value) { [pasteboard declareTypes:[CPStringPboardType] owner:self]; [pasteboard setString:value forType:CPStringPboardType]; From 95e7a7c8eb78057ad955d25394cb97b90629b7e2 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Sun, 17 Jul 2016 07:53:53 +0200 Subject: [PATCH 3/3] fixed: wrong comparison (for proper null handling) --- AppKit/Platform/DOM/CPPlatformPasteboard.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/Platform/DOM/CPPlatformPasteboard.j b/AppKit/Platform/DOM/CPPlatformPasteboard.j index a1c8fc5a6..9ca0b3141 100644 --- a/AppKit/Platform/DOM/CPPlatformPasteboard.j +++ b/AppKit/Platform/DOM/CPPlatformPasteboard.j @@ -387,7 +387,7 @@ Return true if the event may be a copy and paste event, but the target is not an var pasteboard = [CPPasteboard generalPasteboard], cappString = [pasteboard stringForType:CPStringPboardType]; - if (cappString !== value) + if (cappString != value) { [pasteboard declareTypes:[CPStringPboardType] owner:self]; [pasteboard setString:value forType:CPStringPboardType]; @@ -454,7 +454,7 @@ Return true if the event may be a copy and paste event, but the target is not an var pasteboard = [CPPasteboard generalPasteboard], cappString = [pasteboard stringForType:CPStringPboardType]; - if (cappString !== value) + if (cappString != value) { [pasteboard declareTypes:[CPStringPboardType] owner:self]; [pasteboard setString:value forType:CPStringPboardType];