Blob Blame History Raw
diff -up gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c.fade gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c
--- gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c.fade	2008-08-04 10:25:52.000000000 -0400
+++ gnome-settings-daemon-2.24.0/plugins/background/gsd-background-manager.c	2008-09-24 16:37:50.000000000 -0400
@@ -174,6 +174,7 @@ draw_background (GsdBackgroundManager *m
                 GdkScreen *screen;
                 GdkWindow *root_window;
                 GdkPixmap *pixmap;
+                GnomeBGCrossfade *fade;
 
                 screen = gdk_display_get_screen (display, i);
 
@@ -185,7 +186,9 @@ draw_background (GsdBackgroundManager *m
                                                  gdk_screen_get_height (screen),
                                                  TRUE);
 
-                gnome_bg_set_pixmap_as_root (screen, pixmap);
+                fade = gnome_bg_set_pixmap_as_root_with_crossfade (screen, pixmap, NULL);
+                g_signal_connect (fade, "finished",
+                                  G_CALLBACK (g_object_unref), NULL);
 
                 g_object_unref (pixmap);
         }
@@ -267,9 +270,7 @@ gsd_background_manager_start (GsdBackgro
                                                        "/apps/nautilus/preferences/show_desktop",
                                                        NULL);
 
-        if (!nautilus_show_desktop) {
-                draw_background (manager);
-        } else {
+        if (nautilus_show_desktop) {
                 /* even when nautilus is supposedly handling the
                  * background, apply the settings eventually to make
                  * people running a nautilus-less session happy */