--- a/pidgin/pidginaccountsmenu.c Sun Dec 12 05:08:39 2021 -0600 +++ b/pidgin/pidginaccountsmenu.c Tue Dec 14 01:14:27 2021 -0600 @@ -133,21 +133,25 @@ } static void -pidgin_accounts_menu_add_current(PidginAccountsMenu *menu) { - GList *accounts = NULL, *l = NULL; - - accounts = purple_accounts_get_all(); - for(l = accounts; l != NULL; l = l->next) { - PurpleAccount *account = PURPLE_ACCOUNT(l->data); +pidgin_accounts_menu_foreach_cb(PurpleAccount *account, gpointer data) { + PidginAccountsMenu *menu = PIDGIN_ACCOUNTS_MENU(data); - if(purple_account_get_enabled(account, PIDGIN_UI)) { - pidgin_accounts_menu_add_enabled_account(menu, account); - } else { - pidgin_accounts_menu_add_disabled_account(menu, account); - } + if(purple_account_get_enabled(account, PIDGIN_UI)) { + pidgin_accounts_menu_add_enabled_account(menu, account); + } else { + pidgin_accounts_menu_add_disabled_account(menu, account); } } +static void +pidgin_accounts_menu_add_current(PidginAccountsMenu *menu) { + PurpleAccountManager *manager = NULL; + + manager = purple_account_manager_get_default(); + purple_account_manager_foreach(manager, pidgin_accounts_menu_foreach_cb, + menu); +} + /****************************************************************************** * Purple Signal Callbacks *****************************************************************************/