diff libpurple/account.c @ 26540:384eaba9974e

Reset some global data when uninit-ing. Fixes a crash on quit.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 11 Apr 2009 06:01:36 +0000
parents dc05a7128d88
children 83e6e710cbf3
line wrap: on
line diff
--- a/libpurple/account.c	Sat Apr 11 06:00:50 2009 +0000
+++ b/libpurple/account.c	Sat Apr 11 06:01:36 2009 +0000
@@ -2787,7 +2787,6 @@
 void
 purple_accounts_uninit(void)
 {
-	GList* account;
 	gpointer handle = purple_accounts_get_handle();
 	if (save_timer != 0)
 	{
@@ -2799,9 +2798,6 @@
 	purple_signals_disconnect_by_handle(handle);
 	purple_signals_unregister_by_instance(handle);
 
-	account = purple_accounts_get_all();
-	while (account) {
-		purple_account_destroy(account->data);
-		account = g_list_delete_link(account, account);
-	}
+	for (; accounts; accounts = g_list_delete_link(accounts, accounts))
+		purple_account_destroy(accounts->data);
 }