summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-07-15 17:07:43 +0200
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-07-15 17:09:50 +0200
commit8a53894f9605401f9674a40c946e44511bb94cf5 (patch)
tree12c621e8e4415a5b41f1c2c4d6bab2cf9f3cf856
parent7ead926d2eb86a31542a9347db0cabbb6fd65e48 (diff)
has_stream_tube_cap: tube has to be a private one
-rw-r--r--src/client.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c
index ad2c9b5..c6c856d 100644
--- a/src/client.c
+++ b/src/client.c
@@ -431,12 +431,16 @@ has_stream_tube_cap (TpCapabilities *caps)
GHashTable *fixed;
const gchar *chan_type;
const gchar *service;
+ TpHandleType handle_type;
fixed = g_value_get_boxed (g_value_array_get_nth (arr, 0));
chan_type = tp_asv_get_string (fixed, TP_PROP_CHANNEL_CHANNEL_TYPE);
service = tp_asv_get_string (fixed, TP_PROP_CHANNEL_TYPE_STREAM_TUBE_SERVICE);
+ handle_type = tp_asv_get_uint32 (fixed,
+ TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, NULL);
if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE) &&
+ handle_type == TP_HANDLE_TYPE_CONTACT &&
(!tp_capabilities_is_specific_to_contact (caps) ||
!tp_strdiff (service, TUBE_SERVICE)))
return TRUE;