Window: Connect screen signals properly in init()
authorDaniel Boles <dboles@src.gnome.org>
Thu, 31 Aug 2017 19:19:58 +0000 (20:19 +0100)
committerDaniel Boles <dboles@src.gnome.org>
Thu, 31 Aug 2017 19:23:00 +0000 (20:23 +0100)
Do not connect to get_settings_for_screen() if we have no screen…

Use g_signal_connect(), not connect_object(), to match how set_screen()
makes these same connections, and how finalize() already disconnects.

https://bugzilla.gnome.org/show_bug.cgi?id=705640

gtk/gtkwindow.c

index 535a3f2f1a45dc281596913796e437a93c749c3b..72db9a8e0f2c892df2b6f8e193291521c5f868bb 100644 (file)
@@ -1695,14 +1695,16 @@ gtk_window_init (GtkWindow *window)
   gtk_window_update_debugging ();
 
   if (priv->screen)
-    g_signal_connect_object (priv->screen, "composited-changed",
-                             G_CALLBACK (gtk_window_on_composited_changed), window, 0);
+    {
+      g_signal_connect (priv->screen, "composited-changed",
+                        G_CALLBACK (gtk_window_on_composited_changed), window);
 
 #ifdef GDK_WINDOWING_X11
-  g_signal_connect_object (gtk_settings_get_for_screen (priv->screen),
-                           "notify::gtk-application-prefer-dark-theme",
-                           G_CALLBACK (gtk_window_on_theme_variant_changed), window, 0);
+      g_signal_connect (gtk_settings_get_for_screen (priv->screen),
+                        "notify::gtk-application-prefer-dark-theme",
+                        G_CALLBACK (gtk_window_on_theme_variant_changed), window);
 #endif
+    }
 
   widget_node = gtk_widget_get_css_node (GTK_WIDGET (window));
   priv->decoration_node = gtk_css_node_new ();