aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-call-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/empathy-call-window.c')
-rw-r--r--src/empathy-call-window.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index d7d79df90..01c2c4f5c 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -107,6 +107,7 @@ struct _EmpathyCallWindowPriv
GMutex *lock;
gboolean call_started;
+ gboolean sending_video;
};
#define GET_PRIV(o) \
@@ -757,6 +758,7 @@ empathy_call_window_disconnected (EmpathyCallWindow *self)
gtk_widget_set_sensitive (priv->camera_button, FALSE);
gtk_action_set_sensitive (priv->send_video, FALSE);
+ priv->sending_video = FALSE;
}
@@ -1157,20 +1159,35 @@ static void
empathy_call_window_camera_toggled_cb (GtkToggleToolButton *toggle,
EmpathyCallWindow *window)
{
+ EmpathyCallWindowPriv *priv = GET_PRIV (window);
gboolean active;
active = (gtk_toggle_tool_button_get_active (toggle));
+
+ if (priv->sending_video == active)
+ return;
+
empathy_call_window_set_send_video (window, active);
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (priv->send_video), active);
+ priv->sending_video = active;
}
static void
empathy_call_window_send_video_toggled_cb (GtkToggleAction *toggle,
EmpathyCallWindow *window)
{
+ EmpathyCallWindowPriv *priv = GET_PRIV (window);
gboolean active;
active = (gtk_toggle_action_get_active (toggle));
+
+ if (priv->sending_video == active)
+ return;
+
empathy_call_window_set_send_video (window, active);
+ gtk_toggle_tool_button_set_active (
+ GTK_TOGGLE_TOOL_BUTTON (priv->camera_button), active);
+ priv->sending_video = active;
}
static void