aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmultipointtoucharea.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-06-19 18:30:02 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-06-22 20:21:34 +0200
commitff2e7d2cea324a6d9bc6add4234600400de6a932 (patch)
tree5969351c634b8170c67776ea4daf9ec119a83c61 /src/quick/items/qquickmultipointtoucharea.cpp
parent9045b94d1ad7e945475d52bba152fdbdb36debbf (diff)
MultiPointTouchArea: don't emit canceled() during ordinary touch release
Amends 0012f8bd152a36a67abc696465f27d612625b5d9. For some reason tst_QQuickMultiPointTouchArea::inFlickableWithPressDelay()'s check QCOMPARE(flickable->property("cancelCount").toInt(), 0); passed on Qt 5, but we get a canceled() signal in Qt 6. Task-number: QTBUG-78818 Change-Id: Ib77bc4fc5774bd697247351c274bb5deb8cc4009 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
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);