Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/message.c @ 27943:684690dbda4a
propagate from branch 'im.pidgin.pidgin' (head f92d95c83baba97463f923077688ba2eb144763b)
to branch 'im.pidgin.pidgin.yaz' (head ae2b51da61a998a69de04124f2696ce2a419a7b3)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Fri, 01 May 2009 20:44:30 +0000 |
parents | f3ccb5a36fd6 f67f24008334 |
children | e0bcdc2bad7d |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/message.c Fri Apr 24 07:43:08 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Fri May 01 20:44:30 2009 +0000 @@ -24,6 +24,7 @@ #include "notify.h" #include "server.h" #include "util.h" +#include "adhoccommands.h" #include "buddy.h" #include "chat.h" #include "data.h" @@ -597,8 +598,11 @@ /* The following tests expect xmlns != NULL */ continue; } else if(!strcmp(child->name, "subject") && !strcmp(xmlns,"jabber:client")) { - if(!jm->subject) + if(!jm->subject) { jm->subject = xmlnode_get_data(child); + if(!jm->subject) + jm->subject = g_strdup(""); + } } else if(!strcmp(child->name, "thread") && !strcmp(xmlns,"jabber:client")) { if(!jm->thread_id) jm->thread_id = xmlnode_get_data(child); @@ -641,7 +645,8 @@ } jabber_id_free(jid); - } else { + } else if (jm->type == JABBER_MESSAGE_NORMAL || + jm->type == JABBER_MESSAGE_CHAT) { conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, who, account); @@ -782,6 +787,12 @@ } else { jm->etc = g_list_append(jm->etc, child); } + } else if (g_str_equal(child->name, "query")) { + const char *node = xmlnode_get_attrib(child, "node"); + if (purple_strequal(xmlns, "http://jabber.org/protocol/disco#items") + && purple_strequal(node, "http://jabber.org/protocol/commands")) { + jabber_adhoc_got_list(js, jm->from, child); + } } } @@ -1221,29 +1232,11 @@ return 0; } -void jabber_message_conv_closed(JabberStream *js, const char *who) -{ - JabberMessage *jm; - if (!purple_prefs_get_bool("/purple/conversations/im/send_typing")) - return; - - jm = g_new0(JabberMessage, 1); - jm->js = js; - jm->type = JABBER_MESSAGE_CHAT; - jm->to = g_strdup(who); - jm->id = jabber_get_next_id(jm->js); - jm->typing_style = JM_TS_JEP_0085; - jm->chat_state = JM_STATE_GONE; - jabber_message_send(jm); - jabber_message_free(jm); -} - -gboolean jabber_buzz_isenabled(JabberStream *js, const gchar *shortname, const gchar *namespace) { +gboolean jabber_buzz_isenabled(JabberStream *js, const gchar *namespace) { return js->allowBuzz; } -gboolean jabber_custom_smileys_isenabled(JabberStream *js, const gchar *shortname, - const gchar *namespace) +gboolean jabber_custom_smileys_isenabled(JabberStream *js, const gchar *namespace) { const PurpleConnection *gc = js->gc; PurpleAccount *account = purple_connection_get_account(gc);