aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmultipointtoucharea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickmultipointtoucharea.cpp')
-rw-r--r--src/quick/items/qquickmultipointtoucharea.cpp5
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);