diff options
-rw-r--r-- | src/quick/items/qquickitem.cpp | 2 | ||||
-rw-r--r-- | tests/auto/qmltest/events/BLACKLIST | 8 | ||||
-rw-r--r-- | tests/auto/qmltest/events/tst_touch.qml | 14 |
3 files changed, 9 insertions, 15 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index e7104b4361..d9abd2c76a 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -8430,6 +8430,8 @@ QTouchEvent QQuickItemPrivate::localizedTouchEvent(const QTouchEvent *event, boo QEventPoint pCopy(p); QMutableEventPoint mut = QMutableEventPoint::from(pCopy); eventStates |= p.state(); + if (p.state() == QEventPoint::State::Released) + mut.detach(); mut.setPosition(localPos); touchPoints << mut; } diff --git a/tests/auto/qmltest/events/BLACKLIST b/tests/auto/qmltest/events/BLACKLIST deleted file mode 100644 index e43b7a94d7..0000000000 --- a/tests/auto/qmltest/events/BLACKLIST +++ /dev/null @@ -1,8 +0,0 @@ -[touch::test_childMapping] -* -[touch::test_simpleChain] -* -[touch::test_fullSequence] -* -[touch::test_secondWindow] -* diff --git a/tests/auto/qmltest/events/tst_touch.qml b/tests/auto/qmltest/events/tst_touch.qml index b7fa701429..ab54eb9e09 100644 --- a/tests/auto/qmltest/events/tst_touch.qml +++ b/tests/auto/qmltest/events/tst_touch.qml @@ -157,27 +157,27 @@ MultiPointTouchArea { compare(touchPoints.length, 1); verify(comparePoint(touchPoints[0], first, 0, 0)); - sequence.stationary(first); + sequence.stationary(first, null, 0, 0); sequence.press(second, null, 1, 0); sequence.commit(); - compare(touchUpdatedSpy.count, 2); + compare(touchUpdatedSpy.count, 3); touchPoints = touchUpdatedSpy.signalArguments[1][0]; compare(touchPoints.length, 2); verify(comparePoint(touchPoints[0], first, 0, 0)); verify(comparePoint(touchPoints[1], second, 1, 0)); - sequence.release(first); + sequence.release(first, null, 0, 0); sequence.move(second, null, 1, 1); sequence.commit(); - compare(touchUpdatedSpy.count, 3); - touchPoints = touchUpdatedSpy.signalArguments[2][0]; + compare(touchUpdatedSpy.count, 4); + touchPoints = touchUpdatedSpy.signalArguments[3][0]; compare(touchPoints.length, 1); verify(comparePoint(touchPoints[0], second, 1, 1)); sequence.release(second, null, 0, 1); sequence.commit(); - compare(touchUpdatedSpy.count, 4); - touchPoints = touchUpdatedSpy.signalArguments[3][0]; + compare(touchUpdatedSpy.count, 5); + touchPoints = touchUpdatedSpy.signalArguments[4][0]; compare(touchPoints.length, 0); } |