summaryrefslogtreecommitdiff
path: root/1146.patch
diff options
context:
space:
mode:
authorAdam Williamson <awilliam@redhat.com>2019-10-22 11:56:24 -0700
committerAdam Williamson <awilliam@redhat.com>2019-10-22 11:56:24 -0700
commit3189369c9dabdb08d029d061f8a074736e1b2cfb (patch)
treea14b6adaaebb35417580fbc5c8fcc21355a22ac5 /1146.patch
parentBackport PR #1142 to try and fix intermittent copy/cut failures (diff)
downloadgtk3-classic-build-gtk3-3189369c9dabdb08d029d061f8a074736e1b2cfb.tar.gz
gtk3-classic-build-gtk3-3189369c9dabdb08d029d061f8a074736e1b2cfb.tar.bz2
gtk3-classic-build-gtk3-3189369c9dabdb08d029d061f8a074736e1b2cfb.zip
Backport PR #1146 to fix a bug that #1142 introduced
Diffstat (limited to '1146.patch')
-rw-r--r--1146.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/1146.patch b/1146.patch
new file mode 100644
index 0000000..1f77d26
--- /dev/null
+++ b/1146.patch
@@ -0,0 +1,76 @@
+From ba0a0ce0a0e85d57b3ec2010189b4c8c484c2c9f Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Tue, 22 Oct 2019 18:36:44 +0200
+Subject: [PATCH 1/2] Revert "gdk: Do not call gdk_selection_owner_set()
+ internally to the backend"
+
+This reverts commit 7a891eeb6def29f6562a3833c272b0cb2a67ae23.
+---
+ gdk/wayland/gdkselection-wayland.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
+index e14f50de8d..9494489d69 100644
+--- a/gdk/wayland/gdkselection-wayland.c
++++ b/gdk/wayland/gdkselection-wayland.c
+@@ -937,6 +937,7 @@ data_source_cancelled (void *data,
+ gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
+
+ emit_selection_clear (display, atom);
++ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
+ gdk_wayland_selection_unset_data_source (display, atom);
+ }
+
+@@ -1047,6 +1048,7 @@ primary_source_cancelled (void *data,
+
+ atom = atoms[ATOM_PRIMARY];
+ emit_selection_clear (display, atom);
++ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
+ gdk_wayland_selection_unset_data_source (display, atom);
+ }
+
+--
+2.22.0
+
+
+From ff41436b594e04e106c0cd3859080ac80e6e6722 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Tue, 22 Oct 2019 18:39:30 +0200
+Subject: [PATCH 2/2] gdk: Do not change the windowing selection when
+ cancelling source
+
+We are interested in changing the owner window, so the upper bits know
+that it is not this client who owns the selection. We are still not
+interested in unsetting the selection desktop-wide though, so only avoid
+emitting the relevant events then.
+
+The same reasonings than in commit 7a891eeb6def apply otherwise.
+---
+ gdk/wayland/gdkselection-wayland.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
+index 9494489d69..a1925edd35 100644
+--- a/gdk/wayland/gdkselection-wayland.c
++++ b/gdk/wayland/gdkselection-wayland.c
+@@ -937,7 +937,7 @@ data_source_cancelled (void *data,
+ gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
+
+ emit_selection_clear (display, atom);
+- gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
++ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, FALSE);
+ gdk_wayland_selection_unset_data_source (display, atom);
+ }
+
+@@ -1048,7 +1048,7 @@ primary_source_cancelled (void *data,
+
+ atom = atoms[ATOM_PRIMARY];
+ emit_selection_clear (display, atom);
+- gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
++ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, FALSE);
+ gdk_wayland_selection_unset_data_source (display, atom);
+ }
+
+--
+2.22.0
+
bgstack15