pidgin/pidginaccountsmenu.c

changeset 41209
909561f42b1f
parent 41030
ec8b76f3bf0a
child 41392
b5c84f55d5d2
--- 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
  *****************************************************************************/

mercurial