From c62efbcab33497487f8620eaed352b69810664fa Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 1 Jan 2009 17:02:45 +0000 Subject: Added two FIXMEs to global options dialog, related to theme selection svn-id: r35650 --- gui/options.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gui/options.cpp b/gui/options.cpp index 29d0c6a3e1..98d8bbea76 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -847,6 +847,8 @@ void GlobalOptionsDialog::close() { GUI::ThemeEngine::GraphicsMode selected = (GUI::ThemeEngine::GraphicsMode)_rendererPopUp->getSelectedTag(); const char *cfg = GUI::ThemeEngine::findModeConfigName(selected); if (!ConfMan.get("gui_renderer").equalsIgnoreCase(cfg)) { + // FIXME: Actually, any changes (including the theme change) should + // only become active *after* the options dialog has closed. g_gui.loadNewTheme(g_gui.theme()->getThemeFileName(), selected); ConfMan.set("gui_renderer", cfg, _domain); } @@ -930,12 +932,13 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3 ThemeBrowser browser; if (browser.runModal() > 0) { // User made his choice... - const Common::String &theme = browser.getSelected(); - if (!theme.equalsIgnoreCase(g_gui.theme()->getThemeFileName())) - if (g_gui.loadNewTheme(theme)) { - _curTheme->setLabel(g_gui.theme()->getThemeName()); - ConfMan.set("gui_theme", theme); - } + Common::String theme = browser.getSelected(); + // FIXME: Actually, any changes (including the theme change) should + // only become active *after* the options dialog has closed. + if (g_gui.loadNewTheme(theme)) { + _curTheme->setLabel(g_gui.theme()->getThemeName()); + ConfMan.set("gui_theme", theme); + } draw(); } break; -- cgit v1.2.3