This is in order to support nested compositor architectures where system compositor using drm-backend is shared among multiple child compositors using wayland-backend.
Signed-off-by: Imran Zaman <imran.za...@gmail.com> --- src/wayland-client.c | 5 ++++- src/wayland-server.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/wayland-client.c b/src/wayland-client.c index b0f77b9..07db370 100644 --- a/src/wayland-client.c +++ b/src/wayland-client.c @@ -700,7 +700,9 @@ connect_to_socket(const char *name) const char *runtime_dir; int name_size, fd; - runtime_dir = getenv("XDG_RUNTIME_DIR"); + runtime_dir = getenv("WAYLAND_CLIENT_DIR"); + if (runtime_dir == NULL) + runtime_dir = getenv("XDG_RUNTIME_DIR"); if (!runtime_dir) { wl_log("error: XDG_RUNTIME_DIR not set in the environment.\n"); /* to prevent programs reporting @@ -723,6 +725,7 @@ connect_to_socket(const char *name) name_size = snprintf(addr.sun_path, sizeof addr.sun_path, "%s/%s", runtime_dir, name) + 1; + unsetenv("WAYLAND_CLIENT_DIR"); assert(name_size > 0); if (name_size > (int)sizeof addr.sun_path) { diff --git a/src/wayland-server.c b/src/wayland-server.c index 674aeca..09e8903 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -1080,7 +1080,9 @@ wl_socket_init_for_display_name(struct wl_socket *s, const char *name) int name_size; const char *runtime_dir; - runtime_dir = getenv("XDG_RUNTIME_DIR"); + runtime_dir = getenv("WAYLAND_SERVER_DIR"); + if (runtime_dir == NULL) + runtime_dir = getenv("XDG_RUNTIME_DIR"); if (!runtime_dir) { wl_log("error: XDG_RUNTIME_DIR not set in the environment\n"); @@ -1093,6 +1095,7 @@ wl_socket_init_for_display_name(struct wl_socket *s, const char *name) s->addr.sun_family = AF_LOCAL; name_size = snprintf(s->addr.sun_path, sizeof s->addr.sun_path, "%s/%s", runtime_dir, name) + 1; + unsetenv("WAYLAND_SERVER_DIR"); s->display_name = (s->addr.sun_path + name_size - 1) - strlen(name); -- 1.9.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel