aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r--src/quick/items/qquickevents.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp
index 19dd81b6fc..3b14f72870 100644
--- a/src/quick/items/qquickevents.cpp
+++ b/src/quick/items/qquickevents.cpp
@@ -610,11 +610,8 @@ void QQuickEventPoint::setGrabberItem(QQuickItem *grabber)
m_sceneGrabPos = m_scenePos;
if (oldGrabberHandler)
oldGrabberHandler->onGrabChanged(oldGrabberHandler, CancelGrabExclusive, this);
- else if (oldGrabberItem && oldGrabberItem != grabber) {
- auto pte = pointerEvent()->asPointerTouchEvent();
- if (pte && pte->asTouchEvent() && pte->asTouchEvent()->touchPointStates() == Qt::TouchPointReleased)
- oldGrabberItem->touchUngrabEvent();
- }
+ else if (oldGrabberItem && oldGrabberItem != grabber && grabber && pointerEvent()->asPointerTouchEvent())
+ oldGrabberItem->touchUngrabEvent();
for (QPointer<QQuickPointerHandler> passiveGrabber : m_passiveGrabbers)
passiveGrabber->onGrabChanged(passiveGrabber, OverrideGrabPassive, this);
}