Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tablet: don't set rotation on a tool if we don't have ABS_Z
Rotation on a tool can either ABS_Z or in the case of the mouse/lens tools a combination of ABS_TILT_X/Y. The code assumes that if the rotation on a stylus (not mouse/lense) changes, we need to fetch it from ABS_Z. This happens on the very first event from the tablet, proximity in invalidates all axes so we can send the current state to the caller. On libwacom-recognized tablets we never set the rotation bit on the stylus, so that's all fine. On tablets without libwacom support, the stylus may have a rotation bit copied because we have it set thanks to mouse+tilt on the tablet. When that first event is handled, we try to access ABS_Z. On tablets without ABS_Z like Aipteks, we go boom. Fix this by checking for ABS_Z during tablet init, if we don't have that axis then never set the rotation bit on the tool. That's the only axis where we need this, all other axes have a single cause only and thus the tablet bits are accurate anyway. https://bugs.freedesktop.org/show_bug.cgi?id=104939 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
- Loading branch information