diff options
author | Ulrich Ölmann <u.oelmann@pengutronix.de> | 2019-10-14 12:12:24 +0200 |
---|---|---|
committer | Ulrich Ölmann <u.oelmann@pengutronix.de> | 2019-11-06 02:05:54 +0000 |
commit | e5078714febaa72bf2f43b3a8ac9caec1c324129 (patch) | |
tree | 6553c63eeb416b4b3e3d7eb88e8af44725c37439 /src/gui | |
parent | 7f0aaa88ef1db3840bd504d63a38d53032b8f802 (diff) |
qlibinputtouch: bugfix: do not skip touch events
Having a platform with Texas Instruments's ADS7846 touch screen controller (NXP
i.MX6 DualLite SoC) and a LOGIC Technologies Inc. LTTD800x480 L2RT 7" (800x480
pixels) TFT LCD panel attached to it (resistive touch) using Linux v5.2.17 and
libinput-1.12.6 a single one finger touch starts with a LIBINPUT_EVENT_TOUCH_
DOWN directly followed by a LIBINPUT_EVENT_TOUCH_MOTION both having the same
touch position.
Now Qt's code for touch input processing compressed both into one touch point
with state Qt::TouchPointStationary which resulted in QGuiApplicationPrivate::
processTouchEvent() seeing no touch points with state Qt::TouchPointPressed
anymore. As a consequence processTouchEvent()'s local container windowsNeeding-
Events stayed empty and the whole touch frame was skipped.
Fix this by still compressing into one touch point, but keeping its state as
Qt::TouchPointPressed.
Fixes: QTBUG-79212
Change-Id: Ia571d79ec5c1d6143e923ed69b378503b53e5992
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui')
0 files changed, 0 insertions, 0 deletions