libpurple/protocols/jabber/message.c

branch
cpw.attention_ui
changeset 27208
bbc2f4ab5ae2
parent 27110
05ca719b901b
parent 27207
b2c81a32c208
child 27210
33e05dec339b
--- a/libpurple/protocols/jabber/message.c	Wed May 13 20:29:03 2009 +0000
+++ b/libpurple/protocols/jabber/message.c	Wed May 13 20:38:38 2009 +0000
@@ -290,6 +290,8 @@
 static void handle_buzz(JabberMessage *jm) {
 	PurpleBuddy *buddy;
 	PurpleAccount *account;
+	PurpleConversation *c;
+	char *username;
 
 	/* Delayed buzz MUST NOT be accepted */
 	if(jm->delayed)
@@ -304,8 +306,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 */

mercurial