diff options
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r-- | src/quick/items/qquickevents.cpp | 7 |
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); } |