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;
}
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;