# HG changeset patch # User Nathan Walp # Date 1072585647 0 # Node ID a99f0aebc7cec0855da266d160057ad245899549 # Parent e8fc79fb648be0b483757bb84836a4cead9df71d [gaim-migrate @ 8615] assorted jabber tweaks committer: Tailor Script diff -r e8fc79fb648b -r a99f0aebc7ce ChangeLog --- a/ChangeLog Sun Dec 28 02:41:52 2003 +0000 +++ b/ChangeLog Sun Dec 28 04:27:27 2003 +0000 @@ -6,6 +6,7 @@ * Yahoo! chat joining fixes (Tim Ringenbach) * Improved i18n support for MSN email notification (Felipe Contreras) * Jabber SASL PLAIN support + * Improved Jabber MUC (Chat) support * Touch-up various dialogs to follow the Gnome Human Interface Guidelines more closely (Steven Garrity, Nathan Fredrickson, and Ka-Hing Cheung) diff -r e8fc79fb648b -r a99f0aebc7ce src/protocols/jabber/message.c --- a/src/protocols/jabber/message.c Sun Dec 28 02:41:52 2003 +0000 +++ b/src/protocols/jabber/message.c Sun Dec 28 04:27:27 2003 +0000 @@ -226,7 +226,8 @@ buf = g_strdup_printf(_("Message delivery to %s failed: %s"), jm->from, jm->error); - gaim_notify_error(jm->js->gc, _("Jabber Message Error"), buf, jm->body); + gaim_notify_formatted(jm->js->gc, _("Jabber Message Error"), _("Jabber Message Error"), buf, + jm->xhtml ? jm->xhtml : jm->body, NULL, NULL); g_free(buf); } diff -r e8fc79fb648b -r a99f0aebc7ce src/protocols/jabber/presence.c --- a/src/protocols/jabber/presence.c Sun Dec 28 02:41:52 2003 +0000 +++ b/src/protocols/jabber/presence.c Sun Dec 28 04:27:27 2003 +0000 @@ -140,6 +140,7 @@ { const char *from = xmlnode_get_attrib(packet, "from"); const char *type = xmlnode_get_attrib(packet, "type"); + const char *real_jid = NULL; char *status = NULL; int priority = 0; JabberID *jid; @@ -250,6 +251,9 @@ G_CALLBACK(jabber_chat_create_instant_room)); } } + if((z = xmlnode_get_child(y, "item"))) { + real_jid = xmlnode_get_attrib(z, "jid"); + } } } } @@ -309,12 +313,12 @@ jabber_chat_destroy(chat); } else { gaim_conv_chat_remove_user(GAIM_CONV_CHAT(chat->conv), jid->resource, - NULL); + real_jid); } } else { if(!jabber_chat_find_buddy(chat->conv, jid->resource)) gaim_conv_chat_add_user(GAIM_CONV_CHAT(chat->conv), jid->resource, - NULL); + real_jid); } g_free(room_jid); } else {