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
commit7cb18b0223eefbda1ad8b5f8fb67817237c2c4f2 (patch)
treee082ee3e5675ee1bf309067eb12ca00bb2bcdd9e
parent29fe77dbbdb9b34cd67fb4c9c409970c25b6a627 (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 43afbf3fd..1f163b9d7 100644
--- a/src/designer/src/designer/qdesigner_workbench.cpp
+++ b/src/designer/src/designer/qdesigner_workbench.cpp
@@ -373,6 +373,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);