compositor: print a clear message when XDG_RUNTIME_DIR is not set

Without this patch, Weston would not start with the message:
creating a keymap file for 44012 bytes failed: No such file or directory

If you do not know, that we use XDG_RUNTIME_DIR for that, the message is
very confusing. Therefore implement a clear error message right at the
start if XDG_RUNTIME_DIR is not set.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
Pekka Paalanen 2012-06-06 16:59:44 +03:00 committed by Kristian Høgsberg
parent 1da1b8f3f1
commit 78a0b57e57

View File

@ -3088,6 +3088,12 @@ load_module(const char *name, const char *entrypoint, void **handle)
return init; return init;
} }
static const char xdg_error_message[] =
"fatal: environment variable XDG_RUNTIME_DIR is not set.\n"
"Refer to your distribution on how to get it, or\n"
"http://www.freedesktop.org/wiki/Specifications/basedir-spec\n"
"on how to implement it.\n";
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
struct wl_display *display; struct wl_display *display;
@ -3129,6 +3135,11 @@ int main(int argc, char *argv[])
argc = parse_options(core_options, argc = parse_options(core_options,
ARRAY_LENGTH(core_options), argc, argv); ARRAY_LENGTH(core_options), argc, argv);
if (!getenv("XDG_RUNTIME_DIR")) {
fprintf(stderr, xdg_error_message);
exit(EXIT_FAILURE);
}
display = wl_display_create(); display = wl_display_create();
loop = wl_display_get_event_loop(display); loop = wl_display_get_event_loop(display);