]> git.0d.be Git - empathy.git/commitdiff
A contact doesn't support video if we have no camera
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 10 May 2011 12:14:05 +0000 (13:14 +0100)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 12 Jul 2011 09:11:08 +0000 (10:11 +0100)
libempathy/empathy-contact.c

index 16f1dc90002364c556647d1e4079ae43d43b2b26..a4b35dc0638f2407310aa388663368ff44191565 100644 (file)
@@ -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;