Mercurial > pidgin
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();