Author: kelnos
Date: 2006-07-21 20:05:47 +0000 (Fri, 21 Jul 2006)
New Revision: 22505

Modified:
   xfdesktop/trunk/src/xfce-desktop.c
Log:
don't connect to stlye-set until after we're realized (bug 2053)


Modified: xfdesktop/trunk/src/xfce-desktop.c
===================================================================
--- xfdesktop/trunk/src/xfce-desktop.c  2006-07-21 13:40:25 UTC (rev 22504)
+++ xfdesktop/trunk/src/xfce-desktop.c  2006-07-21 20:05:47 UTC (rev 22505)
@@ -111,6 +111,9 @@
                                     GdkEventExpose *evt);
 static gboolean xfce_desktop_delete_event(GtkWidget *w,
                                           GdkEventAny *evt);
+static void style_set_cb(GtkWidget *w,
+                         GtkStyle *old_style,
+                         gpointer user_data);
 
 /* private functions */
 
@@ -581,6 +584,9 @@
     gdk_window_set_back_pixmap(GTK_WIDGET(desktop)->window,
                                desktop->priv->bg_pixmap, FALSE);
     
+    g_signal_connect(G_OBJECT(desktop), "style-set",
+                     G_CALLBACK(style_set_cb), NULL);
+    
     for(i = 0; i < desktop->priv->nbackdrops; i++) {
         g_signal_connect(G_OBJECT(desktop->priv->backdrops[i]), "changed",
                 G_CALLBACK(backdrop_changed_cb), desktop);
@@ -605,6 +611,9 @@
     
     g_return_if_fail(XFCE_IS_DESKTOP(desktop));
     
+    g_signal_handlers_disconnect_by_func(G_OBJECT(desktop),
+                                         G_CALLBACK(style_set_cb), NULL);
+    
     if(GTK_WIDGET_MAPPED(widget))
         gtk_widget_unmap(widget);
     GTK_WIDGET_UNSET_FLAGS(widget, GTK_MAPPED);
@@ -719,9 +728,6 @@
     GTK_WINDOW(desktop)->screen = gscreen;
     desktop->priv->gscreen = gscreen;
     
-    g_signal_connect(G_OBJECT(desktop), "style-set",
-                     G_CALLBACK(style_set_cb), NULL);
-    
     return GTK_WIDGET(desktop);
 }
 

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to