diff options
Diffstat (limited to 'src/empathy-call-window.c')
-rw-r--r-- | src/empathy-call-window.c | 17 |
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 |