changeset 9633:81b31af2752d

[gaim-migrate @ 10477] [ gaim-Bugs-847795 ] HTML log files not closed properly on exit The fix is twofold. First, make gaim_conversations_uninit, destroy conversation windows. Second, reorder things in core_quit, to keep plugins loaded until the end and to keep the gtk main loop from quitting until after everything else is uninitialized. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Sun, 01 Aug 2004 17:12:13 +0000
parents 885bba4f9d3b
children 10f1d729c415
files src/conversation.c src/core.c
diffstat 2 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/conversation.c	Sun Aug 01 13:04:50 2004 +0000
+++ b/src/conversation.c	Sun Aug 01 17:12:13 2004 +0000
@@ -2994,5 +2994,8 @@
 void
 gaim_conversations_uninit(void)
 {
+	
 	gaim_signals_unregister_by_instance(gaim_conversations_get_handle());
+	while (conversations) 
+		gaim_conversation_destroy((GaimConversation*)conversations->data);
 }
--- a/src/core.c	Sun Aug 01 13:04:50 2004 +0000
+++ b/src/core.c	Sun Aug 01 17:12:13 2004 +0000
@@ -111,9 +111,6 @@
 
 	ops = gaim_core_get_ui_ops();
 
-	if (ops != NULL && ops->quit != NULL)
-		ops->quit();
-
 	/* The self destruct sequence has been initiated */
 	gaim_signal_emit(gaim_get_core(), "quitting");
 
@@ -121,7 +118,6 @@
 	gaim_connections_disconnect_all();
 
 	gaim_debug(GAIM_DEBUG_INFO, "main", "Unloading all plugins\n");
-	gaim_plugins_destroy_all();
 
 	/* Save .xml files, remove signals, etc. */
 	gaim_ssl_uninit();
@@ -135,6 +131,8 @@
 
 	gaim_signals_uninit();
 
+	gaim_plugins_destroy_all();
+
 	if (core->ui != NULL) {
 		g_free(core->ui);
 		core->ui = NULL;
@@ -143,6 +141,10 @@
 	g_free(core);
 
 	_core = NULL;
+	
+	if (ops != NULL && ops->quit != NULL)
+		ops->quit();
+
 }
 
 gboolean