aboutsummaryrefslogtreecommitdiffstats
path: root/main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch')
-rw-r--r--main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch b/main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch
new file mode 100644
index 0000000000..de19ca2051
--- /dev/null
+++ b/main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch
@@ -0,0 +1,58 @@
+From 7c51c881dc72827ca50ae9eea3d123eef9cb4a66 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 20 Jun 2018 07:56:05 +1000
+Subject: [PATCH] tools: pass a valid grab parameter to list-devices
+
+My kingdome for a compiler warning. Or a scan-build warning. Or a coverity
+warning. Or anything... But no, nothing.
+
+Also make the open_restricted() more robust to a NULL userdata, because
+effectively that's what we were passing here.
+
+Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/50
+
+Introduced in 0a13223c39fdf0f079715bf83d498c0dcd9cf4f8
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ tools/libinput-list-devices.c | 3 ++-
+ tools/shared.c | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tools/libinput-list-devices.c b/tools/libinput-list-devices.c
+index aa225ca0..4cbdf775 100644
+--- a/tools/libinput-list-devices.c
++++ b/tools/libinput-list-devices.c
+@@ -372,6 +372,7 @@ main(int argc, char **argv)
+ {
+ struct libinput *li;
+ struct libinput_event *ev;
++ bool grab = false;
+
+ /* This is kept for backwards-compatibility with the old
+ libinput-list-devices */
+@@ -388,7 +389,7 @@ main(int argc, char **argv)
+ }
+ }
+
+- li = tools_open_backend(BACKEND_UDEV, "seat0", false, false);
++ li = tools_open_backend(BACKEND_UDEV, "seat0", false, &grab);
+ if (!li)
+ return 1;
+
+diff --git a/tools/shared.c b/tools/shared.c
+index d1f02702..d3fb6294 100644
+--- a/tools/shared.c
++++ b/tools/shared.c
+@@ -232,7 +232,7 @@ open_restricted(const char *path, int flags, void *user_data)
+ if (fd < 0)
+ fprintf(stderr, "Failed to open %s (%s)\n",
+ path, strerror(errno));
+- else if (*grab && ioctl(fd, EVIOCGRAB, (void*)1) == -1)
++ else if (grab && *grab && ioctl(fd, EVIOCGRAB, (void*)1) == -1)
+ fprintf(stderr, "Grab requested, but failed for %s (%s)\n",
+ path, strerror(errno));
+
+--
+2.18.0
+