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 | 7cb18b0223eefbda1ad8b5f8fb67817237c2c4f2 (patch) | |
tree | e082ee3e5675ee1bf309067eb12ca00bb2bcdd9e | |
parent | 29fe77dbbdb9b34cd67fb4c9c409970c25b6a627 (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.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 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); |