Clean up loggers when quitting (or unloading the logreader plugin).

Sat, 03 May 2008 19:45:15 +0000

author
Daniel Atallah <datallah@pidgin.im>
date
Sat, 03 May 2008 19:45:15 +0000
changeset 22979
29ca0829efe0
parent 22978
0dc637ac393b
child 22980
b5c23c9bbd24

Clean up loggers when quitting (or unloading the logreader plugin).

libpurple/log.c file | annotate | diff | comparison | revisions
libpurple/plugins/log_reader.c file | annotate | diff | comparison | revisions
--- 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;
 }
 
 /****************************************************************************
--- 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;
 }

mercurial