aboutsummaryrefslogtreecommitdiffstats
path: root/main/libinput/0001-tools-pass-a-valid-grab-parameter-to-list-devices.patch
blob: de19ca2051e3d1602c577bcf2987c09f7a8252a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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