diff options
author | Mark Doliner <markdoliner@pidgin.im> | 2009-10-16 09:27:11 +0000 |
---|---|---|
committer | Mark Doliner <markdoliner@pidgin.im> | 2009-10-16 09:27:11 +0000 |
commit | f4c6c042dff24d861b1fc5bea1bced5d8da85aae (patch) | |
tree | 5dc7b7d699876366146ce8b0145f98b68781c7a3 | |
parent | eed0a7271f3a128e743fcbd2aa3e20826411866c (diff) | |
download | pidgin-release-2.6.3.tar.gz |
*** Plucked rev 71cb694c7b56ef35b47abdd013200f7127c36198 (markdoliner@pidgin.im):v2.6.3release-2.6.3
If an oscar buddy on our buddy list is away and we have not yet
fetched their HTML info, then fallback to using their plaintext
status message when fetching the buddies status text.
Fixes #9843
-rw-r--r-- | libpurple/protocols/oscar/oscar.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/libpurple/protocols/oscar/oscar.c b/libpurple/protocols/oscar/oscar.c index a80dc94946..96d60f30d8 100644 --- a/libpurple/protocols/oscar/oscar.c +++ b/libpurple/protocols/oscar/oscar.c @@ -829,19 +829,25 @@ static void oscar_user_info_append_status(PurpleConnection *gc, PurpleNotifyUser the "message" attribute of the status contains only the plaintext message. */ if (userinfo) { - if ((userinfo->flags & AIM_FLAG_AWAY)) { - /* Away message? */ - if ((userinfo->flags & AIM_FLAG_AWAY) && (userinfo->away_len > 0) && (userinfo->away != NULL) && (userinfo->away_encoding != NULL)) { - tmp = oscar_encoding_extract(userinfo->away_encoding); - message = oscar_encoding_to_utf8(account, tmp, userinfo->away, - userinfo->away_len); - g_free(tmp); - } + if ((userinfo->flags & AIM_FLAG_AWAY) + && userinfo->away_len > 0 + && userinfo->away != NULL + && userinfo->away_encoding != NULL) + { + /* Away message */ + tmp = oscar_encoding_extract(userinfo->away_encoding); + message = oscar_encoding_to_utf8(account, + tmp, userinfo->away, userinfo->away_len); + g_free(tmp); } else { - /* Available message? */ + /* + * Available message or non-HTML away message (because that's + * all we have right now. + */ if ((userinfo->status != NULL) && userinfo->status[0] != '\0') { - message = oscar_encoding_to_utf8(account, userinfo->status_encoding, - userinfo->status, userinfo->status_len); + message = oscar_encoding_to_utf8(account, + userinfo->status_encoding, userinfo->status, + userinfo->status_len); } #if defined (_WIN32) || defined (__APPLE__) if (userinfo->itmsurl && (userinfo->itmsurl[0] != '\0')) |