diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-06-28 08:28:12 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-28 21:40:38 +0000 |
commit | 59e0f40f709d94cf51006b6484dd4a12c102a802 (patch) | |
tree | 7473c7008fc7587dae01298c7149aed69a23d77d | |
parent | 7bc91e2f59225d4eb92530262eaedcaba20b40c5 (diff) | |
download | qttools-59e0f40f709d94cf51006b6484dd4a12c102a802.tar.gz |
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.cpp | 3 |
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); |