# HG changeset patch # User Richard Nelson # Date 1181306637 0 # Node ID bb9cd8dfc61cd89c93cb3fb130c1313cdf55f8dd # Parent 2b757aadddc91f2f08cf91efa78028e322e798e8 present existing conversation window if one exists diff -r 2b757aadddc9 -r bb9cd8dfc61c finch/gntblist.c --- 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))