aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2009-03-04 01:34:03 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-03-04 01:34:03 +0800
commit74974f48ea36df853098259d25727317b1048ffd (patch)
tree3e8afa987c8e7a40399557e560a4c40839652772
parentba7eae326c9cd3e12447bf636cedfae6284b2581 (diff)
downloadgsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar.gz
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar.bz2
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar.lz
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar.xz
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.tar.zst
gsoc2013-empathy-74974f48ea36df853098259d25727317b1048ffd.zip
Ensure to always call gtk/gdk functions while holding the gdk lock
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> svn path=/trunk/; revision=2550
-rw-r--r--src/empathy-call-window.c4
-rw-r--r--src/empathy.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 333b1257c..a565be90a 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -564,6 +564,8 @@ empathy_call_window_src_added_cb (EmpathyCallHandler *handler,
g_object_get (priv->handler, "tp-call", &call, NULL);
+ gdk_threads_enter ();
+
if (empathy_tp_call_has_dtmf (call))
gtk_widget_set_sensitive (priv->dtmf_panel, TRUE);
@@ -574,6 +576,8 @@ empathy_call_window_src_added_cb (EmpathyCallHandler *handler,
empathy_call_window_status_message (self, str);
g_free (str);
+ gdk_threads_leave ();
+
switch (media_type)
{
case TP_MEDIA_STREAM_TYPE_AUDIO:
diff --git a/src/empathy.c b/src/empathy.c
index 0c1197a17..46b2fdb60 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -555,7 +555,9 @@ main (int argc, char *argv[])
g_signal_connect (G_OBJECT (call_factory), "new-call-handler",
G_CALLBACK (new_call_handler_cb), NULL);
+ gdk_threads_enter ();
gtk_main ();
+ gdk_threads_leave ();
empathy_idle_set_state (idle, MC_PRESENCE_OFFLINE);