[PATCH libinput 1/2] test: when creating an abs test device, force the abs->value to the mimimum

Peter Hutterer peter.hutterer at who-t.net
Thu Jun 16 04:36:35 UTC 2016


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.hutterer at 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



More information about the wayland-devel mailing list