summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandinputdevice_p.h
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2019-08-19 13:46:08 +0200
committerJohan Helsing <johan.helsing@qt.io>2019-08-29 13:06:11 +0000
commit2e9c90aaefdfe5f1e9b90159c5e6981230627055 (patch)
tree7b3da810d1d7bd525b21441b627f87c3abd0f220 /src/client/qwaylandinputdevice_p.h
parent1cce394099bd83261a0fe3bb73acd5c4bd8a749a (diff)
Client: Refactor touch handling and fix various bugs
Rename mTouchPoints to mPendingTouchPoints, to clarify that they're the accumulated state so far, which will be applied with the wl_touch.frame event. QWaylandInputDevice::Touch::mPrevTouchPoints is no longer needed and has been removed. Fixes the following issues with the old approach: - touchPointsReleased() only checked mTouchPoints, which was cleared on touch_frame and populated again on touch_motion and touch_down, which meant that it could return true even though there were still touch points left. Leading to the workaround for missing wl_touch.frame events on Weston being triggered to often. - Touch focus was cleared on any wl_touch.up event, not just the last one. - The order of the touch events was not stable and relied on the order of the events (QTBUG-77014). Fixes: QTBUG-77014 Change-Id: Ic3ecdc87e77b0e0276afefd127ad2b965142cbd4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/client/qwaylandinputdevice_p.h')
-rw-r--r--src/client/qwaylandinputdevice_p.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h
index 7aa86539b..d9bae9836 100644
--- a/src/client/qwaylandinputdevice_p.h
+++ b/src/client/qwaylandinputdevice_p.h
@@ -304,8 +304,7 @@ public:
QWaylandInputDevice *mParent = nullptr;
QPointer<QWaylandWindow> mFocus;
- QList<QWindowSystemInterface::TouchPoint> mTouchPoints;
- QList<QWindowSystemInterface::TouchPoint> mPrevTouchPoints;
+ QList<QWindowSystemInterface::TouchPoint> mPendingTouchPoints;
};
class QWaylandPointerEvent