aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-individual-menu.c13
-rw-r--r--libempathy/empathy-contact.c15
2 files changed, 11 insertions, 17 deletions
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c
index 5324c5013..8b1ed66a7 100644
--- a/libempathy-gtk/empathy-individual-menu.c
+++ b/libempathy-gtk/empathy-individual-menu.c
@@ -690,10 +690,15 @@ empathy_individual_video_call_menu_item_new (FolksIndividual *individual,
EMPATHY_ACTION_VIDEO_CALL);
}
- monitor = empathy_camera_monitor_dup_singleton ();
- g_object_set_data_full (G_OBJECT (item), "monitor", monitor, g_object_unref);
- g_object_bind_property (monitor, "available", item, "sensitive",
- G_BINDING_SYNC_CREATE);
+ /* Only follow available cameras if the contact can do Video calls */
+ if (gtk_widget_get_sensitive (item))
+ {
+ monitor = empathy_camera_monitor_dup_singleton ();
+ g_object_set_data_full (G_OBJECT (item),
+ "monitor", monitor, g_object_unref);
+ g_object_bind_property (monitor, "available", item, "sensitive",
+ G_BINDING_SYNC_CREATE);
+ }
return item;
}
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index 955ee885f..42faad483 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -40,7 +40,6 @@
#endif
#include "empathy-contact.h"
-#include "empathy-camera-monitor.h"
#include "empathy-utils.h"
#include "empathy-enum-types.h"
#include "empathy-marshal.h"
@@ -1224,18 +1223,8 @@ empathy_contact_can_do_action (EmpathyContact *self,
sensitivity = empathy_contact_can_voip_audio (self);
break;
case EMPATHY_ACTION_VIDEO_CALL:
- {
- EmpathyCameraMonitor *monitor;
-
- monitor = empathy_camera_monitor_dup_singleton ();
-
- sensitivity = empathy_contact_can_voip_video (self);
- sensitivity = sensitivity &&
- empathy_camera_monitor_get_available (monitor);
-
- g_object_unref (monitor);
- break;
- }
+ sensitivity = empathy_contact_can_voip_video (self);
+ break;
case EMPATHY_ACTION_VIEW_LOGS:
sensitivity = contact_has_log (self);
break;