]> git.0d.be Git - empathy.git/commitdiff
Only follow available cameras if the contact can do Video calls
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Fri, 13 May 2011 10:54:49 +0000 (11:54 +0100)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 12 Jul 2011 09:11:14 +0000 (10:11 +0100)
libempathy-gtk/empathy-individual-menu.c
libempathy/empathy-contact.c

index 4ae727c9a192514114e6aa73df524d78b02574fd..6131bfdfd6035a33f421635274200cb38ffe81e6 100644 (file)
@@ -700,10 +700,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;
 }
index a4b35dc0638f2407310aa388663368ff44191565..cdca6dc751b6dae35334af3553cdb203e1541b74 100644 (file)
@@ -1302,18 +1302,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;