finch/gntaccount.c

changeset 41891
a45d6db4f857
parent 41851
64d7e69bff25
child 41903
27f355b8b497
--- a/finch/gntaccount.c	Fri Nov 04 23:55:30 2022 -0500
+++ b/finch/gntaccount.c	Fri Nov 04 23:58:18 2022 -0500
@@ -861,14 +861,6 @@
 	edit_account(account);
 }
 
-static gpointer
-finch_accounts_get_handle(void)
-{
-	static int handle;
-
-	return &handle;
-}
-
 static void
 account_added_callback(G_GNUC_UNUSED PurpleAccountManager *manager,
                        PurpleAccount *account, G_GNUC_UNUSED gpointer data)
@@ -890,12 +882,16 @@
 }
 
 static void
-account_abled_cb(PurpleAccount *account, gpointer user_data)
+account_abled_cb(G_GNUC_UNUSED PurpleAccountManager *manager,
+                 PurpleAccount *account,
+                 G_GNUC_UNUSED gpointer data)
 {
-	if (accounts.window == NULL)
+	if(accounts.window == NULL) {
 		return;
+	}
+
 	gnt_tree_set_choice(GNT_TREE(accounts.tree), account,
-			GPOINTER_TO_INT(user_data));
+	                    purple_account_get_enabled(account));
 }
 
 void
@@ -903,23 +899,17 @@
 {
 	PurpleAccountManager *manager = NULL;
 	GListModel *manager_model = NULL;
-	gpointer account_handle = NULL;
 	guint n_items = 0;
 
 	manager = purple_account_manager_get_default();
 	manager_model = G_LIST_MODEL(manager);
-	account_handle = purple_accounts_get_handle();
 
 	g_signal_connect(manager, "added", G_CALLBACK(account_added_callback),
 	                 NULL);
 	g_signal_connect(manager, "removed", G_CALLBACK(account_removed_callback),
 	                 NULL);
-	purple_signal_connect(account_handle, "account-disabled",
-			finch_accounts_get_handle(),
-			G_CALLBACK(account_abled_cb), GINT_TO_POINTER(FALSE));
-	purple_signal_connect(account_handle, "account-enabled",
-			finch_accounts_get_handle(),
-			G_CALLBACK(account_abled_cb), GINT_TO_POINTER(TRUE));
+	g_signal_connect(manager, "account-changed::enabled",
+	                 G_CALLBACK(account_abled_cb), NULL);
 
 	n_items = g_list_model_get_n_items(manager_model);
 	if(n_items != 0) {

mercurial