Mercurial > pidgin
diff libpurple/prefs.c @ 25908:8958393be615
propagate from branch 'im.pidgin.pidgin' (head f49b0bab604f956eb4f9fce3a103320497cd40e5)
to branch 'im.pidgin.pidgin.next.minor' (head 4f8748faa3551f9475017bfe39dd11ff5e560cf0)
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 21 Jan 2009 18:34:32 +0000 |
parents | 94a6eb10c691 7e2f27351358 |
children | 8290e36a5a73 |
line wrap: on
line diff
--- a/libpurple/prefs.c Thu Jan 15 22:46:15 2009 +0000 +++ b/libpurple/prefs.c Wed Jan 21 18:34:32 2009 +0000 @@ -694,12 +694,15 @@ char *name; GSList *l; - if(!pref || pref == &prefs) + if(!pref) return; while(pref->first_child) remove_pref(pref->first_child); + if(pref == &prefs) + return; + if(pref->parent->first_child == pref) { pref->parent->first_child = pref->sibling; } else { @@ -712,7 +715,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); @@ -1446,6 +1450,9 @@ sync_prefs(); } + prefs_loaded = FALSE; + purple_prefs_destroy(); + g_hash_table_destroy(prefs_hash); + prefs_hash = NULL; - prefs_loaded = FALSE; }