summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eggsmclient-xsmp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/eggsmclient-xsmp.c b/src/eggsmclient-xsmp.c
index c52b689..8d1c501 100644
--- a/src/eggsmclient-xsmp.c
+++ b/src/eggsmclient-xsmp.c
@@ -36,6 +36,9 @@
#include <X11/SM/SMlib.h>
#include <gdk/gdk.h>
+#if GTK_CHECK_VERSION (3, 0, 0)
+#include <gdk/gdkx.h>
+#endif
#define EGG_TYPE_SM_CLIENT_XSMP (egg_sm_client_xsmp_get_type ())
#define EGG_SM_CLIENT_XSMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMP))
@@ -374,7 +377,11 @@ sm_client_xsmp_startup (EggSMClient *client,
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_set_sm_client_id (xsmp->client_id);
+#endif
gdk_threads_leave ();
g_debug ("Got client ID \"%s\"", xsmp->client_id);