aboutsummaryrefslogtreecommitdiff
path: root/gui/newgui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/newgui.cpp')
-rw-r--r--gui/newgui.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/gui/newgui.cpp b/gui/newgui.cpp
index 4c9cb5960d..669d305ef1 100644
--- a/gui/newgui.cpp
+++ b/gui/newgui.cpp
@@ -184,9 +184,10 @@ void NewGui::redraw() {
// This is necessary to get the blending right.
_theme->clearAll();
- for (i = 0; i < _dialogStack.size(); ++i) {
- _theme->closeDialog();
- }
+ _theme->closeAllDialogs();
+ //for (i = 0; i < _dialogStack.size(); ++i)
+ // _theme->closeDialog();
+
for (i = 0; i < _dialogStack.size(); i++) {
// Special treatment when topmost dialog has dimsInactive() set to false
// This is the case for PopUpWidget which should not dim a dialog
@@ -201,7 +202,7 @@ void NewGui::redraw() {
_dialogStack[i]->drawDialog();
}
- _theme->drawAll();
+ _theme->updateScreen();
}
Dialog *NewGui::getTopDialog() const {
@@ -243,7 +244,7 @@ void NewGui::runLoop() {
if (_useStdCursor)
animateCursor();
- _theme->drawAll();
+ _theme->updateScreen();
_system->updateScreen();
Common::Event event;
@@ -321,7 +322,10 @@ void NewGui::runLoop() {
_system->delayMillis(10);
}
- _theme->closeDialog();
+ // HACK: since we reopen all dialogs anyway on redraw
+ // we for now use Theme::closeAllDialogs here, until
+ // we properly add (and implement) Theme::closeDialog
+ _theme->closeAllDialogs();
if (didSaveState) {
_theme->disable();