diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-02-23 19:39:35 +0800 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2011-02-23 22:50:44 +0800 |
commit | 89a7b20c0c51ccaa2ad28a185672f4f472cd2e20 (patch) | |
tree | f09dc4a987e4514a9a71750388a45331d24102b5 | |
parent | ac766b706727ba8efdcb6132cd426d4882a82581 (diff) | |
download | gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar.gz gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar.bz2 gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar.lz gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar.xz gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.tar.zst gsoc2013-empathy-89a7b20c0c51ccaa2ad28a185672f4f472cd2e20.zip |
Only change the UI in the main thread
-rw-r--r-- | src/empathy-call-window.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 04da28780..5e28002b8 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -2436,6 +2436,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 @@ -2463,8 +2473,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: |