aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-05 14:11:54 +0000
committerJohannes Schickel2009-07-05 14:11:54 +0000
commit4956052ca4d0d9e6fa0d50d3ceaaf442dae5d3aa (patch)
tree57fb44d4ad4bd5e33f34e08b9d55c3fd732a7aad
parentd424bee608ea2c1adc5720f081c9e221b2969e26 (diff)
downloadscummvm-rg350-4956052ca4d0d9e6fa0d50d3ceaaf442dae5d3aa.tar.gz
scummvm-rg350-4956052ca4d0d9e6fa0d50d3ceaaf442dae5d3aa.tar.bz2
scummvm-rg350-4956052ca4d0d9e6fa0d50d3ceaaf442dae5d3aa.zip
Got rid of HACK, which was used to setup new cursor on theme change.
svn-id: r42137
-rw-r--r--gui/GuiManager.cpp31
-rw-r--r--gui/GuiManager.h4
2 files changed, 12 insertions, 23 deletions
diff --git a/gui/GuiManager.cpp b/gui/GuiManager.cpp
index cf8b7b2d9d..21b437fb6e 100644
--- a/gui/GuiManager.cpp
+++ b/gui/GuiManager.cpp
@@ -72,7 +72,6 @@ GuiManager::GuiManager() : _redrawStatus(kRedrawDisabled),
error("Failed to load any GUI theme, aborting");
}
}
- _themeChange = false;
}
GuiManager::~GuiManager() {
@@ -143,12 +142,20 @@ bool GuiManager::loadNewTheme(Common::String id, ThemeEngine::GraphicsMode gfx)
// Enable the new theme
//
_theme = newTheme;
- _themeChange = true;
+ _useStdCursor = !_theme->ownCursor();
+
+ // If _stateIsSaved is set, we know that a Theme is already initialized,
+ // thus we initialize the new theme properly
+ if (_stateIsSaved) {
+ _theme->enable();
+
+ if (_useStdCursor)
+ setupCursor();
+ }
// refresh all dialogs
- for (int i = 0; i < _dialogStack.size(); ++i) {
+ for (int i = 0; i < _dialogStack.size(); ++i)
_dialogStack[i]->reflowLayout();
- }
// We need to redraw immediately. Otherwise
// some other event may cause a widget to be
@@ -233,7 +240,6 @@ void GuiManager::runLoop() {
// _theme->refresh();
- _themeChange = false;
_redrawStatus = kRedrawFull;
redraw();
}
@@ -285,21 +291,6 @@ void GuiManager::runLoop() {
Common::Point mouse(event.mouse.x - activeDialog->_x, event.mouse.y - activeDialog->_y);
- // HACK to change the cursor to the new themes one
- if (_themeChange) {
- _theme->enable();
-
- _useStdCursor = !_theme->ownCursor();
- if (_useStdCursor)
- setupCursor();
-
-// _theme->refresh();
-
- _themeChange = false;
- _redrawStatus = kRedrawFull;
- redraw();
- }
-
if (lastRedraw + waitTime < _system->getMillis()) {
_theme->updateScreen();
_system->updateScreen();
diff --git a/gui/GuiManager.h b/gui/GuiManager.h
index 102d612699..ab5c653549 100644
--- a/gui/GuiManager.h
+++ b/gui/GuiManager.h
@@ -120,9 +120,7 @@ protected:
// mouse cursor state
int _cursorAnimateCounter;
int _cursorAnimateTimer;
- byte _cursor[2048];
-
- bool _themeChange;
+ byte _cursor[2048];
void initKeymap();