IRCv3: use Purple.ConversationMembers.extend when joining channels

Tue, 25 Mar 2025 00:26:13 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 25 Mar 2025 00:26:13 -0500
changeset 43205
1400ae254c24
parent 43204
aaf1706aa25b
child 43206
58f66e90f24a

IRCv3: use Purple.ConversationMembers.extend when joining channels

Testing Done:
Haven't yet. I'm working remotely on my workstation and can't easily run pidgin on it from here.

Reviewed at https://reviews.imfreedom.org/r/3924/

protocols/ircv3/purpleircv3messagehandlers.c file | annotate | diff | comparison | revisions
--- a/protocols/ircv3/purpleircv3messagehandlers.c	Tue Mar 25 00:21:37 2025 -0500
+++ b/protocols/ircv3/purpleircv3messagehandlers.c	Tue Mar 25 00:26:13 2025 -0500
@@ -344,12 +344,14 @@
 		PurpleAccount *account = NULL;
 		PurpleConnection *purple_connection = NULL;
 		PurpleContactManager *manager = purple_contact_manager_get_default();
-		PurpleConversationMembers *members = NULL;
+		PurpleConversationMembers *existing_members = NULL;
+		PurpleConversationMembers *new_members = NULL;
 
 		purple_connection = PURPLE_CONNECTION(connection);
 		account = purple_connection_get_account(purple_connection);
 
-		members = purple_conversation_get_members(conversation);
+		existing_members = purple_conversation_get_members(conversation);
+		new_members = purple_conversation_members_new();
 
 		for(guint i = 0; i < g_strv_length(nicks); i++) {
 			PurpleContact *contact = NULL;
@@ -368,7 +370,7 @@
 				purple_contact_manager_add(manager, contact);
 			}
 
-			member = purple_conversation_members_add_member(members,
+			member = purple_conversation_members_add_member(new_members,
 			                                                PURPLE_CONTACT_INFO(contact),
 			                                                FALSE, NULL);
 
@@ -376,6 +378,8 @@
 
 			g_free(stripped);
 		}
+
+		purple_conversation_members_extend(existing_members, new_members);
 	}
 
 	g_strfreev(nicks);

mercurial