diff libpurple/core.c @ 23535:fae54e746bde

Initialize the commands subsystem before the plugins. This is necessary because plugins can add commands, and if the commands subsystem isn't initialized by then, it throws a runtime error, causing a crash with G_DEBUG=fatal_warnings (and from make check too, it seems). Thanks to Richard for finding the bug.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sun, 13 Jul 2008 15:51:38 +0000
parents b5f679e95666
children a29ae9a5c311 2ecd716746e6
line wrap: on
line diff
--- a/libpurple/core.c	Sun Jul 13 10:09:19 2008 +0000
+++ b/libpurple/core.c	Sun Jul 13 15:51:38 2008 +0000
@@ -131,6 +131,7 @@
 #endif
 
 	purple_ciphers_init();
+	purple_cmds_init();
 
 	/* Since plugins get probed so early we should probably initialize their
 	 * subsystem right away too.
@@ -170,7 +171,6 @@
 	purple_xfers_init();
 	purple_idle_init();
 	purple_smileys_init();
-	purple_cmds_init();
 
 	/*
 	 * Call this early on to try to auto-detect our IP address and
@@ -199,7 +199,6 @@
 	purple_connections_disconnect_all();
 
 	/* Save .xml files, remove signals, etc. */
-	purple_cmds_uninit();
 	purple_smileys_uninit();
 	purple_idle_uninit();
 	purple_ssl_uninit();
@@ -233,6 +232,7 @@
 	purple_dbus_uninit();
 #endif
 
+	purple_cmds_uninit();
 	purple_util_uninit();
 
 	purple_signals_uninit();