diff --git a/gdk/wayland/gdkdisplaymanager-wayland.c b/gdk/wayland/gdkdisplaymanager-wayland.c index 5d4e12beab..0d73a78364 100644 --- a/gdk/wayland/gdkdisplaymanager-wayland.c +++ b/gdk/wayland/gdkdisplaymanager-wayland.c @@ -59,6 +59,12 @@ gdk_wayland_display_manager_initable_init (GInitable *initable, { struct wl_display *wl_display; + /* Set by the compositor when launching a special client - and it gets reset + * by wl_display_connect so we must avoid calling it twice + */ + if (g_getenv ("WAYLAND_SOCKET")) + return TRUE; + /* check that a connection to the default display is possible */ wl_display = wl_display_connect (gdk_get_display_arg_name ());