Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/buddy.c @ 25771:e1f363f8fd6b
propagate from branch 'im.pidgin.pidgin' (head 280dc76b99f56c1c9e8c8c8175e03b356f27f757)
to branch 'org.darkrain42.pidgin.xmpp' (head 8c7ebef63cff9084aa9cb6c67abf84ede85e9308)
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 29 Nov 2008 02:18:37 +0000 |
parents | f10aba5592c6 b1b1b75a922e |
children | c4eb9f10ecb5 |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/buddy.c Sat Nov 29 01:52:36 2008 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sat Nov 29 02:18:37 2008 +0000 @@ -176,9 +176,8 @@ g_free(cmd); jbr->commands = g_list_delete_link(jbr->commands, jbr->commands); } - - jabber_caps_free_clientinfo(jbr->caps); + /* jbr->caps is owned by the caps code */ g_free(jbr->name); g_free(jbr->status); g_free(jbr->thread_id); @@ -493,9 +492,6 @@ void jabber_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img) { - PurplePresence *gpresence; - PurpleStatus *status; - if(((JabberStream*)gc->proto_data)->pep) { /* XEP-0084: User Avatars */ if(img) { @@ -625,9 +621,7 @@ /* publish vCard for those poor older clients */ jabber_set_info(gc, purple_account_get_user_info(gc->account)); - gpresence = purple_account_get_presence(gc->account); - status = purple_presence_get_active_status(gpresence); - jabber_presence_send(gc->account, status); + jabber_presence_send(gc->proto_data, FALSE); } /* @@ -2501,7 +2495,7 @@ gboolean jabber_resource_has_capability(const JabberBuddyResource *jbr, const gchar *cap) { - const GList *iter = NULL; + const GList *node = NULL; if (!jbr->caps) { purple_debug_error("jabber", @@ -2509,15 +2503,14 @@ return FALSE; } - for (iter = jbr->caps->features ; iter ; iter = g_list_next(iter)) { - if (strcmp(iter->data, cap) == 0) { - purple_debug_info("jabber", "Found cap: %s\n", (char *)iter->data); - return TRUE; - } - } + node = g_list_find_custom(jbr->caps->features, cap, (GCompareFunc)strcmp); + /* TODO: Are these messages actually useful? */ + if (node) + purple_debug_info("jabber", "Found cap: %s\n", cap); + else + purple_debug_info("jabber", "Cap %s not found\n", cap); - purple_debug_info("jabber", "Cap %s not found\n", cap); - return FALSE; + return (node != NULL); } gboolean