Mercurial > pidgin.yaz
diff finch/gntblist.c @ 18071:bb9cd8dfc61c
present existing conversation window if one exists
author | Richard Nelson <wabz@pidgin.im> |
---|---|
date | Fri, 08 Jun 2007 12:43:57 +0000 |
parents | 08776fc5c06f |
children | b8572b937c09 |
line wrap: on
line diff
--- a/finch/gntblist.c Fri Jun 08 12:41:30 2007 +0000 +++ b/finch/gntblist.c Fri Jun 08 12:43:57 2007 +0000 @@ -640,9 +640,18 @@ if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { PurpleBuddy *buddy = (PurpleBuddy *)node; - PurpleConversation *conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, - purple_buddy_get_account(buddy), - purple_buddy_get_name(buddy)); + PurpleConversation *conv; + conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, + purple_buddy_get_name(buddy), + purple_buddy_get_account(buddy)); + if (!conv) { + conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, + purple_buddy_get_account(buddy), + purple_buddy_get_name(buddy)); + } else { + FinchConv *ggconv = conv->ui_data; + gnt_window_present(ggconv->window); + } finch_conversation_set_active(conv); } else if (PURPLE_BLIST_NODE_IS_CHAT(node))