# HG changeset patch # User Paul Aurich # Date 1259515925 0 # Node ID cfca0217d1624f2fdfc0f3775d377fef039ee9d1 # Parent 61cd675b73df44e0a3155c06c817d83fab3660e6# Parent 54db9b78be71aceeae1eda46eb6ca7f285e71b22 merge of '263b34adf7373694b48a494714d66824d6bb3443' and 'd6f80b7ba5ba2da4ae203eac6f07565721b10ad8' diff -r 54db9b78be71 -r cfca0217d162 libpurple/protocols/jabber/parser.c --- a/libpurple/protocols/jabber/parser.c Sun Nov 29 16:24:35 2009 +0000 +++ b/libpurple/protocols/jabber/parser.c Sun Nov 29 17:32:05 2009 +0000 @@ -152,6 +152,15 @@ */ 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 + * (limitations of libpurple) + */ + return; + purple_debug_error("jabber", "XML parser error for JabberStream %p: " "Domain %i, code %i, level %i: %s", js, diff -r 54db9b78be71 -r cfca0217d162 libpurple/protocols/jabber/presence.c --- a/libpurple/protocols/jabber/presence.c Sun Nov 29 16:24:35 2009 +0000 +++ b/libpurple/protocols/jabber/presence.c Sun Nov 29 17:32:05 2009 +0000 @@ -957,7 +957,7 @@ 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);