summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-06-28 08:28:12 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-28 21:40:38 +0000
commit59e0f40f709d94cf51006b6484dd4a12c102a802 (patch)
tree7473c7008fc7587dae01298c7149aed69a23d77d
parent7bc91e2f59225d4eb92530262eaedcaba20b40c5 (diff)
Qt Designer: Fix assert when switching from Docked to Top Level mode with forms
Clear the active window of the QMdiArea, fixing an assert: ASSERT failure in DockedMainWindow: "Called object is not of the correct type (class destructor may have already run)", file qobjectdefs_impl.h, line 155 when reparenting. Change-Id: Ia8078475d55c5d18839973c512093b7fcc1960ec Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> (cherry picked from commit 37663693bfd7ab094990b3326fcc0cf37142bde3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/designer/src/designer/qdesigner_workbench.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/designer/src/designer/qdesigner_workbench.cpp b/src/designer/src/designer/qdesigner_workbench.cpp
index 313f2b9f2..d7f9c9559 100644
--- a/src/designer/src/designer/qdesigner_workbench.cpp
+++ b/src/designer/src/designer/qdesigner_workbench.cpp
@@ -348,6 +348,9 @@ void QDesignerWorkbench::switchToNeutralMode()
tw->setParent(nullptr);
}
+ if (m_dockedMainWindow != nullptr) // Prevent assert
+ m_dockedMainWindow->mdiArea()->setActiveSubWindow(nullptr);
+
for (QDesignerFormWindow *fw : qAsConst(m_formWindows)) {
fw->setParent(nullptr);
fw->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);