tools: record: when running from the builddir, load the quirks correctly
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 24 Jul 2019 03:33:11 +0000 (13:33 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 24 Jul 2019 04:57:56 +0000 (14:57 +1000)
Fixes #324

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
tools/libinput-record.c

index 049c84f..ff4a12f 100644 (file)
@@ -45,6 +45,7 @@
 #include "libinput-version.h"
 #include "libinput-git-version.h"
 #include "shared.h"
+#include "builddir.h"
 
 static const int FILE_VERSION_NUMBER = 1;
 
@@ -1735,10 +1736,17 @@ print_device_quirks(struct record_context *ctx, struct record_device *dev)
        struct quirks_context *quirks;
        const char *data_path = LIBINPUT_QUIRKS_DIR;
        const char *override_file = LIBINPUT_QUIRKS_OVERRIDE_FILE;
+       const char *builddir = NULL;
 
        if (stat(dev->devnode, &st) < 0)
                return;
 
+       if ((builddir = builddir_lookup())) {
+               setenv("LIBINPUT_QUIRKS_DIR", LIBINPUT_QUIRKS_SRCDIR, 0);
+               data_path = LIBINPUT_QUIRKS_SRCDIR;
+               override_file = NULL;
+       }
+
        quirks = quirks_init_subsystem(data_path,
                                       override_file,
                                       quirks_log_handler,