From b1869eae76413c7e389ca192ff6f82b777c907b4 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 24 Jun 2014 15:10:34 +1000 Subject: [PATCH] tablet: always return 0 for axis values on non-axis events Signed-off-by: Peter Hutterer --- src/libinput.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/libinput.c b/src/libinput.c index 8010bc6e..e72ad8b5 100644 --- a/src/libinput.c +++ b/src/libinput.c @@ -504,6 +504,9 @@ LIBINPUT_EXPORT double libinput_event_tablet_get_axis_value(struct libinput_event_tablet *event, enum libinput_tablet_axis axis) { + if (event->base.type != LIBINPUT_EVENT_TABLET_AXIS) + return 0; + return (axis >= 0 && axis < LIBINPUT_TABLET_AXIS_CNT) ? event->axes[axis] : 0; } @@ -515,6 +518,9 @@ libinput_event_tablet_get_x_transformed(struct libinput_event_tablet *event, struct evdev_device *device = (struct evdev_device *) event->base.device; + if (event->base.type != LIBINPUT_EVENT_TABLET_AXIS) + return 0; + return evdev_device_transform_x(device, event->axes[LIBINPUT_TABLET_AXIS_X], width); @@ -527,6 +533,9 @@ libinput_event_tablet_get_y_transformed(struct libinput_event_tablet *event, struct evdev_device *device = (struct evdev_device *) event->base.device; + if (event->base.type != LIBINPUT_EVENT_TABLET_AXIS) + return 0; + return evdev_device_transform_y(device, event->axes[LIBINPUT_TABLET_AXIS_Y], height);