diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-03-17 15:57:45 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-03-30 12:59:08 +0000 |
commit | 1c46cae880759f0601bae5a0033ab22a53349a4c (patch) | |
tree | 5db0d02cc336548be4d9f34cf7bd732b8df36b8d /src/quick/handlers/qquickdraghandler.cpp | |
parent | 3523b676382db4aa39adeb9126d8bb2185e84403 (diff) |
DragHandler: don't steal exclusive grab
Change-Id: I643d0e93e180bba5d9fea4543b93cbb66668c94d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/handlers/qquickdraghandler.cpp')
-rw-r--r-- | src/quick/handlers/qquickdraghandler.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/handlers/qquickdraghandler.cpp b/src/quick/handlers/qquickdraghandler.cpp index db17df36ca..3b1ec1c344 100644 --- a/src/quick/handlers/qquickdraghandler.cpp +++ b/src/quick/handlers/qquickdraghandler.cpp @@ -95,8 +95,9 @@ void QQuickDragHandler::handleEventPoint(QQuickEventPoint *point) enforceAxisConstraints(&pos); target()->setPosition(pos); } - } else if ((m_xAxis.enabled() && QQuickWindowPrivate::dragOverThreshold(delta.x(), Qt::XAxis, point)) || - (m_yAxis.enabled() && QQuickWindowPrivate::dragOverThreshold(delta.y(), Qt::YAxis, point))) { + } else if (!point->exclusiveGrabber() && + ((m_xAxis.enabled() && QQuickWindowPrivate::dragOverThreshold(delta.x(), Qt::XAxis, point)) || + (m_yAxis.enabled() && QQuickWindowPrivate::dragOverThreshold(delta.y(), Qt::YAxis, point)))) { setExclusiveGrab(point); if (target()) { if (point->pointerEvent()->asPointerTouchEvent()) |