diff options
-rw-r--r-- | copy-n-paste/eggsmclient-xsmp.c | 14 |
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) { |