diff libpurple/protocols/myspace/myspace.c @ 25060:c02da09b567f

propagate from branch 'im.pidgin.pidgin' (head 0bfcaf78ec07efb71812fff2c8b738b4532aac7f) to branch 'im.pidgin.cpw.darkrain42.buddy-add' (head 3c268a16622f6e113ba4aece0ef6d6ef4dd00ba1)
author Paul Aurich <paul@darkrain42.org>
date Thu, 05 Feb 2009 00:59:42 +0000
parents 4278d13b5471 7bfaa0b61a83
children 9ea3474065dc
line wrap: on
line diff
--- a/libpurple/protocols/myspace/myspace.c	Wed Feb 04 22:46:45 2009 +0000
+++ b/libpurple/protocols/myspace/myspace.c	Thu Feb 05 00:59:42 2009 +0000
@@ -386,7 +386,7 @@
 
 	g_return_val_if_fail(buddy != NULL, NULL);
 
-	user = msim_get_user_from_buddy(buddy);
+	user = msim_get_user_from_buddy(buddy, TRUE);
 
 	session = (MsimSession *)buddy->account->gc->proto_data;
 	g_return_val_if_fail(MSIM_SESSION_VALID(session), NULL);
@@ -431,7 +431,7 @@
 	g_return_if_fail(buddy != NULL);
 	g_return_if_fail(user_info != NULL);
 
-	user = msim_get_user_from_buddy(buddy);
+	user = msim_get_user_from_buddy(buddy, TRUE);
 
 	if (PURPLE_BUDDY_IS_ONLINE(buddy)) {
 		MsimSession *session;
@@ -1046,7 +1046,7 @@
 	g_free(display_name);
 
 	/* 3. Update buddy information */
-	user = msim_get_user_from_buddy(buddy);
+	user = msim_get_user_from_buddy(buddy, TRUE);
 
 	user->id = uid;
 	/* Keep track of the user ID across sessions */
@@ -1370,7 +1370,7 @@
 		buddy = purple_buddy_new(session->account, username, NULL);
 		purple_blist_add_buddy(buddy, NULL, NULL, NULL);
 
-		user = msim_get_user_from_buddy(buddy);
+		user = msim_get_user_from_buddy(buddy, TRUE);
 		user->id = msim_msg_get_integer(msg, "f");
 
 		/* Keep track of the user ID across sessions */
@@ -2630,6 +2630,10 @@
 	MsimMessage *body;
 
 	session = (MsimSession *)gc->proto_data;
+
+	if (msim_get_user_from_buddy(buddy, FALSE) != NULL)
+		return;
+
 	purple_debug_info("msim", "msim_add_buddy: want to add %s to %s\n",
 			buddy->name, (group && group->name) ? group->name : "(no group)");