[PATCH libinput] evdev: restore EVDEV_UNHANDLED_DEVICE error code
Peter Hutterer
peter.hutterer at who-t.net
Sun Feb 9 21:44:56 PST 2014
If we don't have capabilities we can deal with, return a different
error so the backends can handle it separately (they already do).
Signe-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/evdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/evdev.c b/src/evdev.c
index 9c6d116..d8dff65 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -606,6 +606,7 @@ evdev_device_create(struct libinput_seat *seat,
struct evdev_device *device;
char devname[256] = "unknown";
int fd;
+ int unhandled_device = 0;
/* Use non-blocking mode so that we can loop on read on
* evdev_device_data() until all events on the fd are
@@ -645,6 +646,7 @@ evdev_device_create(struct libinput_seat *seat,
goto err;
if (device->seat_caps == 0) {
+ unhandled_device = 1;
goto err;
}
@@ -668,7 +670,8 @@ err:
if (fd >= 0)
close_restricted(libinput, fd);
evdev_device_destroy(device);
- return NULL;
+
+ return unhandled_device ? EVDEV_UNHANDLED_DEVICE : NULL;
}
int
--
1.8.4.2
More information about the wayland-devel
mailing list