diff -rupN gnome-control-center-2.32.0.old/capplets/appearance/appearance-desktop.c gnome-control-center-2.32.0.new/capplets/appearance/appearance-desktop.c --- a/capplets/appearance/appearance-desktop.c 2010-09-21 08:54:55.000000000 -0400 +++ b/capplets/appearance/appearance-desktop.c 2010-11-05 20:51:53.867234128 -0400 @@ -1225,6 +1225,7 @@ desktop_init (AppearanceData *data, GtkCellRenderer *cr; char *url; + data->wp_xml_list_loaded = FALSE; data->wp_update_gconf = TRUE; data->wp_uris = NULL; diff -rupN gnome-control-center-2.32.0.old/capplets/appearance/appearance.h gnome-control-center-2.32.0.new/capplets/appearance/appearance.h --- a/capplets/appearance/appearance.h 2010-09-21 08:54:55.000000000 -0400 +++ b/capplets/appearance/appearance.h 2010-11-05 20:51:58.050214779 -0400 @@ -41,6 +41,7 @@ typedef struct /* desktop */ GHashTable *wp_hash; + gboolean wp_xml_list_loaded; gboolean wp_update_gconf; GtkIconView *wp_view; GtkTreeModel *wp_model; diff -rupN gnome-control-center-2.32.0.old/capplets/appearance/gnome-wp-xml.c gnome-control-center-2.32.0.new/capplets/appearance/gnome-wp-xml.c --- a/capplets/appearance/gnome-wp-xml.c 2010-09-21 08:54:55.000000000 -0400 +++ b/capplets/appearance/gnome-wp-xml.c 2010-11-05 20:54:03.198634367 -0400 @@ -378,6 +378,8 @@ void gnome_wp_xml_load_list (AppearanceD gnome_wp_xml_load_from_dir (WALLPAPER_DATADIR, data); gnome_wp_load_legacy (data); + + data->wp_xml_list_loaded = TRUE; } static void gnome_wp_list_flatten (const gchar * key, GnomeWPItem * item, @@ -394,6 +396,11 @@ void gnome_wp_xml_save_list (AppearanceD GSList * list = NULL; gchar * wpfile; + if (!data->wp_xml_list_loaded) { + g_hash_table_destroy (data->wp_hash); + return; + } + g_hash_table_foreach (data->wp_hash, (GHFunc) gnome_wp_list_flatten, &list); g_hash_table_destroy (data->wp_hash);