If a tablet never sends a BTN_TOOL_foo, we never update the tool and we remain on the 'none' tool.
Somewhat related to: https://bugzilla.redhat.com/show_bug.cgi?id=1535755 https://bugs.freedesktop.org/show_bug.cgi?id=104911 Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- src/evdev-tablet.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c index 2f5b183b..0140c6f5 100644 --- a/src/evdev-tablet.c +++ b/src/evdev-tablet.c @@ -1556,11 +1556,15 @@ tablet_flush(struct tablet_dispatch *tablet, struct evdev_device *device, uint64_t time) { - struct libinput_tablet_tool *tool = - tablet_get_tool(tablet, - tablet->current_tool_type, - tablet->current_tool_id, - tablet->current_tool_serial); + struct libinput_tablet_tool *tool; + + if (tablet->current_tool_type == LIBINPUT_TOOL_NONE) + return; + + tool = tablet_get_tool(tablet, + tablet->current_tool_type, + tablet->current_tool_id, + tablet->current_tool_serial); if (!tool) return; /* OOM */ -- 2.14.3 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel