diff options
-rw-r--r-- | libempathy-gtk/empathy-contact-menu.c | 3 | ||||
-rw-r--r-- | libempathy/empathy-contact.c | 12 | ||||
-rw-r--r-- | libempathy/empathy-contact.h | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c index 9b49389c1..6dfe63a6e 100644 --- a/libempathy-gtk/empathy-contact-menu.c +++ b/libempathy-gtk/empathy-contact-menu.c @@ -379,7 +379,8 @@ empathy_contact_share_my_desktop_menu_item_new (EmpathyContact *contact) item = gtk_image_menu_item_new_with_mnemonic (_("Share My Desktop")); image = gtk_image_new_from_icon_name (GTK_STOCK_NETWORK, GTK_ICON_SIZE_MENU); - gtk_widget_set_sensitive (item, empathy_contact_can_use_stream_tube (contact)); + gtk_widget_set_sensitive (item, empathy_contact_can_use_rfb_stream_tube ( + contact)); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); gtk_widget_show (image); diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c index cbd3bd0ae..ba695ca57 100644 --- a/libempathy/empathy-contact.c +++ b/libempathy/empathy-contact.c @@ -970,7 +970,7 @@ empathy_contact_can_send_files (EmpathyContact *contact) } gboolean -empathy_contact_can_use_stream_tube (EmpathyContact *contact) +empathy_contact_can_use_rfb_stream_tube (EmpathyContact *contact) { EmpathyContactPriv *priv; @@ -978,7 +978,7 @@ empathy_contact_can_use_stream_tube (EmpathyContact *contact) priv = GET_PRIV (contact); - return priv->capabilities & EMPATHY_CAPABILITIES_STREAM_TUBE; + return priv->capabilities & EMPATHY_CAPABILITIES_RFB_STREAM_TUBE; } static gchar * @@ -1448,7 +1448,13 @@ tp_caps_to_capabilities (TpCapabilities *caps) } else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE)) { - capabilities |= EMPATHY_CAPABILITIES_STREAM_TUBE; + const gchar *service; + + service = tp_asv_get_string (fixed_prop, + TP_PROP_CHANNEL_TYPE_STREAM_TUBE_SERVICE); + + if (!tp_strdiff (service, "rfb")) + capabilities |= EMPATHY_CAPABILITIES_RFB_STREAM_TUBE; } else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA)) diff --git a/libempathy/empathy-contact.h b/libempathy/empathy-contact.h index ddb3f66c0..b5f24d0c5 100644 --- a/libempathy/empathy-contact.h +++ b/libempathy/empathy-contact.h @@ -65,7 +65,7 @@ typedef enum { EMPATHY_CAPABILITIES_AUDIO = 1 << 0, EMPATHY_CAPABILITIES_VIDEO = 1 << 1, EMPATHY_CAPABILITIES_FT = 1 << 2, - EMPATHY_CAPABILITIES_STREAM_TUBE = 1 << 3, + EMPATHY_CAPABILITIES_RFB_STREAM_TUBE = 1 << 3, EMPATHY_CAPABILITIES_UNKNOWN = 1 << 7 } EmpathyCapabilities; @@ -106,7 +106,7 @@ gboolean empathy_contact_can_voip (EmpathyContact *contact); gboolean empathy_contact_can_voip_audio (EmpathyContact *contact); gboolean empathy_contact_can_voip_video (EmpathyContact *contact); gboolean empathy_contact_can_send_files (EmpathyContact *contact); -gboolean empathy_contact_can_use_stream_tube (EmpathyContact *contact); +gboolean empathy_contact_can_use_rfb_stream_tube (EmpathyContact *contact); gboolean empathy_contact_load_avatar_cache (EmpathyContact *contact, const gchar *token); |