diff options
author | Liang Qi <liang.qi@qt.io> | 2017-05-31 08:13:14 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-05-31 08:13:14 +0200 |
commit | 1e472c6c1aafd893eebf29929b36b77c42c0e199 (patch) | |
tree | 5d63cff70bc21e0ead4135347cc87e65e864f824 /src/quicktemplates2/qquickdrawer.cpp | |
parent | 44dd55be23138f0a6495b08818acaaa0ff68b086 (diff) | |
parent | ef6b8d3081f0bf93d6d59e67c8e3f82c63c511c3 (diff) |
Merge remote-tracking branch 'origin/5.9.0' into 5.9
Change-Id: Iba044084bf82f6b2b8ceba4aa2a80bdcf8fc38e0
Diffstat (limited to 'src/quicktemplates2/qquickdrawer.cpp')
-rw-r--r-- | src/quicktemplates2/qquickdrawer.cpp | 7 |
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; } |