changeset 27545:5c17c400153d

merge of '0800f09f6994e5ae06fed4644a78d33ab4346866' and '3e47f0f65ae33e37ab711ec7b2fd8aeeae1efcd7'
author Paul Aurich <paul@darkrain42.org>
date Wed, 15 Jul 2009 04:27:22 +0000
parents 205267108d6e (diff) a756b4ed306e (current diff)
children 70dcaa0b6fea 606a0e577b34 0d32c4c08deb
files
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/disco.c	Wed Jul 15 03:19:12 2009 +0000
+++ b/libpurple/protocols/jabber/disco.c	Wed Jul 15 04:27:22 2009 +0000
@@ -297,7 +297,8 @@
 		if(jbr)
 			jbr->capabilities = capabilities;
 
-		jdicd->callback(js, from, capabilities, jdicd->data);
+		if (jdicd && jdicd->callback)
+			jdicd->callback(js, from, capabilities, jdicd->data);
 	} else { /* type == JABBER_IQ_ERROR or query == NULL */
 		JabberID *jid;
 		JabberBuddy *jb;
@@ -313,8 +314,11 @@
 		if(jbr)
 			capabilities = jbr->capabilities;
 
-		jdicd->callback(js, from, capabilities, jdicd->data);
+		if (jdicd && jdicd->callback)
+			jdicd->callback(js, from, capabilities, jdicd->data);
 	}
+
+	g_free(jdicd);
 }
 
 void jabber_disco_items_parse(JabberStream *js, const char *from,
@@ -515,6 +519,7 @@
 
 		iq = jabber_iq_new_query(js, JABBER_IQ_GET, "http://jabber.org/protocol/disco#info");
 		xmlnode_set_attrib(iq->node, "to", jid);
+		jabber_iq_set_callback(iq, jabber_disco_info_cb, NULL);
 		jabber_iq_send(iq);
 	}
 }