Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/message.c @ 25190:302f13678ea3
propagate from branch 'im.pidgin.pidgin' (head f94ddf7fa975e3a39a53fccae31b7e73f892fd57)
to branch 'im.pidgin.cpw.malu.xmpp.attention' (head a0f89b9cc3f1120c218f9b703ac18a8b8eec3557)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sun, 28 Dec 2008 09:51:19 +0000 |
parents | 9b1aea1c8df2 689cfb82242e |
children | a50545e37a7a |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/message.c Tue Dec 23 20:14:13 2008 +0000 +++ b/libpurple/protocols/jabber/message.c Sun Dec 28 09:51:19 2008 +0000 @@ -291,27 +291,28 @@ PurpleAccount *account; PurpleConversation *c; char *username, *str; - + /* Delayed buzz MUST NOT be accepted */ if(jm->delayed) return; - + /* Reject buzz when it's not enabled */ if(!jm->js->allowBuzz) return; - + account = purple_connection_get_account(jm->js->gc); - - if ((buddy = purple_find_buddy(account, jm->from)) != NULL) - username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1); - else + + if ((buddy = purple_find_buddy(account, jm->from)) == NULL) return; /* Do not accept buzzes from unknown people */ - c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from); + c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, jm->from, account); + if (c == NULL) + c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from); - str = g_strdup_printf(_("%s has buzzed you!"), username); - - purple_conversation_write(c, NULL, str, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL)); + username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1); + /* xmpp only has 1 attention type, so index is 0 */ + purple_prpl_got_attention(jm->js->gc, username, 0); + g_free(username); g_free(str); }