d067464
diff -up gnome-settings-daemon-2.22.1/plugins/background/libbackground/preferences.c.hide-white-screen gnome-settings-daemon-2.22.1/plugins/background/libbackground/preferences.c
d067464
--- gnome-settings-daemon-2.22.1/plugins/background/libbackground/preferences.c.hide-white-screen	2008-03-31 10:37:43.000000000 -0400
d067464
+++ gnome-settings-daemon-2.22.1/plugins/background/libbackground/preferences.c	2008-03-31 10:39:27.000000000 -0400
d067464
@@ -252,6 +252,26 @@ bg_preferences_load (BGPreferences *pref
d067464
 		else
d067464
 			prefs->wallpaper_filename = g_filename_from_utf8 (tmp, -1, NULL,
d067464
 									  NULL, NULL);
d067464
+
d067464
+		if (!g_file_test (prefs->wallpaper_filename, G_FILE_TEST_EXISTS)) {
d067464
+			GConfValue *default_value;
d067464
+			default_value = gconf_client_get_default_from_schema (client,
d067464
+									      BG_PREFERENCES_DRAW_BACKGROUND, NULL);
d067464
+			if (default_value != NULL) {
d067464
+				prefs->enabled = gconf_value_get_bool (default_value);
d067464
+				gconf_value_free (default_value);
d067464
+
d067464
+				g_free (prefs->wallpaper_filename);
d067464
+				prefs->wallpaper_filename = NULL;
d067464
+
d067464
+				default_value = gconf_client_get_default_from_schema (client,
d067464
+										      BG_PREFERENCES_PICTURE_FILENAME, NULL);
d067464
+				if (default_value != NULL) {
d067464
+					prefs->wallpaper_filename = g_strdup (gconf_value_get_string (default_value));
d067464
+					gconf_value_free (default_value);
d067464
+				}
d067464
+			}
d067464
+		}
d067464
 	}
d067464
 	g_free (tmp);
d067464