# HG changeset patch # User Paul Aurich # Date 1247611672 0 # Node ID 205267108d6e8f67dfb0ed15051716a33ce09ea6 # Parent e574d1858b5ad9f3b9a2004235f02faba3a3473d# Parent d953b613a79428ab25f8e1e1a9cb78afbc2343d7 merge of '27b0c8383de99fccc9cd6f312ac355f9e4a4d267' and 'd5aa8b561c618705b25a69e3c0aaea812f4abee6' diff -r e574d1858b5a -r 205267108d6e libpurple/protocols/jabber/disco.c --- 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); } }