# HG changeset patch # User Paul Aurich # Date 1250134118 0 # Node ID c93ed4d7cabe96f46c153c174edf409db20ff8fd # Parent 32a7077464544770301747ab9878e44f1dd53e84# Parent 28485b9ea6566cf6a5f4ae510f7bf0d2124c3a74 merge of 'abdecd59fbf18da0d4f391df390910b525356ffb' and 'f005961acc673854916055d8bc491c28f9fb63f0' diff -r 28485b9ea656 -r c93ed4d7cabe libpurple/pounce.c --- a/libpurple/pounce.c Thu Aug 13 02:32:33 2009 +0000 +++ b/libpurple/pounce.c Thu Aug 13 03:28:38 2009 +0000 @@ -1157,4 +1157,7 @@ } purple_signals_disconnect_by_handle(purple_pounces_get_handle()); + + g_hash_table_destroy(pounce_handlers); + pounce_handlers = NULL; } diff -r 28485b9ea656 -r c93ed4d7cabe libpurple/prefs.c --- a/libpurple/prefs.c Thu Aug 13 02:32:33 2009 +0000 +++ b/libpurple/prefs.c Thu Aug 13 03:28:38 2009 +0000 @@ -1450,6 +1450,8 @@ sync_prefs(); } + purple_prefs_disconnect_by_handle(purple_prefs_get_handle()); + prefs_loaded = FALSE; purple_prefs_destroy(); g_hash_table_destroy(prefs_hash); diff -r 28485b9ea656 -r c93ed4d7cabe libpurple/proxy.c --- a/libpurple/proxy.c Thu Aug 13 02:32:33 2009 +0000 +++ b/libpurple/proxy.c Thu Aug 13 03:28:38 2009 +0000 @@ -2531,4 +2531,9 @@ purple_proxy_connect_data_disconnect(handles->data, NULL); purple_proxy_connect_data_destroy(handles->data); } + + purple_prefs_disconnect_by_handle(purple_proxy_get_handle()); + + purple_proxy_info_destroy(global_proxy_info); + global_proxy_info = NULL; } diff -r 28485b9ea656 -r c93ed4d7cabe libpurple/savedstatuses.c --- a/libpurple/savedstatuses.c Thu Aug 13 02:32:33 2009 +0000 +++ b/libpurple/savedstatuses.c Thu Aug 13 03:28:38 2009 +0000 @@ -1235,6 +1235,8 @@ void purple_savedstatuses_uninit(void) { + gpointer handle = purple_savedstatuses_get_handle(); + remove_old_transient_statuses(); if (save_timer != 0) @@ -1253,6 +1255,7 @@ g_hash_table_destroy(creation_times); creation_times = NULL; - purple_signals_unregister_by_instance(purple_savedstatuses_get_handle()); + purple_signals_unregister_by_instance(handle); + purple_signals_disconnect_by_handle(handle); } diff -r 28485b9ea656 -r c93ed4d7cabe libpurple/status.c --- a/libpurple/status.c Thu Aug 13 02:32:33 2009 +0000 +++ b/libpurple/status.c Thu Aug 13 03:28:38 2009 +0000 @@ -1660,7 +1660,7 @@ void purple_status_init(void) { - void *handle = purple_status_get_handle; + void *handle = purple_status_get_handle(); purple_prefs_add_none("/purple/status"); purple_prefs_add_none("/purple/status/scores"); @@ -1714,4 +1714,5 @@ void purple_status_uninit(void) { + purple_prefs_disconnect_by_handle(purple_prefs_get_handle()); }