diff options
author | Paul Aurich <darkrain42@pidgin.im> | 2009-11-29 17:32:05 +0000 |
---|---|---|
committer | Paul Aurich <darkrain42@pidgin.im> | 2009-11-29 17:32:05 +0000 |
commit | f67de1e0572ff5f050d1e062015aa8d797f7571a (patch) | |
tree | 9fb75f36756122f4dd2f782883630449d2f8d0b4 | |
parent | 0c804fb18b3aaaab3af0d0a2204375cf29b15e50 (diff) | |
parent | a61c791b55119d5cf61f72dece0e0992de881e5d (diff) | |
download | pidgin-f67de1e0572ff5f050d1e062015aa8d797f7571a.tar.gz |
merge of '57ed606f526dd9eeda93b2c17c86870bee211ed0'
and '6923e9310b47ecb9fb1d6de466bb91cea6f9610a'
-rw-r--r-- | libpurple/protocols/jabber/parser.c | 9 | ||||
-rw-r--r-- | libpurple/protocols/jabber/presence.c | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libpurple/protocols/jabber/parser.c b/libpurple/protocols/jabber/parser.c index 9ab7a24176..510284631a 100644 --- a/libpurple/protocols/jabber/parser.c +++ b/libpurple/protocols/jabber/parser.c @@ -152,6 +152,15 @@ jabber_parser_structured_error_handler(void *user_data, xmlErrorPtr error) */ return; + if (error->level == XML_ERR_FATAL && error->message != NULL + && strcmp(error->message, "Extra content at the end of the document\n") == 0) + /* + * This is probably more annoying than the vcard-temp error; it occurs + * because we disconnect in most cases without waiting for the receiving + * </stream:stream> (limitations of libpurple) + */ + return; + purple_debug_error("jabber", "XML parser error for JabberStream %p: " "Domain %i, code %i, level %i: %s", js, diff --git a/libpurple/protocols/jabber/presence.c b/libpurple/protocols/jabber/presence.c index 9748013c11..c68ff91a22 100644 --- a/libpurple/protocols/jabber/presence.c +++ b/libpurple/protocols/jabber/presence.c @@ -957,7 +957,7 @@ void jabber_presence_parse(JabberStream *js, xmlnode *packet) buddy_name = g_strdup_printf("%s%s%s", jid->node ? jid->node : "", jid->node ? "@" : "", jid->domain); if((b = purple_find_buddy(js->gc->account, buddy_name)) == NULL) { - if(!jid->node || strcmp(jid->node,js->user->node) || strcmp(jid->domain,js->user->domain)) { + if (jb != js->user_jb) { purple_debug_warning("jabber", "Got presence for unknown buddy %s on account %s (%p)\n", buddy_name, purple_account_get_username(js->gc->account), js->gc->account); jabber_id_free(jid); |