diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 0d6ac443a22..4f66f97203a 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -785,6 +785,13 @@ public: DebuggerEngine *currentEngine() const { return m_currentEngine; } public slots: + void writeSettings() + { + m_debuggerSettings->writeSettings(); + m_mainWindow->writeSettings(); + GdbOptionsPage::writeGdbSettings(); + } + void selectThread(int index) { currentEngine()->selectThread(index); @@ -3052,6 +3059,9 @@ void DebuggerPluginPrivate::extensionsInitialized() // Connections // + // Core + connect(core, SIGNAL(saveSettingsRequested()), SLOT(writeSettings())); + // TextEditor connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)), @@ -3177,9 +3187,6 @@ void DebuggerPluginPrivate::aboutToShutdown() disconnect(sessionManager(), SIGNAL(startupProjectChanged(ProjectExplorer::Project*)), this, 0); - m_debuggerSettings->writeSettings(); - m_mainWindow->writeSettings(); - GdbOptionsPage::writeGdbSettings(); } } // namespace Internal diff --git a/src/plugins/debugger/gdb/gdboptionspage.cpp b/src/plugins/debugger/gdb/gdboptionspage.cpp index 5b5163721e8..8193ec36f6e 100644 --- a/src/plugins/debugger/gdb/gdboptionspage.cpp +++ b/src/plugins/debugger/gdb/gdboptionspage.cpp @@ -170,7 +170,6 @@ void GdbOptionsPage::readGdbSettings() /* static */ void GdbOptionsPage::writeGdbSettings() /* static */ { - // FIXME: This should actually get called in response to ICore::saveSettingsRequested() if (!gdbMappingChanged) return;