diff options
| author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-10-12 23:00:20 +0300 |
|---|---|---|
| committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2025-10-12 23:00:20 +0300 |
| commit | 4826f86e274f1b29bd769e6790824f9e62a40f62 (patch) | |
| tree | c2cc4bb09ca91951a2641e33c3b0a65deb0af877 /tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | |
| parent | 0f0972d542d9869c2dcfaf9c963d42ff32766460 (diff) | |
| parent | 844f9b9b376838bcb44324984876f8bf99d85d38 (diff) | |
Merge tag 'v6.5.7-lts-lgpl' into 6.56.5
Qt 6.5.7-lts-lgpl release
Diffstat (limited to 'tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp')
| -rw-r--r-- | tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp index 175bec4cb8..73411e5b8a 100644 --- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp +++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp @@ -14,6 +14,7 @@ #include <QtQuick/private/qquicktaphandler_p.h> #include <QtQuickTemplates2/private/qquickbutton_p.h> #include <QtQuickTestUtils/private/qmlutils_p.h> +#include <QtQuickTestUtils/private/visualtestutils_p.h> #include <QtGui/QWindow> #include <QtGui/QScreen> #include <QtGui/QImage> @@ -142,6 +143,7 @@ private slots: void focusPreserved(); void accessibilityHandlesViewChange(); void cleanupRhi(); + void dontRecreateRootElementOnWindowChange(); private: QPointingDevice *device = QTest::createTouchDevice(); @@ -991,8 +993,7 @@ void tst_qquickwidget::focusOnClickInProxyWidget() void tst_qquickwidget::focusPreserved() { - if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) - QSKIP("Window Activation is not supported."); + SKIP_IF_NO_WINDOW_ACTIVATION if (QGuiApplication::platformName() == "android") QSKIP("Test doesn't exit cleanly on Android and generates many warnings - QTBUG-112696"); @@ -1096,6 +1097,21 @@ void tst_qquickwidget::cleanupRhi() topLevel.create(); } +void tst_qquickwidget::dontRecreateRootElementOnWindowChange() +{ + auto *quickWidget = new QQuickWidget(); + quickWidget->setSource(testFileUrl("rectangle.qml")); + QObject *item = quickWidget->rootObject(); + + bool wasDestroyed = false; + QObject::connect(item, &QObject::destroyed, this, [&] { wasDestroyed = true; }); + + QEvent event(QEvent::WindowChangeInternal); + QCoreApplication::sendEvent(quickWidget, &event); + + QVERIFY(!wasDestroyed); +} + QTEST_MAIN(tst_qquickwidget) #include "tst_qquickwidget.moc" |
