finch/gntstatus.c

changeset 41851
64d7e69bff25
parent 41840
fe350460fb1c
child 41980
4809f699d6c9
--- a/finch/gntstatus.c	Fri Oct 28 03:42:47 2022 -0500
+++ b/finch/gntstatus.c	Fri Oct 28 03:44:19 2022 -0500
@@ -491,12 +491,12 @@
 
 void finch_savedstatus_edit(PurpleSavedStatus *saved)
 {
-	PurpleAccountManager *manager = NULL;
+	GListModel *manager_model = NULL;
 	EditStatus *edit;
 	GntWidget *window, *box, *button, *entry, *combo, *label, *tree;
 	PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY,
 		PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET}, current;
-	GList *iter;
+	guint n_items = 0;
 	int i;
 
 	if (saved)
@@ -567,10 +567,12 @@
 	gnt_tree_set_col_width(GNT_TREE(tree), 1, 10);
 	gnt_tree_set_col_width(GNT_TREE(tree), 2, 30);
 
-	manager = purple_account_manager_get_default();
-	iter = purple_account_manager_get_all(manager);
-	for(; iter; iter = iter->next) {
-		add_substatus(edit, iter->data);
+	manager_model = purple_account_manager_get_default_as_model();
+	n_items = g_list_model_get_n_items(manager_model);
+	for(guint index = 0; index < n_items; index++) {
+		PurpleAccount *account = g_list_model_get_item(manager_model, index);
+		add_substatus(edit, account);
+		g_object_unref(account);
 	}
 
 	g_signal_connect(G_OBJECT(tree), "key_pressed", G_CALLBACK(popup_substatus), edit);

mercurial