# HG changeset patch # User Marcus Lundblad # Date 1240003751 0 # Node ID cb6dd7ee9df32006e0c212a16796c9162a10c566 # Parent 50068730b52d8f9441b2e94026f1f1dcf2f10504 Only pre-create a PurpleConversation (if there was none yet) if an incoming message contains custom smileys. Partly fixes the "popup a conversation window when set to hide" bug. Until I found a better way to fix entirely... Refs #7380 diff -r 50068730b52d -r cb6dd7ee9df3 libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Sun Apr 05 22:20:12 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Fri Apr 17 21:29:11 2009 +0000 @@ -626,24 +626,27 @@ purple_debug_info("jabber", "found %d smileys\n", g_list_length(smiley_refs)); - if (jm->type == JABBER_MESSAGE_GROUPCHAT) { - JabberID *jid = jabber_id_new(jm->from); - JabberChat *chat = NULL; + if (smiley_refs) { + if (jm->type == JABBER_MESSAGE_GROUPCHAT) { + JabberID *jid = jabber_id_new(jm->from); + JabberChat *chat = NULL; - if (jid) { - chat = jabber_chat_find(js, jid->node, jid->domain); - if (chat) conv = chat->conv; - } + if (jid) { + chat = jabber_chat_find(js, jid->node, jid->domain); + if (chat) conv = chat->conv; + } - jabber_id_free(jid); - } else { - conv = - purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, - who, account); - if (!conv) { - /* we need to create the conversation here */ - conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, - account, who); + jabber_id_free(jid); + } else { + conv = + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, + who, account); + if (!conv) { + /* we need to create the conversation here */ + conv = + purple_conversation_new(PURPLE_CONV_TYPE_IM, + account, who); + } } } @@ -675,7 +678,7 @@ TRUE)) { const JabberData *data = jabber_data_find_remote_by_cid(cid); - /* if data is already known, we add write it immediatly */ + /* if data is already known, we write it immediatly */ if (data) { purple_debug_info("jabber", "data is already known\n");