aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickdrawer.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-05-31 08:13:14 +0200
committerLiang Qi <liang.qi@qt.io>2017-05-31 08:13:14 +0200
commit1e472c6c1aafd893eebf29929b36b77c42c0e199 (patch)
tree5d63cff70bc21e0ead4135347cc87e65e864f824 /src/quicktemplates2/qquickdrawer.cpp
parent44dd55be23138f0a6495b08818acaaa0ff68b086 (diff)
parentef6b8d3081f0bf93d6d59e67c8e3f82c63c511c3 (diff)
Merge remote-tracking branch 'origin/5.9.0' into 5.9
Diffstat (limited to 'src/quicktemplates2/qquickdrawer.cpp')
-rw-r--r--src/quicktemplates2/qquickdrawer.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickdrawer.cpp b/src/quicktemplates2/qquickdrawer.cpp
index 030fc98e..8159f05e 100644
--- a/src/quicktemplates2/qquickdrawer.cpp
+++ b/src/quicktemplates2/qquickdrawer.cpp
@@ -301,7 +301,7 @@ bool QQuickDrawerPrivate::grabMouse(QQuickItem *item, QMouseEvent *event)
Q_Q(QQuickDrawer);
handleMouseEvent(item, event);
- if (!window || !interactive || popupItem->keepMouseGrab())
+ if (!window || !interactive || popupItem->keepMouseGrab() || popupItem->keepTouchGrab())
return false;
const QPointF movePoint = event->windowPos();
@@ -377,6 +377,7 @@ bool QQuickDrawerPrivate::grabTouch(QQuickItem *item, QTouchEvent *event)
}
if (overThreshold) {
+ popupItem->grabTouchPoints(QVector<int>() << touchId);
popupItem->setKeepTouchGrab(true);
offset = offsetAt(movePoint);
}
@@ -422,7 +423,6 @@ bool QQuickDrawerPrivate::handleRelease(QQuickItem *item, const QPointF &point,
return QQuickPopupPrivate::handleRelease(item, point, timestamp);
}
- pressPoint = QPointF();
velocityCalculator.stopMeasuring(point, timestamp);
qreal velocity = 0;
@@ -479,6 +479,9 @@ bool QQuickDrawerPrivate::handleRelease(QQuickItem *item, const QPointF &point,
popupItem->setKeepMouseGrab(false);
popupItem->setKeepTouchGrab(false);
+ pressPoint = QPointF();
+ touchId = -1;
+
return wasGrabbed;
}