Don't let offscreen widget do grabbing
authorCody Russell <bratsche@gnome.org>
Tue, 29 Nov 2011 23:25:29 +0000 (00:25 +0100)
committerSimon McVittie <smcv@debian.org>
Wed, 8 Nov 2023 16:30:21 +0000 (16:30 +0000)
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=607668
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=658563
Bug: https://gitlab.gnome.org/GNOME/gtk/issues/368
Bug-Ubuntu: https://bugs.launchpad.net/bugs/512427
Forwarded: yes

Gbp-Pq: Name 016_no_offscreen_widgets_grabbing.patch

gtk/gtkmain.c

index ae64e1881c72b939e209964858bc260489a02291..61484893788e2f523d05cd869ac677f18112c8c3 100644 (file)
@@ -2234,9 +2234,14 @@ gtk_grab_add (GtkWidget *widget)
 {
   GtkWindowGroup *group;
   GtkWidget *old_grab_widget;
+  GtkWidget *toplevel;
 
   g_return_if_fail (widget != NULL);
 
+  toplevel = gtk_widget_get_toplevel (widget);
+  if (toplevel && gdk_window_get_window_type (gtk_widget_get_window (toplevel)) == GDK_WINDOW_OFFSCREEN)
+    return;
+
   if (!gtk_widget_has_grab (widget) && gtk_widget_is_sensitive (widget))
     {
       _gtk_widget_set_has_grab (widget, TRUE);