changeset 25927:86abaefccc92

Uninitialize the certificate API before unloading the SSL plugin. This prevents a crash at shutdown that I assume started happening when we re-arranged the uninit stuff. See the comment for more details. This change should probably be made in im.pidgin.pidgin.
author Mark Doliner <mark@kingant.net>
date Mon, 26 Jan 2009 10:38:33 +0000
parents 2d4f0dd04334
children 59fcc215cc27
files libpurple/core.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/core.c	Mon Jan 26 09:46:09 2009 +0000
+++ b/libpurple/core.c	Mon Jan 26 10:38:33 2009 +0000
@@ -205,6 +205,14 @@
 	/* Transmission ends */
 	purple_connections_disconnect_all();
 
+	/*
+	 * Certificates must be destroyed before the SSL plugins, because
+	 * PurpleCertificates contain pointers to PurpleCertificateSchemes,
+	 * and the PurpleCertificateSchemes will be unregistered when the
+	 * SSL plugin is uninit.
+	 */
+	purple_certificate_uninit();
+
 	/* The SSL plugins must be uninit before they're unloaded */
 	purple_ssl_uninit();
 
@@ -227,7 +235,6 @@
 	purple_notify_uninit();
 	purple_conversations_uninit();
 	purple_connections_uninit();
-	purple_certificate_uninit();
 	purple_buddy_icons_uninit();
 	purple_accounts_uninit();
 	purple_savedstatuses_uninit();