comparison 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
comparison
equal deleted inserted replaced
26539:4f2f5659aa0d 26540:384eaba9974e
2785 } 2785 }
2786 2786
2787 void 2787 void
2788 purple_accounts_uninit(void) 2788 purple_accounts_uninit(void)
2789 { 2789 {
2790 GList* account;
2791 gpointer handle = purple_accounts_get_handle(); 2790 gpointer handle = purple_accounts_get_handle();
2792 if (save_timer != 0) 2791 if (save_timer != 0)
2793 { 2792 {
2794 purple_timeout_remove(save_timer); 2793 purple_timeout_remove(save_timer);
2795 save_timer = 0; 2794 save_timer = 0;
2797 } 2796 }
2798 2797
2799 purple_signals_disconnect_by_handle(handle); 2798 purple_signals_disconnect_by_handle(handle);
2800 purple_signals_unregister_by_instance(handle); 2799 purple_signals_unregister_by_instance(handle);
2801 2800
2802 account = purple_accounts_get_all(); 2801 for (; accounts; accounts = g_list_delete_link(accounts, accounts))
2803 while (account) { 2802 purple_account_destroy(accounts->data);
2804 purple_account_destroy(account->data); 2803 }
2805 account = g_list_delete_link(account, account);
2806 }
2807 }