diff options
-rw-r--r-- | src/quick/items/qquickevents.cpp | 10 | ||||
-rw-r--r-- | src/quick/items/qquickevents_p_p.h | 2 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp index 97183c55bc..49ed0f050e 100644 --- a/src/quick/items/qquickevents.cpp +++ b/src/quick/items/qquickevents.cpp @@ -534,13 +534,7 @@ QQuickPointerDevice *QQuickPointerDevice::tabletDevice(qint64 id) void QQuickEventPoint::reset(Qt::TouchPointState state, const QPointF &scenePos, int pointId, ulong timestamp, const QVector2D &velocity) { m_scenePos = scenePos; - if (m_pointId != pointId) { - if (m_exclusiveGrabber) { - qWarning() << m_exclusiveGrabber << "failed to ungrab previous point" << m_pointId; - cancelExclusiveGrab(); - } - m_pointId = pointId; - } + m_pointId = pointId; m_accept = false; m_state = static_cast<QQuickEventPoint::State>(state); m_timestamp = timestamp; @@ -784,6 +778,8 @@ QQuickEventTouchPoint::QQuickEventTouchPoint(QQuickPointerTouchEvent *parent) void QQuickEventTouchPoint::reset(const QTouchEvent::TouchPoint &tp, ulong timestamp) { QQuickEventPoint::reset(tp.state(), tp.scenePos(), tp.id(), timestamp, tp.velocity()); + m_exclusiveGrabber.clear(); + m_passiveGrabbers.clear(); m_rotation = tp.rotation(); m_pressure = tp.pressure(); m_ellipseDiameters = tp.ellipseDiameters(); diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index 105cc9a3ea..c4200ac550 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -325,7 +325,7 @@ protected: private: QVector2D estimatedVelocity() const; -private: +protected: QPointF m_pos; QPointF m_scenePos; QPointF m_scenePressPos; |