diff libpurple/prefs.c @ 24867:60ae522a239a

Rearrange prefs uninitialization now that it actually does something. This should prevent an infinite loop that occurs when trying to debug after prefs are uninit'd. Paul Aurich figured this out. Fixes #7761
author Daniel Atallah <daniel.atallah@gmail.com>
date Sat, 03 Jan 2009 18:37:37 +0000
parents 8b55fcc6adde
children 1563f269a714 6267675cbc1d
line wrap: on
line diff
--- a/libpurple/prefs.c	Fri Jan 02 22:41:11 2009 +0000
+++ b/libpurple/prefs.c	Sat Jan 03 18:37:37 2009 +0000
@@ -714,7 +714,8 @@
 
 	name = pref_full_name(pref);
 
-	purple_debug_info("prefs", "removing pref %s\n", name);
+	if (prefs_loaded)
+		purple_debug_info("prefs", "removing pref %s\n", name);
 
 	g_hash_table_remove(prefs_hash, name);
 	g_free(name);
@@ -1453,7 +1454,7 @@
 		save_timer = 0;
 		sync_prefs();
 	}
-
+	prefs_loaded = FALSE;
 	purple_prefs_disconnect_by_handle(purple_prefs_get_handle());
 	purple_prefs_destroy();
 	g_hash_table_destroy(prefs_hash);