diff libpurple/account.c @ 27439:1ae69ca12971

Unregister the account signals after destroying accounts. This avoids the following assertion failure: ** (process:32101): CRITICAL **: purple_signal_emit_vargs: assertion `instance_data != NULL' failed
author Paul Aurich <paul@darkrain42.org>
date Sun, 05 Jul 2009 19:07:06 +0000
parents 4fd6b50d03b3
children c374d57b3215
line wrap: on
line diff
--- a/libpurple/account.c	Sun Jul 05 17:34:49 2009 +0000
+++ b/libpurple/account.c	Sun Jul 05 19:07:06 2009 +0000
@@ -2813,9 +2813,9 @@
 		sync_accounts();
 	}
 
+	for (; accounts; accounts = g_list_delete_link(accounts, accounts))
+		purple_account_destroy(accounts->data);
+
 	purple_signals_disconnect_by_handle(handle);
 	purple_signals_unregister_by_instance(handle);
-
-	for (; accounts; accounts = g_list_delete_link(accounts, accounts))
-		purple_account_destroy(accounts->data);
 }