summaryrefslogtreecommitdiff
path: root/mate-panel/libegg/eggsmclient-xsmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-panel/libegg/eggsmclient-xsmp.c')
-rw-r--r--mate-panel/libegg/eggsmclient-xsmp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mate-panel/libegg/eggsmclient-xsmp.c b/mate-panel/libegg/eggsmclient-xsmp.c
index 75fced19..b5f90cee 100644
--- a/mate-panel/libegg/eggsmclient-xsmp.c
+++ b/mate-panel/libegg/eggsmclient-xsmp.c
@@ -35,7 +35,11 @@
#include <unistd.h>
#include <X11/SM/SMlib.h>
+#include <gtk/gtk.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))
@@ -367,7 +371,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);