Otherwise the abs->value could lie outside the [min, max] range of the axis.
This isn't much of an issue for actual axes but in the case of ABS_MT_SLOT
(value 47) it causes errors when libevdev sanitises the event into the allowed
slot range.

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
 test/litest.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/test/litest.c b/test/litest.c
index 66f08f2..7ccfbf7 100644
--- a/test/litest.c
+++ b/test/litest.c
@@ -2250,8 +2250,12 @@ litest_create_uinput(const char *name,
 
        abs = abs_info;
        while (abs && abs->value != -1) {
-               rc = libevdev_enable_event_code(dev, EV_ABS,
-                                               abs->value, abs);
+               struct input_absinfo a = *abs;
+
+               /* abs_info->value is used for the code and may be outside
+                  of [min, max] */
+               a.value = abs->minimum;
+               rc = libevdev_enable_event_code(dev, EV_ABS, abs->value, &a);
                litest_assert_int_eq(rc, 0);
                abs++;
        }
-- 
2.7.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to