77 lines
2.8 KiB
Diff
77 lines
2.8 KiB
Diff
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
|
|
|