diff --git a/src/plugins/debugger/commonoptionspage.cpp b/src/plugins/debugger/commonoptionspage.cpp index 2f0bc5c758c..d4a3ecd2d65 100644 --- a/src/plugins/debugger/commonoptionspage.cpp +++ b/src/plugins/debugger/commonoptionspage.cpp @@ -84,13 +84,26 @@ public: }.attachTo(this); } - void apply() final { m_group.apply(); m_group.writeSettings(ICore::settings()); } + void apply() final; void finish() final { m_group.finish(); } private: AspectContainer &m_group = debuggerSettings()->page1; }; +void CommonOptionsPageWidget::apply() +{ + const DebuggerSettings *s = debuggerSettings(); + const bool originalPostMortem = s->registerForPostMortem->value(); + const bool currentPostMortem = s->registerForPostMortem->volatileValue().toBool(); + // explicitly trigger setValue() to override the setValueSilently() and trigger the registration + if (originalPostMortem != currentPostMortem) + s->registerForPostMortem->setValue(currentPostMortem); + + m_group.apply(); + m_group.writeSettings(ICore::settings()); +} + CommonOptionsPage::CommonOptionsPage() { setId(DEBUGGER_COMMON_SETTINGS_ID);