diff options
Diffstat (limited to 'src/quick/items/qquickmultipointtoucharea.cpp')
-rw-r--r-- | src/quick/items/qquickmultipointtoucharea.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp index d2fc476038..35e458fa52 100644 --- a/src/quick/items/qquickmultipointtoucharea.cpp +++ b/src/quick/items/qquickmultipointtoucharea.cpp @@ -540,7 +540,7 @@ void QQuickMultiPointTouchArea::touchEvent(QTouchEvent *event) } updateTouchData(event); if (event->type() == QEvent::TouchEnd) - ungrab(); + ungrab(true); break; } case QEvent::TouchCancel: @@ -878,7 +878,8 @@ void QQuickMultiPointTouchArea::ungrab(bool normalRelease) if (_touchPoints.count()) { for (QObject *obj : qAsConst(_touchPoints)) static_cast<QQuickTouchPoint*>(obj)->setPressed(false); - emit canceled(_touchPoints.values()); + if (!normalRelease) + emit canceled(_touchPoints.values()); clearTouchLists(); for (QObject *obj : qAsConst(_touchPoints)) { QQuickTouchPoint *dtp = static_cast<QQuickTouchPoint*>(obj); |