aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-10-26 18:46:57 +0200
committeremersion <contact@emersion.fr>2018-10-28 22:39:57 +0100
commit54e78e9e26d267915517f4e49e9868b3b3009c42 (patch)
treeffd5bc8bef3055653400f48837b2017bbaecb762
parent346ec21c4c9007e98c84b67e4f5e4b9a67bbbce7 (diff)
xwayland: don't fail if XDG_RUNTIME_DIR is not set
We don't require it, Xwayland doesn't require it, and all X11 apps I tried don't need it.
-rw-r--r--xwayland/xwayland.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/xwayland/xwayland.c b/xwayland/xwayland.c
index fe09ea5e..d92d58fb 100644
--- a/xwayland/xwayland.c
+++ b/xwayland/xwayland.c
@@ -105,17 +105,15 @@ static void exec_xwayland(struct wlr_xwayland *wlr_xwayland) {
const char *xdg_runtime = getenv("XDG_RUNTIME_DIR");
const char *path_var = getenv("PATH");
- if (!xdg_runtime) {
- wlr_log(WLR_ERROR, "XDG_RUNTIME_DIR is not set");
- _exit(EXIT_FAILURE);
- }
-
- if (clearenv()) {
+ if (clearenv() != 0) {
wlr_log_errno(WLR_ERROR, "clearenv failed");
_exit(EXIT_FAILURE);
}
- setenv("XDG_RUNTIME_DIR", xdg_runtime, true);
+ if (xdg_runtime != NULL) {
+ setenv("XDG_RUNTIME_DIR", xdg_runtime, true);
+ }
setenv("PATH", path_var, true);
+
char wayland_socket_str[16];
snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", wlr_xwayland->wl_fd[1]);
setenv("WAYLAND_SOCKET", wayland_socket_str, true);