pidgin.next.minor: aa60091a: Uninitialize the certificate API before ...

markdoliner at pidgin.im markdoliner at pidgin.im
Mon Jan 26 05:40:26 EST 2009


-----------------------------------------------------------------
Revision: aa60091ae5c724a0c287dff08ae64eead7163d67
Ancestor: bab46e2dd9ebff11705234f606d600c9c78011bb
Author: markdoliner at pidgin.im
Date: 2009-01-26T10:38:33
Branch: im.pidgin.pidgin.next.minor
URL: http://d.pidgin.im/viewmtn/revision/info/aa60091ae5c724a0c287dff08ae64eead7163d67

Modified files:
        libpurple/core.c

ChangeLog: 

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.

-------------- next part --------------
============================================================
--- libpurple/core.c	9e7aa84c43306613445973cccc51766c31c92257
+++ libpurple/core.c	40b118e2362d5ee7307b5279e7e8a0b75dab2fc1
@@ -205,6 +205,14 @@ purple_core_quit(void)
 	/* 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_core_quit(void)
 	purple_notify_uninit();
 	purple_conversations_uninit();
 	purple_connections_uninit();
-	purple_certificate_uninit();
 	purple_buddy_icons_uninit();
 	purple_accounts_uninit();
 	purple_savedstatuses_uninit();


More information about the Commits mailing list