Index: src/xfce-desktop.c =================================================================== --- src/xfce-desktop.c (revision 22504) +++ src/xfce-desktop.c (working copy) @@ -692,8 +692,12 @@ { XfceDesktop *desktop = XFCE_DESKTOP(w); - gdk_window_set_back_pixmap(w->window, desktop->priv->bg_pixmap, FALSE); - gtk_widget_queue_draw(w); + if(old_style != NULL + && old_style != gtk_widget_get_style(w)) { + gdk_window_set_back_pixmap(GTK_WIDGET(desktop)->window, + desktop->priv->bg_pixmap, FALSE); + gtk_widget_queue_draw(w); + } } @@ -719,7 +723,7 @@ GTK_WINDOW(desktop)->screen = gscreen; desktop->priv->gscreen = gscreen; - g_signal_connect(G_OBJECT(desktop), "style-set", + g_signal_connect(GTK_WIDGET(desktop), "style-set", G_CALLBACK(style_set_cb), NULL); return GTK_WIDGET(desktop);