changeset 7944:a99f0aebc7ce

[gaim-migrate @ 8615] assorted jabber tweaks committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sun, 28 Dec 2003 04:27:27 +0000
parents e8fc79fb648b
children 0a0be07f066a
files ChangeLog src/protocols/jabber/message.c src/protocols/jabber/presence.c
diffstat 3 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- 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);
 }
--- 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 {