Mercurial > pidgin
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 } |