summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--copy-n-paste/eggsmclient-xsmp.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/copy-n-paste/eggsmclient-xsmp.c b/copy-n-paste/eggsmclient-xsmp.c
index 0601cd9..98b9bbe 100644
--- a/copy-n-paste/eggsmclient-xsmp.c
+++ b/copy-n-paste/eggsmclient-xsmp.c
@@ -35,6 +35,7 @@
#include <unistd.h>
#include <X11/SM/SMlib.h>
+#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
@@ -367,10 +368,13 @@ sm_client_xsmp_startup (EggSMClient *client,
xsmp->client_id = g_strdup (ret_client_id);
free (ret_client_id);
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_enter ();
+#endif
gdk_x11_set_sm_client_id (xsmp->client_id);
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_leave ();
-
+#endif
g_debug ("Got client ID \"%s\"", xsmp->client_id);
}
@@ -537,7 +541,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;
@@ -562,7 +568,9 @@ idle_do_pending_events (gpointer data)
}
out:
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_leave ();
+#endif
return FALSE;
}
@@ -1284,9 +1292,13 @@ process_ice_messages (IceConn ice_conn)
{
IceProcessMessagesStatus status;
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_enter ();
+#endif
status = IceProcessMessages (ice_conn, NULL, NULL);
+#if !GTK_CHECK_VERSION (3, 0, 0)
gdk_threads_leave ();
+#endif
switch (status)
{