[telepathy-salut/master] salut_presence_cache_process_caps: get caps from managers if there is no capa announced so we announce the default ones
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed Apr 1 04:10:43 PDT 2009
---
src/salut-presence-cache.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/salut-presence-cache.c b/src/salut-presence-cache.c
index b341312..a48e5fe 100644
--- a/src/salut-presence-cache.c
+++ b/src/salut-presence-cache.c
@@ -587,6 +587,7 @@ salut_presence_cache_process_caps (SalutPresenceCache *self,
CapabilityInfo *info;
GHashTable *per_channel_manager_caps;
gboolean caps_set;
+ gboolean hash_table_created = FALSE;
DEBUG ("Called for %s with '%s' '%s' '%s'",
contact->name, hash, node, ver);
@@ -599,7 +600,9 @@ salut_presence_cache_process_caps (SalutPresenceCache *self,
/* if the contact does not support capabilities, we consider the default
* basic ones */
caps_set = TRUE;
- per_channel_manager_caps = NULL;
+ /* get the default capabilities */
+ per_channel_manager_caps = create_per_channel_manager_caps (self, NULL);
+ hash_table_created = TRUE;
}
else
{
@@ -666,6 +669,9 @@ salut_presence_cache_process_caps (SalutPresenceCache *self,
waiter->disco_requested = TRUE;
}
}
+
+ if (hash_table_created)
+ g_hash_table_destroy (per_channel_manager_caps);
}
SalutPresenceCache *
--
1.5.6.5
More information about the telepathy-commits
mailing list