From 4fa528813ef5495d018b862ae98e79e7d857900b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 15 Mar 2011 14:52:35 +0100 Subject: [PATCH] Debugger: Fix exit crash in debug mode (X11). Double deletion of debug mode widgets. --- src/plugins/coreplugin/navigationwidget.cpp | 6 ++++-- src/plugins/debugger/debuggermainwindow.cpp | 1 + src/plugins/debugger/debuggerplugin.cpp | 3 +-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index 41ec4edae0a..55d4dadaca3 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -79,8 +79,10 @@ NavigationWidgetPlaceHolder::NavigationWidgetPlaceHolder(Core::IMode *mode, QWid NavigationWidgetPlaceHolder::~NavigationWidgetPlaceHolder() { if (m_current == this) { - NavigationWidget::instance()->setParent(0); - NavigationWidget::instance()->hide(); + if (NavigationWidget *nw = NavigationWidget::instance()) { + nw->setParent(0); + nw->hide(); + } } } diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index c37a756c991..e26828dd404 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -507,6 +507,7 @@ QWidget *DebuggerMainWindow::createContents(IMode *mode) splitter->addWidget(mainWindowSplitter); splitter->setStretchFactor(0, 0); splitter->setStretchFactor(1, 1); + splitter->setObjectName(QLatin1String("DebugModeWidget")); return splitter; } diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index ce838312fc4..9d0f50a0f44 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1117,8 +1117,7 @@ DebuggerPluginPrivate::~DebuggerPluginPrivate() delete m_debuggerSettings; m_debuggerSettings = 0; - delete m_mainWindow; - m_mainWindow = 0; + // Mainwindow will be deleted by debug mode. delete m_snapshotHandler; m_snapshotHandler = 0;