[PATCH weston 2/3] compositor: print a clear message when XDG_RUNTIME_DIR is not set

Pekka Paalanen ppaalanen at gmail.com
Wed Jun 6 06:59:44 PDT 2012


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 at gmail.com>
---
 src/compositor.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/compositor.c b/src/compositor.c
index 93eeb24..3039c3d 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -3088,6 +3088,12 @@ load_module(const char *name, const char *entrypoint, void **handle)
 	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[])
 {
 	struct wl_display *display;
@@ -3129,6 +3135,11 @@ int main(int argc, char *argv[])
 	argc = parse_options(core_options,
 			     ARRAY_LENGTH(core_options), argc, argv);
 
+	if (!getenv("XDG_RUNTIME_DIR")) {
+		fprintf(stderr, xdg_error_message);
+		exit(EXIT_FAILURE);
+	}
+
 	display = wl_display_create();
 
 	loop = wl_display_get_event_loop(display);
-- 
1.7.3.4



More information about the wayland-devel mailing list