changeset 27543:205267108d6e

merge of '27b0c8383de99fccc9cd6f312ac355f9e4a4d267' and 'd5aa8b561c618705b25a69e3c0aaea812f4abee6'
author Paul Aurich <paul@darkrain42.org>
date Tue, 14 Jul 2009 22:47:52 +0000
parents e574d1858b5a (current diff) d953b613a794 (diff)
children 5c17c400153d bd9df4e45904
files
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/disco.c	Tue Jul 14 21:25:10 2009 +0000
+++ b/libpurple/protocols/jabber/disco.c	Tue Jul 14 22:47:52 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);
 	}
 }