Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/message.c @ 29697:40b523845a6e
propagate from branch 'im.pidgin.pidgin' (head 8c322571bfb4f2d00c9126e59746445f877be296)
to branch 'im.pidgin.cpw.attention_ui' (head f2b8ccc32a73cb137e1a4f3fd5fb55266df2feed)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Tue, 03 Nov 2009 18:27:22 +0000 |
parents | 0645dc6eeed1 168fcd171875 |
children | f85510c955e4 |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/message.c Tue Nov 03 07:46:01 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Tue Nov 03 18:27:22 2009 +0000 @@ -294,6 +294,8 @@ static void handle_buzz(JabberMessage *jm) { PurpleBuddy *buddy; PurpleAccount *account; + PurpleConversation *c; + char *username; /* Delayed buzz MUST NOT be accepted */ if(jm->delayed) @@ -308,8 +310,16 @@ if ((buddy = purple_find_buddy(account, jm->from)) == NULL) return; /* Do not accept buzzes from unknown people */ + 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); + + 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, jm->from, 0); + purple_conversation_attention(c, jm->from, 0, PURPLE_MESSAGE_RECV, time(NULL)); + + g_free(username); } /* used internally by the functions below */