aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/empathy-call-window.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 39c70c17b..7fe365f30 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -596,25 +596,29 @@ empathy_call_window_swap_camera_cb (GtkAction *action,
}
static void
-empathy_call_window_camera_added_cb (TpawCameraMonitor *monitor,
- TpawCamera *camera,
- EmpathyCallWindow *self)
+empathy_call_window_update_swap_camera (EmpathyCallWindow *self)
{
- const GList *cameras = tpaw_camera_monitor_get_cameras (monitor);
+ const GList *cameras = tpaw_camera_monitor_get_cameras (
+ self->priv->camera_monitor);
gtk_action_set_visible (self->priv->menu_swap_camera,
g_list_length ((GList *) cameras) >= 2);
}
static void
-empathy_call_window_camera_removed_cb (TpawCameraMonitor *monitor,
+empathy_call_window_camera_added_cb (TpawCameraMonitor *monitor,
TpawCamera *camera,
EmpathyCallWindow *self)
{
- const GList *cameras = tpaw_camera_monitor_get_cameras (monitor);
+ empathy_call_window_update_swap_camera (self);
+}
- gtk_action_set_visible (self->priv->menu_swap_camera,
- g_list_length ((GList *) cameras) >= 2);
+static void
+empathy_call_window_camera_removed_cb (TpawCameraMonitor *monitor,
+ TpawCamera *camera,
+ EmpathyCallWindow *self)
+{
+ empathy_call_window_update_swap_camera (self);
}
static void
@@ -1685,6 +1689,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
gtk_action_set_sensitive (priv->menu_fullscreen, FALSE);
priv->camera_monitor = tpaw_camera_monitor_dup_singleton ();
+ empathy_call_window_update_swap_camera (self);
g_object_bind_property (priv->camera_monitor, "available",
priv->camera_button, "sensitive",