# HG changeset patch # User Daniel Atallah # Date 1209843915 0 # Node ID f15d9ded0c4572fefb683d86fff0405891a6327d # Parent 3c98c25b076b74151cd91d7c08d59391ba1f5108 Clean up loggers when quitting (or unloading the logreader plugin). diff -r 3c98c25b076b -r f15d9ded0c45 libpurple/log.c --- a/libpurple/log.c Sat May 03 19:22:02 2008 +0000 +++ b/libpurple/log.c Sat May 03 19:45:15 2008 +0000 @@ -667,6 +667,18 @@ purple_log_uninit(void) { purple_signals_unregister_by_instance(purple_log_get_handle()); + + purple_log_logger_remove(html_logger); + purple_log_logger_free(html_logger); + html_logger = NULL; + + purple_log_logger_remove(txt_logger); + purple_log_logger_free(txt_logger); + txt_logger = NULL; + + purple_log_logger_remove(old_logger); + purple_log_logger_free(old_logger); + old_logger = NULL; } /**************************************************************************** diff -r 3c98c25b076b -r f15d9ded0c45 libpurple/plugins/log_reader.c --- a/libpurple/plugins/log_reader.c Sat May 03 19:22:02 2008 +0000 +++ b/libpurple/plugins/log_reader.c Sat May 03 19:45:15 2008 +0000 @@ -2789,14 +2789,34 @@ g_return_val_if_fail(plugin != NULL, FALSE); purple_log_logger_remove(adium_logger); + purple_log_logger_free(adium_logger); + adium_logger = NULL; + #if 0 purple_log_logger_remove(fire_logger); + purple_log_logger_free(fire_logger); + fire_logger = NULL; + purple_log_logger_remove(messenger_plus_logger); + purple_log_logger_free(messenger_plus_logger); + messenger_plus_logger = NULL; #endif + purple_log_logger_remove(msn_logger); + purple_log_logger_free(msn_logger); + msn_logger = NULL; + purple_log_logger_remove(trillian_logger); + purple_log_logger_free(trillian_logger); + trillian_logger = NULL; + purple_log_logger_remove(qip_logger); + purple_log_logger_free(qip_logger); + qip_logger = NULL; + purple_log_logger_remove(amsn_logger); + purple_log_logger_free(amsn_logger); + amsn_logger = NULL; return TRUE; }