From 77e07fc2d134a663ff2af3dcb500f3f6c386ee5e Mon Sep 17 00:00:00 2001 From: Jonny Lamb Date: Tue, 20 Aug 2013 16:21:57 +0200 Subject: [PATCH] call-window: ensure "Swap camera" is only visible when there are >1 cameras It was possible to get into a state where "Swap camera" was visible even when there was only one camera connected. --- src/empathy-call-window.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 39c70c17..7fe365f3 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", -- 2.39.2