diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 014e31d1a9..8992a0b051 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -607,6 +607,9 @@ tst_QWidget::tst_QWidget() palette.setColor(QPalette::ToolTipBase, QColor(12, 13, 14)); palette.setColor(QPalette::Text, QColor(21, 22, 23)); QApplication::setPalette(palette, "QPropagationTestWidget"); + + if (QApplication::platformName().startsWith(QLatin1String("wayland"))) + qputenv("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1"); } tst_QWidget::~tst_QWidget() @@ -6383,6 +6386,9 @@ void tst_QWidget::setCursor() void tst_QWidget::setToolTip() { + if (QApplication::platformName().startsWith(QLatin1String("wayland"))) + QSKIP("Setting mouse cursor position is not possible on Wayland"); + QWidget widget; widget.resize(200, 200); // Showing the widget is not required for the tooltip event count test @@ -10207,9 +10213,16 @@ void tst_QWidget::focusProxy() window.setFocus(); window.show(); - window.activateWindow(); - if (!QTest::qWaitForWindowExposed(&window) || !QTest::qWaitForWindowActive(&window)) - QSKIP("Window activation failed"); + if (!QTest::qWaitForWindowExposed(&window)) + QSKIP("Window exposed failed"); + if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) { + window.activateWindow(); + if (!QTest::qWaitForWindowActive(&window)) + QSKIP("Window activation failed"); + } else { + if (!QTest::qWaitFor([&]() { return window.windowHandle()->isActive(); }, 5000)) + QSKIP("Window activation failed"); + } // given a widget without focus proxy QVERIFY(window.hasFocus());