# HG changeset patch # User Daniel Atallah # Date 1188111321 0 # Node ID a1cf5440d945d1de301d197b94d0889324bdfbda # Parent 0104035fd51010c35ac30c6e3fd072c887796390 Set the custom status message for yahoo buddies correctly at login time. Fixes #2754. diff -r 0104035fd510 -r a1cf5440d945 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Sun Aug 26 01:35:10 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Sun Aug 26 06:55:21 2007 +0000 @@ -238,14 +238,18 @@ 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)) + /* update the previous buddy before changing the variables */ + if (f) { + if (message) + yahoo_friend_set_status_message(f, yahoo_string_decode(gc, message, unicode)); + if (name) + yahoo_update_status(gc, name, f); + } + name = message = NULL; + f = NULL; + if (pair->value && g_utf8_validate(pair->value, -1, NULL)) { + name = pair->value; f = yahoo_friend_find_or_new(gc, name); - else { - f = NULL; - name = NULL; } break; case 10: /* state */ @@ -779,7 +783,7 @@ purple_conversation_write(conv, NULL, buf, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL)); g_free(buf); } - + }