]> git.0d.be Git - empathy.git/commitdiff
Only change the UI in the main thread
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Wed, 23 Feb 2011 11:39:35 +0000 (11:39 +0000)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Thu, 9 Jun 2011 09:20:06 +0000 (10:20 +0100)
src/empathy-call-window.c

index 0a349d8b8f9dd4672d1c474bcedc6936b233bc30..ad4e5bcec0b5b2394ec4344ca21dab4dc89e40a2 100644 (file)
@@ -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: