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.
This commit is contained in:
emersion 2018-10-26 18:46:57 +02:00
parent 346ec21c4c
commit 54e78e9e26
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 5 additions and 7 deletions

View File

@ -105,17 +105,15 @@ static void exec_xwayland(struct wlr_xwayland *wlr_xwayland) {
const char *xdg_runtime = getenv("XDG_RUNTIME_DIR"); const char *xdg_runtime = getenv("XDG_RUNTIME_DIR");
const char *path_var = getenv("PATH"); const char *path_var = getenv("PATH");
if (!xdg_runtime) { if (clearenv() != 0) {
wlr_log(WLR_ERROR, "XDG_RUNTIME_DIR is not set");
_exit(EXIT_FAILURE);
}
if (clearenv()) {
wlr_log_errno(WLR_ERROR, "clearenv failed"); wlr_log_errno(WLR_ERROR, "clearenv failed");
_exit(EXIT_FAILURE); _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); setenv("PATH", path_var, true);
char wayland_socket_str[16]; char wayland_socket_str[16];
snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", wlr_xwayland->wl_fd[1]); snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", wlr_xwayland->wl_fd[1]);
setenv("WAYLAND_SOCKET", wayland_socket_str, true); setenv("WAYLAND_SOCKET", wayland_socket_str, true);