summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doliner <markdoliner@pidgin.im>2009-10-16 09:27:11 +0000
committerMark Doliner <markdoliner@pidgin.im>2009-10-16 09:27:11 +0000
commitf4c6c042dff24d861b1fc5bea1bced5d8da85aae (patch)
tree5dc7b7d699876366146ce8b0145f98b68781c7a3
parenteed0a7271f3a128e743fcbd2aa3e20826411866c (diff)
downloadpidgin-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.c28
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'))