Mercurial > pidgin
changeset 21781:6a287408bc54
Make sure we are still in the chat, and the chat can have a topic, when showing the topic in the tooltip.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 05 Dec 2007 01:32:07 +0000 |
parents | 350c93aa44d3 |
children | bacb8c59230a |
files | pidgin/gtkblist.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/gtkblist.c Wed Dec 05 00:42:26 2007 +0000 +++ b/pidgin/gtkblist.c Wed Dec 05 01:32:07 2007 +0000 @@ -3183,7 +3183,9 @@ g_free(tmp); } - if (bnode && bnode->conv.conv) { + if (bnode && bnode->conv.conv && + prpl_info && (prpl_info->options & OPT_PROTO_CHAT_TOPIC) && + !purple_conv_chat_has_left(PURPLE_CONV_CHAT(bnode->conv.conv))) { const char *topic = purple_conv_chat_get_topic(PURPLE_CONV_CHAT(bnode->conv.conv)); g_string_append_printf(str, _("\n<b>Topic:</b> %s"), topic ? topic : _("(no topic set)")); } @@ -3257,7 +3259,7 @@ /* Alias */ /* If there's not a contact alias, the node is being displayed with * this alias, so there's no point in showing it in the tooltip. */ - if (full && b->alias != NULL && b->alias[0] != '\0' && + if (full && c && b->alias != NULL && b->alias[0] != '\0' && (c->alias != NULL && c->alias[0] != '\0') && strcmp(c->alias, b->alias) != 0) { @@ -3308,13 +3310,13 @@ } /* Last Seen */ - if (full && !PURPLE_BUDDY_IS_ONLINE(b)) + if (full && c && !PURPLE_BUDDY_IS_ONLINE(b)) { struct _pidgin_blist_node *gtknode = ((PurpleBlistNode *)c)->ui_data; PurpleBlistNode *bnode; int lastseen = 0; - if (!gtknode->contact_expanded || PURPLE_BLIST_NODE_IS_CONTACT(node)) + if (gtknode && (!gtknode->contact_expanded || PURPLE_BLIST_NODE_IS_CONTACT(node))) { /* We're either looking at a buddy for a collapsed contact or * an expanded contact itself so we show the most recent