From 699407b4ba2fbea1a98e4add3763fd6e205cde99 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 24 Mar 2020 14:40:54 +0100 Subject: Debugger: Create central widget earlier This ensures the showCentralWidget() call in restorePersistentSettings() has something to operate on. Change-Id: I52e676517cad4e7c3c0e7ca80b8756f937c805a0 Fixes: QTCREATORBUG-23755 Reviewed-by: David Schulz Reviewed-by: Eike Ziller --- src/plugins/debugger/debuggermainwindow.cpp | 5 +++++ src/plugins/debugger/debuggerplugin.cpp | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index ce01d5a5a9..7e6028d935 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -297,6 +297,11 @@ DebuggerMainWindow::DebuggerMainWindow() cmd->setAttribute(Command::CA_Hide); viewsMenu->addAction(cmd, Core::Constants::G_DEFAULT_THREE); + // HACK: See QTCREATORBUG-23755. This ensures the showCentralWidget() + // call in restorePersistentSettings() below has something to operate on, + // and a plain QWidget is what we'll use anyway as central widget. + setCentralWidget(new QWidget); + restorePersistentSettings(); } diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index cdbe82a7a5..6046d5be96 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -496,7 +496,7 @@ public: documentAndRightPane->setStretchFactor(0, 1); documentAndRightPane->setStretchFactor(1, 0); - auto centralEditorWidget = new QWidget; + auto centralEditorWidget = mainWindow->centralWidget(); auto centralLayout = new QVBoxLayout(centralEditorWidget); centralEditorWidget->setLayout(centralLayout); centralLayout->setContentsMargins(0, 0, 0, 0); @@ -525,7 +525,6 @@ public: splitter->setStretchFactor(1, 1); splitter->setObjectName("DebugModeWidget"); - mainWindow->setCentralWidget(centralEditorWidget); mainWindow->addSubPerspectiveSwitcher(EngineManager::engineChooser()); setWidget(splitter); -- cgit v1.2.1