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 0a13223c39

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2018-06-20 07:56:05 +10:00
parent e70e67847c
commit 7c51c881dc
2 changed files with 3 additions and 2 deletions

View file

@ -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;

View file

@ -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));