diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-25 10:49:13 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-25 15:37:03 +0200 |
commit | 2bf4c3db3110cece2105de6559856cbed6e7d98e (patch) | |
tree | 3f245bfbf3cd3678cd95734ed0a75d70c334a448 /tests/auto | |
parent | 364cf0bf20d7acdc0ed4073db0ca603ec5435c97 (diff) |
tst_qmdiarea: Fix widget leaks.
Change-Id: If2ecf2c080f9eb8416b9a3d4104584681862c266
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index 59021108a2..4f611cd06f 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -237,6 +237,8 @@ public: tst_QMdiArea(); public slots: void initTestCase(); + void cleanup(); + protected slots: void activeChanged(QMdiSubWindow *child); @@ -306,6 +308,11 @@ void tst_QMdiArea::initTestCase() #endif } +void tst_QMdiArea::cleanup() +{ + QVERIFY(QApplication::topLevelWidgets().isEmpty()); +} + // Old QWorkspace tests void tst_QMdiArea::activeChanged(QMdiSubWindow *child) { @@ -1271,6 +1278,7 @@ void tst_QMdiArea::removeSubWindow_2() mdiArea.addSubWindow(subWindow); QVERIFY(numberOfConnectedSignals(subWindow) >= 2); subWindow->setParent(0); + QScopedPointer<MySubWindow> subWindowGuard(subWindow); QCOMPARE(numberOfConnectedSignals(subWindow), 0); } @@ -2340,7 +2348,7 @@ void tst_QMdiArea::setViewMode() QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); QMdiSubWindow *activeSubWindow = mdiArea.activeSubWindow(); - const QList<QMdiSubWindow *> subWindows = mdiArea.subWindowList(); + QList<QMdiSubWindow *> subWindows = mdiArea.subWindowList(); // Default. QVERIFY(!activeSubWindow->isMaximized()); @@ -2410,9 +2418,12 @@ void tst_QMdiArea::setViewMode() // Remove sub-windows and make sure the tab is removed. foreach (QMdiSubWindow *subWindow, subWindows) { - if (subWindow != activeSubWindow) + if (subWindow != activeSubWindow) { mdiArea.removeSubWindow(subWindow); + delete subWindow; + } } + subWindows.clear(); QCOMPARE(tabBar->count(), 1); // Go back to default (QMdiArea::SubWindowView). |