diff libpurple/protocols/msn/msn.c @ 24463:4fd22591e3f0

Send FQY as the first thing when adding a buddy so that we know what network they use. Should be helpful for adding federated buddies. References #6755.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 07 Dec 2008 07:09:57 +0000
parents 7a5f6ddd11b1
children 77873bca18bb
line wrap: on
line diff
--- a/libpurple/protocols/msn/msn.c	Sun Dec 07 07:04:23 2008 +0000
+++ b/libpurple/protocols/msn/msn.c	Sun Dec 07 07:09:57 2008 +0000
@@ -1457,7 +1457,15 @@
 	/* XXX - Would group ever be NULL here?  I don't think so...
 	 * shx: Yes it should; MSN handles non-grouped buddies, and this is only
 	 * internal. */
-	msn_userlist_add_buddy(userlist, who, group ? group->name : NULL);
+	if (msn_userlist_find_user(userlist, who) != NULL) {
+		/* We already know this buddy. This function takes care of users
+		   already in the list and stuff... */
+		msn_userlist_add_buddy(userlist, who, group ? group->name : NULL);
+	} else {
+		/* We need to check the network for this buddy first */
+		msn_userlist_save_pending_buddy(userlist, who, group ? group->name : NULL);
+		msn_notification_send_fqy(session, who);
+	}
 }
 
 static void