aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-contact.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-contact.c')
-rw-r--r--libempathy/empathy-contact.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index 16f1dc900..a4b35dc06 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -40,6 +40,7 @@
#endif
#include "empathy-contact.h"
+#include "empathy-camera-monitor.h"
#include "empathy-individual-manager.h"
#include "empathy-utils.h"
#include "empathy-enum-types.h"
@@ -1301,8 +1302,18 @@ empathy_contact_can_do_action (EmpathyContact *self,
sensitivity = empathy_contact_can_voip_audio (self);
break;
case EMPATHY_ACTION_VIDEO_CALL:
- sensitivity = empathy_contact_can_voip_video (self);
- break;
+ {
+ 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;
+ }
case EMPATHY_ACTION_VIEW_LOGS:
sensitivity = contact_has_log (self);
break;