Mercurial > pidgin
changeset 10992:2bda44d66641
[gaim-migrate @ 12830]
Try to get the prpl tooltip_text even if the buddy is logged off. This doesn't appear to cause any problems with the existing prpls, but I didn't exactly go over them with a fine tooth comb ... if you know what I mean.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 09 Jun 2005 04:42:27 +0000 |
parents | 1798ad0be460 |
children | b6ca6d3c5332 |
files | src/gtkblist.c src/protocols/yahoo/yahoo.c |
diffstat | 2 files changed, 12 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gtkblist.c Thu Jun 09 04:38:10 2005 +0000 +++ b/src/gtkblist.c Thu Jun 09 04:42:27 2005 +0000 @@ -2760,7 +2760,7 @@ /* Logged In */ signon = gaim_presence_get_login_time(presence); - if (signon > 0) + if (GAIM_BUDDY_IS_ONLINE(b) && signon > 0) { tmp = gaim_str_seconds_to_string(time(NULL) - signon); g_string_append_printf(str, _("\n<b>Logged In:</b> %s"), tmp); @@ -2806,7 +2806,8 @@ if (!GAIM_BUDDY_IS_ONLINE(b)) { g_string_append_printf(str, _("\n<b>Status:</b> Offline")); } - else if (prpl_info && prpl_info->tooltip_text) + + if (prpl_info && prpl_info->tooltip_text) { /* Additional text from the PRPL */ const char *end;
--- a/src/protocols/yahoo/yahoo.c Thu Jun 09 04:38:10 2005 +0000 +++ b/src/protocols/yahoo/yahoo.c Thu Jun 09 04:42:27 2005 +0000 @@ -2662,7 +2662,7 @@ char *yahoo_tooltip_text(GaimBuddy *b) { YahooFriend *f; - char *escaped, *status, *stealth = NULL; + char *escaped, *status = NULL, *stealth = NULL; GString *s = g_string_new(""); f = yahoo_friend_find(b->account->gc, b->name); @@ -2681,6 +2681,8 @@ return NULL; status = g_strdup(yahoo_friend_get_status_message(f)); break; + case YAHOO_STATUS_OFFLINE: + break; default: status = g_strdup(yahoo_get_status_string(f->status)); break; @@ -2700,10 +2702,12 @@ } } - escaped = g_markup_escape_text(status, strlen(status)); - g_string_append_printf(s, _("\n<b>%s:</b> %s"), _("Status"), escaped); - g_free(status); - g_free(escaped); + if (status != NULL) { + escaped = g_markup_escape_text(status, strlen(status)); + g_string_append_printf(s, _("\n<b>%s:</b> %s"), _("Status"), escaped); + g_free(status); + g_free(escaped); + } if (stealth != NULL) g_string_append_printf(s, _("\n<b>%s:</b> %s"),