changeset 25573:1bfc20b76bb2

Alternate, API-safe fix for #8774 (crash on exit)
author Ethan Blanton <elb@pidgin.im>
date Wed, 29 Apr 2009 00:41:37 +0000
parents d5cf115b7c58
children 1784eb0d66c0
files libpurple/core.c
diffstat 1 files changed, 10 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/core.c	Wed Apr 29 00:39:13 2009 +0000
+++ b/libpurple/core.c	Wed Apr 29 00:41:37 2009 +0000
@@ -206,19 +206,6 @@
 	 */
 	purple_certificate_uninit();
 
-	/* The SSL plugins must be uninit before they're unloaded */
-	purple_ssl_uninit();
-
-	/* Unload all plugins before the UI because UI plugins might call
-	 * UI-specific functions */
-	purple_debug_info("main", "Unloading all plugins\n");
-	purple_plugins_destroy_all();
-
-	/* Shut down the UI before all the subsystems */
-	ops = purple_core_get_ui_ops();
-	if (ops != NULL && ops->quit != NULL)
-		ops->quit();
-
 	/* Save .xml files, remove signals, etc. */
 	purple_smileys_uninit();
 	purple_idle_uninit();
@@ -239,6 +226,16 @@
 	purple_imgstore_uninit();
 	purple_network_uninit();
 
+	/* The SSL plugins must be uninit before they're unloaded */
+	purple_ssl_uninit();
+
+	purple_debug_info("main", "Unloading all plugins\n");
+	purple_plugins_destroy_all();
+
+	ops = purple_core_get_ui_ops();
+	if (ops != NULL && ops->quit != NULL)
+		ops->quit();
+
 	/* Everything after this must not try to read any prefs */
 	purple_prefs_uninit();
 	purple_plugins_uninit();