diff options
Diffstat (limited to 'gui/options.cpp')
-rw-r--r-- | gui/options.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gui/options.cpp b/gui/options.cpp index 60c5e4888a..62c5347520 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -242,17 +242,22 @@ void OptionsDialog::close() { ConfMan.setBool("fullscreen", _fullscreenCheckbox->getState(), _domain); ConfMan.setBool("aspect_ratio", _aspectCheckbox->getState(), _domain); + bool isSet = false; + if ((int32)_gfxPopUp->getSelectedTag() >= 0) { const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes(); while (gm->name) { if (gm->id == (int)_gfxPopUp->getSelectedTag()) { ConfMan.set("gfx_mode", gm->name, _domain); + isSet = true; break; } gm++; } } + if (!isSet) + ConfMan.removeKey("gfx_mode", _domain); if ((int32)_renderModePopUp->getSelectedTag() >= 0) ConfMan.set("render_mode", Common::getRenderModeCode((Common::RenderMode)_renderModePopUp->getSelectedTag()), _domain); |