aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/handlers/qquickdraghandler.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2017-03-17 15:57:45 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2017-03-30 12:59:08 +0000
commit1c46cae880759f0601bae5a0033ab22a53349a4c (patch)
tree5db0d02cc336548be4d9f34cf7bd732b8df36b8d /src/quick/handlers/qquickdraghandler.cpp
parent3523b676382db4aa39adeb9126d8bb2185e84403 (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.cpp5
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())