From b5dc9dd949c08722fed8ef350901f6acfea9408f Mon Sep 17 00:00:00 2001 From: Miro Kropacek Date: Thu, 11 May 2023 23:53:17 +0200 Subject: [PATCH] GUI: Fix sliding up of the console #4953 optimized redrawing of the top dialog in commit f824f8a. This however broke console's sliding up as the code in question depended on the fact that it was internally equivalent to a full redraw. --- gui/console.cpp | 2 +- gui/gui-manager.cpp | 4 ++++ gui/gui-manager.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gui/console.cpp b/gui/console.cpp index 61f0d1b8471..4bfcac94171 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -247,7 +247,7 @@ void ConsoleDialog::handleTickle() { //_slideMode = kNoSlideMode; close(); } else - g_gui.scheduleTopDialogRedraw(); + g_gui.scheduleFullRedraw(); } _scrollBar->handleTickle(); diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index 7cd87861ae2..abad4cf36cf 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -811,6 +811,10 @@ void GuiManager::scheduleTopDialogRedraw() { _redrawStatus = kRedrawTopDialog; } +void GuiManager::scheduleFullRedraw() { + _redrawStatus = kRedrawFull; +} + void GuiManager::giveFocusToDialog(Dialog *dialog) { int16 dialogX = _globalMousePosition.x - dialog->_x; int16 dialogY = _globalMousePosition.y - dialog->_y; diff --git a/gui/gui-manager.h b/gui/gui-manager.h index 813b287eb68..af5745273e3 100644 --- a/gui/gui-manager.h +++ b/gui/gui-manager.h @@ -88,6 +88,7 @@ public: void processEvent(const Common::Event &event, Dialog *const activeDialog); Common::Keymap *getKeymap() const; void scheduleTopDialogRedraw(); + void scheduleFullRedraw(); bool isActive() const { return ! _dialogStack.empty(); }