Mercurial > pidgin.yaz
changeset 25885:c56debe9ae4f
*** Plucked rev fade006b (malu@pidgin.im):
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
*** Plucked rev 120a0724 (darkrain42@pidgin.im):
Only look for and add custom smileys to incoming messages that are going to
end up being displayed in a conversation window (i.e. not headline messages).
Closes #7516.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 02 May 2009 23:30:49 +0000 |
parents | b9a90f34b780 |
children | de4393eba497 |
files | ChangeLog libpurple/protocols/jabber/message.c |
diffstat | 2 files changed, 28 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sat May 02 21:11:02 2009 +0000 +++ b/ChangeLog Sat May 02 23:30:49 2009 +0000 @@ -20,6 +20,10 @@ * Fix some errors about the friendly name changing too fast caused by MSN/Yahoo integration buddies. + XMPP: + * Less likely to pop up a new conversation window in disregard of + the "Hide new IM conversations" preference. + Yahoo: * Fix a crash when sending very long messages. @@ -692,13 +696,13 @@ version 2.2.0 (09/13/2007): http://developer.pidgin.im/query?status=closed&milestone=2.2.0 - Libpurple: + libpurple: * New protocol plugin: MySpaceIM (Jeff Connelly, Google Summer of Code) * XMPP enhancements. See - http://www.adiumx.com/blog/2007/07/soc-xmpp-update.php (Andreas + http://www.adiumx.com/blog/2007/07/soc-xmpp-update.php (Andreas Monitzer, Google Summer of Code for Adium) - * Certificate management. Libpurple will validate certificates on + * Certificate management. libpurple will validate certificates on SSL-encrypted protocols (William Ehlhardt, Google Summer of Code) * Some adjustments were made to fix sending messages when using the MSN HTTP method. (Laszlo Pandy)
--- a/libpurple/protocols/jabber/message.c Sat May 02 21:11:02 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Sat May 02 23:30:49 2009 +0000 @@ -633,24 +633,28 @@ 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 if (jm->type == JABBER_MESSAGE_NORMAL || + jm->type == JABBER_MESSAGE_CHAT) { + 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); + } } } @@ -682,7 +686,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");