QtTest: use delay properly in mouseWheel()
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Fri, 1 Jul 2022 20:08:41 +0000 (21:08 +0100)
committerDmitry Shachnev <mitya57@debian.org>
Fri, 1 Jul 2022 20:08:41 +0000 (21:08 +0100)
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

src/imports/testlib/quicktestevent.cpp
tests/auto/qmltest/events/tst_wheel.qml

index f2d7f93d26f7684157f4b85617a3ada484dd6a46..59b7f159461be924d0c14736db8865a4567dbd6a 100644 (file)
@@ -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<QQuickItem *>(item);
@@ -245,6 +247,7 @@ namespace QtQuickTest
         stateKey &= static_cast<unsigned int>(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))
index 96338a51ecba2417e167a3da8832f9f2fc6da3a8..fc381419711f4061d223681750bc4b71919654ec 100644 (file)
@@ -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);