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