# HG changeset patch # User Nick Hebner # Date 1239298725 0 # Node ID dc05a7128d888921ae9746f7f2bd519e8fc14358 # Parent 6b0c6a370cda24096dab3907c9adeb8497753add Various libpurple uninit memory cleanups. Thanks to Nick Hebner References #8683 committer: Ethan Blanton diff -r 6b0c6a370cda -r dc05a7128d88 libpurple/account.c --- a/libpurple/account.c Thu Apr 09 17:36:34 2009 +0000 +++ b/libpurple/account.c Thu Apr 09 17:38:45 2009 +0000 @@ -2787,6 +2787,7 @@ void purple_accounts_uninit(void) { + GList* account; gpointer handle = purple_accounts_get_handle(); if (save_timer != 0) { @@ -2797,4 +2798,10 @@ 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); + } } diff -r 6b0c6a370cda -r dc05a7128d88 libpurple/buddyicon.c --- a/libpurple/buddyicon.c Thu Apr 09 17:36:34 2009 +0000 +++ b/libpurple/buddyicon.c Thu Apr 09 17:38:45 2009 +0000 @@ -1299,6 +1299,7 @@ g_hash_table_destroy(icon_file_cache); g_hash_table_destroy(pointer_icon_cache); g_free(old_icons_dir); + g_free(cache_dir); } void purple_buddy_icon_get_scale_size(PurpleBuddyIconSpec *spec, int *width, int *height) diff -r 6b0c6a370cda -r dc05a7128d88 libpurple/plugin.c --- a/libpurple/plugin.c Thu Apr 09 17:36:34 2009 +0000 +++ b/libpurple/plugin.c Thu Apr 09 17:38:45 2009 +0000 @@ -1201,6 +1201,11 @@ purple_signals_disconnect_by_handle(handle); purple_signals_unregister_by_instance(handle); + + while (search_paths) { + g_free(search_paths->data); + search_paths = g_list_delete_link(search_paths, search_paths); + } } /**************************************************************************