[PATCH libinput] evdev: check model flags for actual booleans
Peter Hutterer
peter.hutterer at who-t.net
Thu Jun 9 00:53:10 UTC 2016
The hwdb doesn't allow unsetting a property so once we start nesting model
flags it'll become important to be able to be able to unset one as well (by
assigning it to 0).
So rather than checking for existence, check whether the property is actually
set to something resembling a boolean.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/evdev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/evdev.c b/src/evdev.c
index 0227f51..e0923cd 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1813,10 +1813,12 @@ evdev_read_model_flags(struct evdev_device *device)
};
const struct model_map *m = model_map;
uint32_t model_flags = 0;
+ const char *val;
while (m->property) {
- if (!!udev_device_get_property_value(device->udev_device,
- m->property)) {
+ val = udev_device_get_property_value(device->udev_device,
+ m->property);
+ if (val && !streq(val, "0")) {
log_debug(device->base.seat->libinput,
"%s: tagged as %s\n",
evdev_device_get_sysname(device),
--
2.7.4
More information about the wayland-devel
mailing list