# HG changeset patch # User Paul Aurich # Date 1238966295 0 # Node ID 061df5754d20722f89a671d49e95feb8e5b0f419 # Parent bc7fac8e2f79b06f7f4b592b422dfe9367df1639 Fix up the propagate diff -r bc7fac8e2f79 -r 061df5754d20 libpurple/protocols/jabber/buddy.c --- a/libpurple/protocols/jabber/buddy.c Sun Apr 05 21:13:10 2009 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sun Apr 05 21:18:15 2009 +0000 @@ -1847,7 +1847,7 @@ } if (jbr->tz_off == PURPLE_NO_TZ_OFF && - (!jbr->caps || + (!jbr->caps.info || jabber_resource_has_capability(jbr, "urn:xmpp:time"))) { xmlnode *child; iq = jabber_iq_new(js, JABBER_IQ_GET); diff -r bc7fac8e2f79 -r 061df5754d20 libpurple/protocols/jabber/caps.c --- a/libpurple/protocols/jabber/caps.c Sun Apr 05 21:13:10 2009 +0000 +++ b/libpurple/protocols/jabber/caps.c Sun Apr 05 21:18:15 2009 +0000 @@ -417,16 +417,16 @@ } static void -jabber_caps_client_iqcb(JabberStream *js, xmlnode *packet, gpointer data) +jabber_caps_client_iqcb(JabberStream *js, const char *from, JabberIqType type, + const char *id, xmlnode *packet, gpointer data) { xmlnode *query = xmlnode_get_child_with_namespace(packet, "query", "http://jabber.org/protocol/disco#info"); jabber_caps_cbplususerdata *userdata = data; JabberCapsClientInfo *info = NULL, *value; - const char *type = xmlnode_get_attrib(packet, "type"); JabberCapsKey key; - if (!query || !strcmp(type, "error")) { + if (!query || type == JABBER_IQ_ERROR) { /* Any outstanding exts will be dealt with via ref-counting */ userdata->cb(NULL, NULL, userdata->cb_data); cbplususerdata_unref(userdata); @@ -501,17 +501,17 @@ } ext_iq_data; static void -jabber_caps_ext_iqcb(JabberStream *js, xmlnode *packet, gpointer data) +jabber_caps_ext_iqcb(JabberStream *js, const char *from, JabberIqType type, + const char *id, xmlnode *packet, gpointer data) { xmlnode *query = xmlnode_get_child_with_namespace(packet, "query", "http://jabber.org/protocol/disco#info"); xmlnode *child; ext_iq_data *userdata = data; - const char *type = xmlnode_get_attrib(packet, "type"); GList *features = NULL; JabberCapsNodeExts *node_exts; - if (!query || !strcmp(type, "error")) { + if (!query || type == JABBER_IQ_ERROR) { cbplususerdata_unref(userdata->data); g_free(userdata); return;