From 21e8aae823915189c2848255d0a4da07978e642f Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Tue, 12 Oct 2021 18:36:24 +0100 Subject: [PATCH] Add a test for #238 Which I can't reproduce yet, but at least tests another case. --- tests/tst_docks.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/tst_docks.cpp b/tests/tst_docks.cpp index 026e8f21..c61a419d 100644 --- a/tests/tst_docks.cpp +++ b/tests/tst_docks.cpp @@ -5512,7 +5512,9 @@ void TestDocks::tst_restoreNonRelativeFloatingWindowGeometry() EnsureTopLevelsDeleted e; auto m = createMainWindow(QSize(500, 500), MainWindowOption_None); auto dock1 = createDockWidget("1", new QPushButton("1")); - dock1->show(); + + // Also test that invisible dock doesn't change size + auto dock2 = createDockWidget("2", new QPushButton("2"), {}, {}, /*show=*/false); LayoutSaver saver(RestoreOption_RelativeToMainWindow); saver.dptr()->m_restoreOptions.setFlag(InternalRestoreOption::RelativeFloatingWindowGeometry, @@ -5521,11 +5523,16 @@ void TestDocks::tst_restoreNonRelativeFloatingWindowGeometry() const QByteArray saved = saver.serializeLayout(); const QSize floatingWindowSize = dock1->window()->size(); + const QSize floatingWindowSize2 = dock2->window()->size(); m->resize(m->width() * 2, m->height()); saver.restoreLayout(saved); + QVERIFY(dock2->isFloating()); + QVERIFY(!dock2->isOpen()); + QCOMPARE(dock1->window()->size(), floatingWindowSize); + QCOMPARE(dock2->window()->size(), floatingWindowSize2); } void TestDocks::tst_maximumSizePolicy()