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 */