inspector: Don't add controllers to non-window toplevels
authorTimm Bäder <mail@baedert.org>
Sat, 5 May 2018 07:06:22 +0000 (09:06 +0200)
committerTimm Bäder <mail@baedert.org>
Sat, 5 May 2018 07:06:22 +0000 (09:06 +0200)
That doesn't make sense in this context and breaks grabs.

gtk/inspector/object-tree.c
gtk/inspector/prop-list.c
gtk/inspector/resource-list.c
gtk/inspector/statistics.c

index 30fc714fc8f8ebb03c6e764bc9edfeb0e449051c..4bcdd8dbb4cc08a5fb40749afc953baa890b174f 100644 (file)
@@ -801,6 +801,10 @@ on_hierarchy_changed (GtkWidget *widget,
     g_object_set_data (G_OBJECT (previous_toplevel), "object-controller", NULL);
 
   toplevel = gtk_widget_get_toplevel (widget);
+
+  if (!GTK_IS_WINDOW (toplevel))
+    return;
+
   controller = gtk_event_controller_key_new ();
   g_object_set_data_full (G_OBJECT (toplevel), "object-controller", controller, g_object_unref);
   g_signal_connect (controller, "key-pressed", G_CALLBACK (key_pressed), widget);
index 70cc6521abc6ffa7e2fb32d3d470bb0f254d3637..292ed77d8c58e7ecd884fb5756a0e9a3df49a674 100644 (file)
@@ -114,6 +114,10 @@ hierarchy_changed (GtkWidget *widget,
     g_object_set_data (G_OBJECT (previous_toplevel), "prop-controller", NULL);
 
   toplevel = gtk_widget_get_toplevel (widget);
+
+  if (!GTK_IS_WINDOW (toplevel))
+    return;
+
   controller = gtk_event_controller_key_new ();
   g_object_set_data_full (G_OBJECT (toplevel), "prop-controller", controller, g_object_unref);
   g_signal_connect (controller, "key-pressed", G_CALLBACK (key_pressed), widget);
index bc724cdaecd287f1ceb0b82b303b57a95d1dfc23..c6f1a1ed6410bdf48e150e8289023705e9b05506 100644 (file)
@@ -481,6 +481,10 @@ on_hierarchy_changed (GtkWidget *widget,
     g_object_set_data (G_OBJECT (previous_toplevel), "resource-controller", NULL);
 
   toplevel = gtk_widget_get_toplevel (widget);
+
+  if (!GTK_IS_WINDOW (toplevel))
+    return;
+
   controller = gtk_event_controller_key_new ();
   g_object_set_data_full (G_OBJECT (toplevel), "resource-controller", controller, g_object_unref);
   g_signal_connect (controller, "key-pressed", G_CALLBACK (key_pressed), widget);
index 1e93dc4980d03931e1f14b4b7fbb8b210416bb5c..e48b1ac46dba0acecdac03a9e6f34cca85c8bc9e 100644 (file)
@@ -332,6 +332,10 @@ hierarchy_changed (GtkWidget *widget,
     g_object_set_data (G_OBJECT (previous_toplevel), "statistics-controller", NULL);
 
   toplevel = gtk_widget_get_toplevel (widget);
+
+  if (!GTK_IS_WINDOW (toplevel))
+    return;
+
   controller = gtk_event_controller_key_new ();
   g_object_set_data_full (G_OBJECT (toplevel), "statistics-controller", controller, g_object_unref);
   g_signal_connect (controller, "key-pressed", G_CALLBACK (key_pressed), widget);