[gtk/wip/muktupavels/fix-critical-warning] menu: fix critical warning



commit e34037b0158a7af5b9650f37111730003ca8e830
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Nov 14 17:49:20 2019 +0200

    menu: fix critical warning
    
    Unset gdk-attached-grab-window from correct window.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1899

 gtk/gtkmenu.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 1be93d2b5e..64e4b98d9f 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -3343,17 +3343,20 @@ menu_grab_transfer_window_get (GtkMenu *menu)
 static void
 menu_grab_transfer_window_destroy (GtkMenu *menu)
 {
+  GtkMenuPrivate *priv = menu->priv;
   GdkWindow *window = g_object_get_data (G_OBJECT (menu), "gtk-menu-transfer-window");
   if (window)
     {
-      GdkWindow *widget_window;
+      GdkWindow *toplevel_window;
 
       gtk_widget_unregister_window (GTK_WIDGET (menu), window);
       gdk_window_destroy (window);
       g_object_set_data (G_OBJECT (menu), I_("gtk-menu-transfer-window"), NULL);
 
-      widget_window = gtk_widget_get_window (GTK_WIDGET (menu));
-      g_object_set_data (G_OBJECT (widget_window), I_("gdk-attached-grab-window"), window);
+      toplevel_window = gtk_widget_get_window (priv->toplevel);
+
+      if (toplevel_window != NULL)
+        g_object_set_data (G_OBJECT (toplevel_window), I_("gdk-attached-grab-window"), NULL);
     }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]