summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eggsmclient-xsmp.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/eggsmclient-xsmp.c b/src/eggsmclient-xsmp.c
index 2c55b13..f278ded 100644
--- a/src/eggsmclient-xsmp.c
+++ b/src/eggsmclient-xsmp.c
@@ -376,13 +376,13 @@ sm_client_xsmp_startup (EggSMClient *client,
xsmp->client_id = g_strdup (ret_client_id);
free (ret_client_id);
- gdk_threads_enter ();
#if GTK_CHECK_VERSION (3, 0, 0)
gdk_x11_set_sm_client_id (xsmp->client_id);
#else
+ gdk_threads_enter ();
gdk_set_sm_client_id (xsmp->client_id);
-#endif
gdk_threads_leave ();
+#endif
g_debug ("Got client ID \"%s\"", xsmp->client_id);
}
@@ -568,7 +568,9 @@ idle_do_pending_events (gpointer data)
EggSMClientXSMP *xsmp = data;
EggSMClient *client = data;
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_enter ();
+#endif
xsmp->idle = 0;
@@ -593,7 +595,9 @@ idle_do_pending_events (gpointer data)
}
out:
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_leave ();
+#endif
return FALSE;
}
@@ -1326,9 +1330,13 @@ process_ice_messages (IceConn ice_conn)
{
IceProcessMessagesStatus status;
+#if GTK_CHECK_VERSION (3, 0, 0)
+ status = IceProcessMessages (ice_conn, NULL, NULL);
+#else
gdk_threads_enter ();
status = IceProcessMessages (ice_conn, NULL, NULL);
gdk_threads_leave ();
+#endif
switch (status)
{