diff options
-rw-r--r-- | src/empathy-call-window.c | 17 | ||||
-rw-r--r-- | src/empathy-call-window.ui | 1 |
2 files changed, 18 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 diff --git a/src/empathy-call-window.ui b/src/empathy-call-window.ui index 00b8ffa88..ce3d85b56 100644 --- a/src/empathy-call-window.ui +++ b/src/empathy-call-window.ui @@ -14,6 +14,7 @@ <object class="GtkToggleAction" id="send_video"> <property name="name">send_video</property> <property name="label" translatable="yes">Send video</property> + <property name="sensitive">False</property> </object> </child> <child> |