# HG changeset patch # User Elliott Sales de Andrade # Date 1265861762 0 # Node ID 786d58ae6f7626a3ad65e0880d1ec96a9ff2fa00 # Parent ff3a5a1b585eac41cb4d0150f71837398bf23f36# Parent 9e735d7e2f1d7c8beeef4f888e392e35403d6c9b merge of '1d05d85bcdc5deb8a2a27d792f649f71abe13d0e' and '262e6658a8bed6e9d4e2434fdcace27dff672ac9' diff -r ff3a5a1b585e -r 786d58ae6f76 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Thu Feb 11 04:12:39 2010 +0000 +++ b/libpurple/protocols/jabber/jabber.c Thu Feb 11 04:16:02 2010 +0000 @@ -3146,7 +3146,7 @@ purple_account_get_connection(account)->proto_data; JabberBuddy *jb; JabberBuddyResource *jbr; - PurpleMediaCaps caps = PURPLE_MEDIA_CAPS_NONE; + PurpleMediaCaps total = PURPLE_MEDIA_CAPS_NONE; gchar *resource; GList *specific = NULL, *l; @@ -3162,7 +3162,7 @@ /* no resources online, we're trying to get caps for someone * whose presence we're not subscribed to, or * someone who is offline. */ - return caps; + return total; } else if ((resource = jabber_get_resource(who)) != NULL) { /* they've specified a resource, no need to ask or @@ -3173,7 +3173,7 @@ if (!jbr) { purple_debug_error("jabber", "jabber_get_media_caps:" " Can't find resource %s\n", who); - return caps; + return total; } l = specific = g_list_prepend(specific, jbr); @@ -3184,6 +3184,7 @@ } for (; l; l = l->next) { + PurpleMediaCaps caps = PURPLE_MEDIA_CAPS_NONE; jbr = l->data; if (jabber_resource_has_capability(jbr, @@ -3214,13 +3215,15 @@ if (jabber_resource_has_capability(jbr, NS_GOOGLE_VIDEO)) caps |= PURPLE_MEDIA_CAPS_AUDIO_VIDEO; } + + total |= caps; } if (specific) { g_list_free(specific); } - return caps; + return total; #else return PURPLE_MEDIA_CAPS_NONE; #endif