From: Robert Carr Date: Tue, 29 Nov 2011 23:25:29 +0000 (+0100) Subject: Do not allow devices in an offscreen hierarchy to take grabs. X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6b6b2482b96fa3e7de2fbc8e56fbefd964dd398b;p=gtk%2B3.0.git Do not allow devices in an offscreen hierarchy to take grabs. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=658563 Bug: https://gitlab.gnome.org/GNOME/gtk/issues/368 Bug-Ubuntu: https://launchpad.net/bugs/804009 Forwarded: yes Gbp-Pq: Name 017_no_offscreen_device_grabbing.patch --- diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 6148489378..7cd685cbad 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -2327,9 +2327,14 @@ gtk_device_grab_add (GtkWidget *widget, { GtkWindowGroup *group; GtkWidget *old_grab_widget; + GdkWindow *toplevel; g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GDK_IS_DEVICE (device)); + + toplevel = gdk_window_get_toplevel (gtk_widget_get_window (widget)); + if (toplevel && gdk_window_get_window_type (toplevel) == GDK_WINDOW_OFFSCREEN) + return; group = gtk_main_get_window_group (widget); old_grab_widget = gtk_window_group_get_current_device_grab (group, device);