changeset 10553:7d165e1eec4d

[gaim-migrate @ 11930] fix it in HEAD too committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Fri, 28 Jan 2005 23:53:26 +0000
parents 895ab663c87c
children 0ad82505bde8
files src/protocols/yahoo/yahoo.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/yahoo/yahoo.c	Fri Jan 28 18:44:16 2005 +0000
+++ b/src/protocols/yahoo/yahoo.c	Fri Jan 28 23:53:26 2005 +0000
@@ -174,6 +174,8 @@
 		case 8: /* how many online buddies we have */
 			break;
 		case 7: /* the current buddy */
+			if (name && f) /* update the previous buddy before changing the variables */
+				yahoo_update_status(gc, name, f);
 			name = pair->value;
 			if (name && g_utf8_validate(name, -1, NULL))
 				f = yahoo_friend_find_or_new(gc, name);
@@ -251,9 +253,6 @@
 				gaim_prpl_got_user_status(account, name, "offline", NULL);
 				break;
 			}
-
-			if (f)
-				yahoo_update_status(gc, name, f);
 			break;
 		case 60: /* SMS */
 			if (f) {
@@ -320,6 +319,9 @@
 
 		l = l->next;
 	}
+
+	if (name && f) /* update the last buddy */
+		yahoo_update_status(gc, name, f);
 }
 
 static void yahoo_do_group_check(GaimAccount *account, GHashTable *ht, const char *name, const char *group)