diff options
author | Richard Moe Gustavsen <richard.gustavsen@digia.com> | 2013-04-24 13:05:37 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-07 22:43:14 +0200 |
commit | 758f064558f26eb32a74d4bf426ee443fe6e8f4b (patch) | |
tree | 26cc2c6951c5c82402d22492a93fb24b8639b146 /src/plugins/platforms/ios/qioswindow.h | |
parent | 53e01c4329ffbe4491ef7ef07662624f416f4a50 (diff) |
iOS: don't send ended touch events to QPA
The current implementation kept a list of TouchPoints that
was reused when sending active touces to QPA. This list was
never cleaned up, so if you pressed three fingers, and released
one, we would still continue to sendt three touches to QPA.
Especially, since this list was not cleaned up when receiving
a touch cancel, mouse events sometimes stopped working when trigging
a system gesture (like a four finger swipe). This can be seen by
using the fingerpaint example.
Since we cannot rely on TouchPoints having IDs that corresponds to
their index in the touch point list, it ends up being
simpler (and results in less code) to rewrite the implementation to use
a hash table of UITouch to TouchPoints instead.
Change-Id: I5b32f57a8d72a0b8759a64ac7cdfa6700109d2b3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Diffstat (limited to 'src/plugins/platforms/ios/qioswindow.h')
-rw-r--r-- | src/plugins/platforms/ios/qioswindow.h | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/src/plugins/platforms/ios/qioswindow.h b/src/plugins/platforms/ios/qioswindow.h index b86dbf7d46..20f0aa59b6 100644 --- a/src/plugins/platforms/ios/qioswindow.h +++ b/src/plugins/platforms/ios/qioswindow.h @@ -82,15 +82,8 @@ public: WId winId() const { return WId(m_view); }; - QList<QWindowSystemInterface::TouchPoint> &touchPoints() { return m_touchPoints; } - QHash<UITouch *, int> &activeTouches() { return m_activeTouches; } - int &touchId() { return m_touchId; } - private: UIView *m_view; - QList<QWindowSystemInterface::TouchPoint> m_touchPoints; - QHash<UITouch *, int> m_activeTouches; - int m_touchId; QRect m_requestedGeometry; int m_windowLevel; |