# HG changeset patch # User Daniel Atallah # Date 1195178399 0 # Node ID 9dbf38f270daaaf30e86ca4c22d8eb49be59165e # Parent fd101c75472f2b10bd738597e1142fc43bf409b3 Fix #3421 by checking for an existing conversation in which to display a yahoo buzz. diff -r fd101c75472f -r 9dbf38f270da libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Fri Nov 16 01:39:53 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Fri Nov 16 01:59:59 2007 +0000 @@ -902,12 +902,12 @@ PurpleBuddy *buddy; PurpleAccount *account; PurpleConversation *c; - char *username, *str; - - str = NULL; + char *username; account = purple_connection_get_account(gc); - c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, im->from); + c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, im->from, account); + if (c == NULL) + c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, im->from); if ((buddy = purple_find_buddy(account, im->from)) != NULL) username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1); @@ -917,7 +917,6 @@ serv_got_attention(gc, username, YAHOO_BUZZ); g_free(username); - g_free(str); g_free(m); g_free(im); continue; @@ -2097,7 +2096,7 @@ if (pair->key == 66) err = strtol(pair->value, NULL, 10); - if (pair->key == 20) + else if (pair->key == 20) url = pair->value; l = l->next;