comparison libpurple/core.c @ 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 01f1929d0936
comparison
equal deleted inserted replaced
25572:d5cf115b7c58 25573:1bfc20b76bb2
204 * and the PurpleCertificateSchemes will be unregistered when the 204 * and the PurpleCertificateSchemes will be unregistered when the
205 * SSL plugin is uninit. 205 * SSL plugin is uninit.
206 */ 206 */
207 purple_certificate_uninit(); 207 purple_certificate_uninit();
208 208
209 /* The SSL plugins must be uninit before they're unloaded */
210 purple_ssl_uninit();
211
212 /* Unload all plugins before the UI because UI plugins might call
213 * UI-specific functions */
214 purple_debug_info("main", "Unloading all plugins\n");
215 purple_plugins_destroy_all();
216
217 /* Shut down the UI before all the subsystems */
218 ops = purple_core_get_ui_ops();
219 if (ops != NULL && ops->quit != NULL)
220 ops->quit();
221
222 /* Save .xml files, remove signals, etc. */ 209 /* Save .xml files, remove signals, etc. */
223 purple_smileys_uninit(); 210 purple_smileys_uninit();
224 purple_idle_uninit(); 211 purple_idle_uninit();
225 purple_pounces_uninit(); 212 purple_pounces_uninit();
226 purple_blist_uninit(); 213 purple_blist_uninit();
237 purple_proxy_uninit(); 224 purple_proxy_uninit();
238 purple_dnsquery_uninit(); 225 purple_dnsquery_uninit();
239 purple_imgstore_uninit(); 226 purple_imgstore_uninit();
240 purple_network_uninit(); 227 purple_network_uninit();
241 228
229 /* The SSL plugins must be uninit before they're unloaded */
230 purple_ssl_uninit();
231
232 purple_debug_info("main", "Unloading all plugins\n");
233 purple_plugins_destroy_all();
234
235 ops = purple_core_get_ui_ops();
236 if (ops != NULL && ops->quit != NULL)
237 ops->quit();
238
242 /* Everything after this must not try to read any prefs */ 239 /* Everything after this must not try to read any prefs */
243 purple_prefs_uninit(); 240 purple_prefs_uninit();
244 purple_plugins_uninit(); 241 purple_plugins_uninit();
245 #ifdef HAVE_DBUS 242 #ifdef HAVE_DBUS
246 purple_dbus_uninit(); 243 purple_dbus_uninit();