From: Debian Qt/KDE Maintainers Date: Sat, 17 Dec 2022 15:20:11 +0000 (+0000) Subject: QtTest: use delay properly in mouseWheel() X-Git-Tag: archive/raspbian/5.15.7+dfsg-2+rpi1^2~7 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=02919d751ef257ddf21466e03158a388f076cf5d;p=qtdeclarative-opensource-src.git QtTest: use delay properly in mouseWheel() Origin: upstream, https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a7579771e35bfd73 Last-Update: 2022-05-23 Gbp-Pq: Name use_delay_properly_in_mousewheel.patch --- diff --git a/src/imports/testlib/quicktestevent.cpp b/src/imports/testlib/quicktestevent.cpp index f2d7f93d2..59b7f1594 100644 --- a/src/imports/testlib/quicktestevent.cpp +++ b/src/imports/testlib/quicktestevent.cpp @@ -231,8 +231,10 @@ namespace QtQuickTest QTEST_ASSERT(item); if (delay == -1 || delay < QTest::defaultMouseDelay()) delay = QTest::defaultMouseDelay(); - if (delay > 0) + if (delay > 0) { QTest::qWait(delay); + lastMouseTimestamp += delay; + } QPoint pos; QQuickItem *sgitem = qobject_cast(item); @@ -245,6 +247,7 @@ namespace QtQuickTest stateKey &= static_cast(Qt::KeyboardModifierMask); QWheelEvent we(pos, window->mapToGlobal(pos), QPoint(0, 0), QPoint(xDelta, yDelta), buttons, stateKey, Qt::NoScrollPhase, false); + we.setTimestamp(++lastMouseTimestamp); QSpontaneKeyEvent::setSpontaneous(&we); // hmmmm if (!qApp->notify(window, &we)) diff --git a/tests/auto/qmltest/events/tst_wheel.qml b/tests/auto/qmltest/events/tst_wheel.qml index 96338a51e..fc3814197 100644 --- a/tests/auto/qmltest/events/tst_wheel.qml +++ b/tests/auto/qmltest/events/tst_wheel.qml @@ -64,7 +64,7 @@ Rectangle { verify(flick.contentX == 0); flick.contentY = 0; verify(flick.contentY == 0); - mouseWheel(flick, 200, 200, -120, 0, Qt.NoButton, Qt.NoModifier, -1); + mouseWheel(flick, 200, 200, -120, 0, Qt.NoButton, Qt.NoModifier, 100); wait(1000); verify(flick.contentX > 0); verify(flick.contentY == 0);