diff options
author | Jason Gerecke <killertofu@gmail.com> | 2015-08-13 10:32:05 -0700 |
---|---|---|
committer | Jason Gerecke <killertofu@gmail.com> | 2015-08-24 10:34:55 -0700 |
commit | 9e216247b549f95c0511b5b3243e1527cabcb161 (patch) | |
tree | 00f1b5f2e6b252f0a018053fc373b35486009228 /release.sh | |
parent | 4c17c6a0dd224b66379c52ea8b24ab961b908aa0 (diff) | |
download | xf86-input-wacom-9e216247b549f95c0511b5b3243e1527cabcb161.tar.gz |
Don't rely on IsPad() when trying to undo kernel event filtering
Commit e9f95de fixed an issue where the pointer would jump around if the
kernel's duplicate event filtering had removed the X or Y position from
the initial "entering proximity" packet. The fix involved requesting the
current axis value from the kernel, but only if we weren't dealing with
the pad (since the pad never sends position data, and may not even have
those axes). Unfortunately, the check used 'IsPad(priv)', which may
return incorrect results at this point in the program flow.* This can
cause the pointer jumps to occur anyway if the driver (incorrectly)
believes the events to be coming from the pad as described in bug #286.
To fix this, the check is changed to rely on 'ds->device_type' which
provides accurate information.
*It appears that the 'pInfo' passed into 'usbDispatchEvents' may be of
any X device that shares the same underlying kernel device. It is not
until later in 'wcmEvent' that we use 'findTool' to find the appropriate
device based on the 'ds->device_type'.
http://sourceforge.net/p/linuxwacom/bugs/286/
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Diffstat (limited to 'release.sh')
0 files changed, 0 insertions, 0 deletions