Revamping the handling of GUI themes a bit:

* Moved the code which handles fallback to the built-in theme from ThemeEngine to GuiManager
* Changed ThemeEngine::init() to only init&load the theme; no more messing with the overlay
* Commented to a somewhat obscure line in the GuiManager event loop (taking eriktorbjorn's original commit message for that change as comment text)
* Cleaned up the way the Dialog constructor ensures that the current Theme is correctly setup
* Got rid of varios members of ThemeEngine
* Changed ThemeEngine members _screen and _backBuffer from Surface pointers to just plain Surfaces
* Changed ThemeEngine::loadFontFromArchive to use _themeArchive instead of creating an Archive from scratch
* Renamed ThemeEngine::getThemeFileName() to getThemeId() (and some associated tweaks)
* Lots of further cleanup and tweaks

svn-id: r35653
This commit is contained in:
Max Horn 2009-01-01 21:41:55 +00:00
parent 9752882f8b
commit 97e9b28c8a
6 changed files with 177 additions and 233 deletions

View file

@ -59,10 +59,7 @@ Dialog::Dialog(const Common::String &name)
//
// Fixes bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
// and bug #1595627: "SCUMM: F5 crashes game (640x480)"
if (g_gui.theme()->needThemeReload()) {
debug(2, "Theme forced to reload");
g_gui.screenChange();
}
g_gui.checkScreenChange();
}
int Dialog::runModal() {