From 3d584f87f53aa2ae5fbfeb9e79d93a263884c990 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sat, 29 Feb 2020 10:39:44 +0100 Subject: [PATCH] fix getting modifier in gsd-clipboard-manager Similar fix as commits 1d8d735d and 12d8423f. Without this (and with newer GTK3 versions?), a constant stream of "Gdk-CRITICAL ... gdk_window_get_device_position_double: assertion 'GDK_IS_WINDOW (window)' failed" is emitted. --- x11-clipboard-manager/gsd-clipboard-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/x11-clipboard-manager/gsd-clipboard-manager.c b/x11-clipboard-manager/gsd-clipboard-manager.c index 3cff437..a95cd49 100644 --- a/x11-clipboard-manager/gsd-clipboard-manager.c +++ b/x11-clipboard-manager/gsd-clipboard-manager.c @@ -212,7 +212,7 @@ default_clipboard_owner_change (GsdClipboardManager *manager, static gboolean primary_clipboard_store (GsdClipboardManager *manager) { - GdkModifierType state; + GdkModifierType state = 0; gchar *text; GdkDisplay* display = gdk_display_get_default (); #if GTK_CHECK_VERSION (3, 20, 0) @@ -222,8 +222,10 @@ primary_clipboard_store (GsdClipboardManager *manager) GdkDeviceManager *device_manager = gdk_display_get_device_manager (display); GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager); #endif + GdkScreen *screen = gdk_screen_get_default (); + GdkWindow *root_win = gdk_screen_get_root_window (screen); - gdk_window_get_device_position (NULL, device, NULL, NULL, &state); + gdk_window_get_device_position (root_win, device, NULL, NULL, &state); if (state & (GDK_BUTTON1_MASK|GDK_SHIFT_MASK)) { return TRUE; } -- 2.25.1