[PATCH libinput] evdev: check model flags for actual booleans

Hans de Goede hdegoede at redhat.com
Thu Jun 9 11:05:05 UTC 2016


Hi,

On 09-06-16 02:53, Peter Hutterer wrote:
> 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>

patch looks good to me:

Reviewed-by: Hans de Goede <hdegoede at redhat.com>

Regards,

Hans


> ---
>  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),
>


More information about the wayland-devel mailing list