# HG changeset patch # User Stu Tomlinson # Date 1096826009 0 # Node ID 0fb9cf6b9240aa9b3464224e7770a5ac36d5721c # Parent fbab7f05b054889611ca5242d204958c787cfe47 [gaim-migrate @ 11058] Don't destroy the global hash table of buddy presences each time we destroy a single presence. Also, having a non-zero refcount isn't an error. committer: Tailor Script diff -r fbab7f05b054 -r 0fb9cf6b9240 src/status.c --- a/src/status.c Sun Oct 03 15:37:44 2004 +0000 +++ b/src/status.c Sun Oct 03 17:53:29 2004 +0000 @@ -1016,7 +1016,8 @@ presence->u.buddy.ref_count--; - g_return_if_fail(presence->u.buddy.ref_count == 0); + if(presence->u.buddy.ref_count != 0) + return; key.account = presence->u.buddy.account; key.name = presence->u.buddy.name; @@ -1032,9 +1033,6 @@ g_free(presence->u.chat.user); } - if (buddy_presences != NULL) - g_hash_table_destroy(buddy_presences); - if (presence->statuses != NULL) g_list_free(presence->statuses); @@ -1580,6 +1578,9 @@ void gaim_statuses_uninit(void) { + if(buddy_presences != NULL) + g_hash_table_destroy(buddy_presences); + buddy_presences = NULL; } void