diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 21 | ||||
-rw-r--r-- | tests/manual/widgetgrab/main.cpp | 4 |
2 files changed, 14 insertions, 11 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 7de3f8aced..a70129c5f7 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -5407,6 +5407,7 @@ void tst_QWidget::setToolTip() // Mouse over doesn't work on Windows mobile, so skip the rest of the test for that platform. #ifndef Q_OS_WINCE_WM for (int pass = 0; pass < 2; ++pass) { + QCursor::setPos(0, 0); QScopedPointer<QWidget> popup(new QWidget(0, Qt::Popup)); popup->setObjectName(QString::fromLatin1("tst_qwidget setToolTip #%1").arg(pass)); popup->setWindowTitle(popup->objectName()); @@ -5421,17 +5422,16 @@ void tst_QWidget::setToolTip() popup->setToolTip(QLatin1String("TOOLTIP POPUP")); popup->show(); QVERIFY(QTest::qWaitForWindowExposed(popup.data())); + QWindow *popupWindow = popup->windowHandle(); QTest::qWait(10); - QTest::mouseMove(frame); + QTest::mouseMove(popupWindow, QPoint(25, 25)); QTest::qWait(900); // delay is 700 - if (m_platform == QStringLiteral("xcb")) - QSKIP("QTBUG-26424"); QCOMPARE(spy1.count(), 1); QCOMPARE(spy2.count(), 0); if (pass == 0) QTest::qWait(2200); // delay is 2000 - QTest::mouseMove(popup.data()); + QTest::mouseMove(popupWindow); } #endif } @@ -9635,7 +9635,7 @@ void tst_QWidget::underMouse() // Enter window, outside children // Note: QTest::mouseMove will not generate enter events for windows, so send one explicitly - QWindowSystemInterface::handleEnterEvent(window); + QWindowSystemInterface::handleEnterEvent(window, inWindowPoint, window->mapToGlobal(inWindowPoint)); QTest::mouseMove(window, inWindowPoint); QVERIFY(topLevelWidget.underMouse()); QVERIFY(!childWidget1.underMouse()); @@ -9754,7 +9754,7 @@ void tst_QWidget::underMouse() childWidget1.resetCounts(); // Mouse enters back in, should cause enter to topLevelWidget - QWindowSystemInterface::handleEnterEvent(window); + QWindowSystemInterface::handleEnterEvent(window, inWindowPoint, window->mapToGlobal(inWindowPoint)); QApplication::processEvents(); QVERIFY(!topLevelWidget.underMouse()); QVERIFY(!childWidget1.underMouse()); @@ -9788,7 +9788,8 @@ void tst_QWidget::underMouse() // Mouse enters popup, should cause enter to popup and leave to current widgets under mouse QWindowSystemInterface::handleLeaveEvent(window); - QWindowSystemInterface::handleEnterEvent(popupWindow); + const QPoint popupCenter = popupWindow->geometry().center(); + QWindowSystemInterface::handleEnterEvent(popupWindow, popupWindow->mapFromGlobal(popupCenter), popupCenter); QApplication::processEvents(); QVERIFY(!topLevelWidget.underMouse()); QVERIFY(!childWidget1.underMouse()); @@ -9823,7 +9824,7 @@ void tst_QWidget::underMouse() // Mouse leaves popup and enters topLevelWidget, should cause enter to topLevelWidget and leave for popup QWindowSystemInterface::handleLeaveEvent(popupWindow); - QWindowSystemInterface::handleEnterEvent(window); + QWindowSystemInterface::handleEnterEvent(window, inWindowPoint, window->mapToGlobal(inWindowPoint)); QApplication::processEvents(); QVERIFY(!topLevelWidget.underMouse()); QVERIFY(!childWidget1.underMouse()); @@ -9876,7 +9877,7 @@ public slots: QPoint point2(15, 20); QPoint point3(20, 20); QWindow *window = modal->windowHandle(); - QWindowSystemInterface::handleEnterEvent(window); + QWindowSystemInterface::handleEnterEvent(window, point1, window->mapToGlobal(point1)); QTest::mouseMove(window, point1); QTest::mouseMove(window, point2); QTest::mouseMove(window, point3); @@ -9922,7 +9923,7 @@ void tst_QWidget::taskQTBUG_27643_enterEvents() QWindow *window = dialog.windowHandle(); QPoint overButton(25, 25); - QWindowSystemInterface::handleEnterEvent(window); + QWindowSystemInterface::handleEnterEvent(window, overButton, window->mapToGlobal(overButton)); QTest::mouseMove(window, overButton); QTest::mouseClick(window, Qt::LeftButton, 0, overButton, 0); diff --git a/tests/manual/widgetgrab/main.cpp b/tests/manual/widgetgrab/main.cpp index e03800ee6d..a83338e9b7 100644 --- a/tests/manual/widgetgrab/main.cpp +++ b/tests/manual/widgetgrab/main.cpp @@ -233,9 +233,11 @@ bool MainWindow::eventFilter(QObject *o, QEvent *e) if (o->isWidgetType()) { switch (e->type()) { case QEvent::Enter: { + const QEnterEvent *ee = static_cast<QEnterEvent *>(e); QString message; QDebug debug(&message); - debug.nospace() << '#' << m_enterLeaveEventCount++ << " Enter for " << o->objectName(); + debug.nospace() << '#' << m_enterLeaveEventCount++ << " Enter for " << o->objectName() + << " at " << ee->localPos() << " global: " << ee->globalPos(); m_logEdit->appendPlainText(message); } break; |