# HG changeset patch # User Evan Schoenberg # Date 1230424779 0 # Node ID 689cfb82242e4c995a969121a7a4b9806446e95a # Parent 9a371554f686037382536485cbdd428accd9f8ef Use purple_prpl_got_attention() for XMPP notifications diff -r 9a371554f686 -r 689cfb82242e libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Sat Dec 27 10:04:33 2008 +0000 +++ b/libpurple/protocols/jabber/message.c Sun Dec 28 00:39:39 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); }