changeset 5327:b716ffc25d2d

[gaim-migrate @ 5700] Fixed a bug when dragging a user to a new group. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Wed, 07 May 2003 15:42:53 +0000
parents 9737d5ce9dcd
children e938119382cf
files src/protocols/msn/msn.c src/protocols/msn/notification.c src/protocols/msn/session.h
diffstat 3 files changed, 18 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/msn/msn.c	Wed May 07 08:42:47 2003 +0000
+++ b/src/protocols/msn/msn.c	Wed May 07 15:42:53 2003 +0000
@@ -771,7 +771,7 @@
 
 		/* I hate this. So much. */
 		session->moving_buddy = TRUE;
-		session->dest_group_id = *new_group_id;
+		session->dest_group_name = g_strdup(new_group);
 	}
 	else {
 		g_snprintf(outparams, sizeof(outparams), "FL %s %s %d",
--- a/src/protocols/msn/notification.c	Wed May 07 08:42:47 2003 +0000
+++ b/src/protocols/msn/notification.c	Wed May 07 15:42:53 2003 +0000
@@ -749,12 +749,24 @@
 		struct gaim_connection *gc = session->account->gc;
 		const char *passport = params[3];
 		char outparams[MSN_BUF_LEN];
+		int *group_id;
+
+		group_id = g_hash_table_lookup(session->group_ids,
+									   session->dest_group_name);
+
+		g_free(session->dest_group_name);
+		session->dest_group_name = NULL;
+		session->moving_buddy = FALSE;
+
+		if (group_id == NULL) {
+			gaim_debug(GAIM_DEBUG_ERROR, "msn",
+					   "Still don't have a group ID for %s while moving %s!\n",
+					   session->dest_group_name, passport);
+			return TRUE;
+		}
 
 		g_snprintf(outparams, sizeof(outparams), "FL %s %s %d",
-				   passport, passport, session->dest_group_id);
-
-		session->moving_buddy = FALSE;
-		session->dest_group_id = 0;
+				   passport, passport, *group_id);
 
 		if (!msn_servconn_send_command(session->notification_conn,
 									   "ADD", outparams)) {
--- a/src/protocols/msn/session.h	Wed May 07 08:42:47 2003 +0000
+++ b/src/protocols/msn/session.h	Wed May 07 15:42:53 2003 +0000
@@ -72,7 +72,7 @@
 
 	/* For moving buddies from one group to another. Ugh. */
 	gboolean moving_buddy;
-	gint dest_group_id;
+	char *dest_group_name;
 };
 
 /**