Mercurial > pidgin.yaz
changeset 19444:a1cf5440d945
Set the custom status message for yahoo buddies correctly at login time. Fixes #2754.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sun, 26 Aug 2007 06:55:21 +0000 |
parents | 0104035fd510 |
children | c040dac83934 |
files | libpurple/protocols/yahoo/yahoo.c |
diffstat | 1 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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); } - + }