[Spice-devel] [spice-gtk] clipboard: don't request targets without owner on X11
Jakub Janků
jjanku at redhat.com
Sun Jan 27 17:14:20 UTC 2019
On X11, if the owner in GdkEventOwnerChange is set to NULL,
it means there's no data in the clipboard, so it's pointless to
request targets as the request will fail anyway.
On Wayland, owner is always NULL, so don't do anything there.
Signed-off-by: Jakub Janků <jjanku at redhat.com>
---
src/spice-gtk-session.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
index 1a19bca..b48f92a 100644
--- a/src/spice-gtk-session.c
+++ b/src/spice-gtk-session.c
@@ -674,6 +674,14 @@ static void clipboard_owner_change(GtkClipboard *clipboard,
}
s->clipboard_by_guest[selection] = FALSE;
+
+#ifdef GDK_WINDOWING_X11
+ if (!event->owner && GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
+ s->clip_hasdata[selection] = FALSE;
+ return;
+ }
+#endif
+
s->clip_hasdata[selection] = TRUE;
if (s->auto_clipboard_enable && !read_only(self))
gtk_clipboard_request_targets(clipboard, clipboard_get_targets,
--
2.20.1
More information about the Spice-devel
mailing list