aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2011-02-23 19:39:35 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-06-09 17:20:06 +0800
commitc850d9b17d93c4e964c95bbaa526008f2431f912 (patch)
treeb6d5e36d9ceb7487120f4886636851499d844071 /src
parent612006042bfb3455072203b6afc3f1c6aa1462a0 (diff)
downloadgsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar.gz
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar.bz2
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar.lz
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar.xz
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.tar.zst
gsoc2013-empathy-c850d9b17d93c4e964c95bbaa526008f2431f912.zip
Only change the UI in the main thread
Diffstat (limited to 'src')
-rw-r--r--src/empathy-call-window.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 0a349d8b8..ad4e5bcec 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -2442,6 +2442,16 @@ empathy_call_window_connected (gpointer user_data)
return FALSE;
}
+static gboolean
+emapthy_call_window_show_video_output_cb (gpointer user_data)
+{
+ EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (user_data);
+
+ gtk_widget_hide (self->priv->remote_user_avatar_widget);
+ gtk_widget_show (self->priv->video_output);
+
+ return FALSE;
+}
/* Called from the streaming thread */
static gboolean
@@ -2469,8 +2479,7 @@ empathy_call_window_src_added_cb (EmpathyCallHandler *handler,
pad = empathy_call_window_get_audio_sink_pad (self);
break;
case TP_MEDIA_STREAM_TYPE_VIDEO:
- gtk_widget_hide (priv->remote_user_avatar_widget);
- gtk_widget_show (priv->video_output);
+ g_idle_add (emapthy_call_window_show_video_output_cb, self);
pad = empathy_call_window_get_video_sink_pad (self);
break;
default: