Occasionally all the axes that are valid for a device need to be marked as
updated for the caller's sake.

Signed-off-by: Stephen Chandler Paul <[email protected]>
---
 src/evdev-tablet.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c
index 760b954..52499fd 100644
--- a/src/evdev-tablet.c
+++ b/src/evdev-tablet.c
@@ -68,6 +68,22 @@ tablet_process_absolute(struct tablet_dispatch *tablet,
 }
 
 static void
+tablet_mark_all_axes_changed(struct tablet_dispatch *tablet,
+                            struct evdev_device *device)
+{
+       enum libinput_tablet_axis a;
+
+       for (a = 0; a < LIBINPUT_TABLET_AXIS_CNT; a++) {
+               if (libevdev_has_event_code(device->evdev,
+                                           EV_ABS,
+                                           axis_to_evcode(a)))
+                       set_bit(tablet->changed_axes, a);
+       }
+
+       tablet_set_status(tablet, TABLET_AXES_UPDATED);
+}
+
+static void
 tablet_update_tool(struct tablet_dispatch *tablet,
                   enum libinput_tool_type tool,
                   bool enabled)
@@ -444,20 +460,12 @@ static int
 tablet_init(struct tablet_dispatch *tablet,
            struct evdev_device *device)
 {
-       enum libinput_tablet_axis a;
-
        tablet->base.interface = &tablet_interface;
        tablet->device = device;
        tablet->status = TABLET_NONE;
        tablet->current_tool_type = LIBINPUT_TOOL_NONE;
 
-       /* Mark any axes the tablet has as changed */
-       for (a = 0; a < LIBINPUT_TABLET_AXIS_CNT; a++) {
-               if (libevdev_has_event_code(device->evdev,
-                                           EV_ABS,
-                                           axis_to_evcode(a)))
-                       set_bit(tablet->changed_axes, a);
-       }
+       tablet_mark_all_axes_changed(tablet, device);
 
        return 0;
 }
-- 
1.8.5.5

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to