aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-16 15:26:39 +0100
committerEugene Sandulenko2019-12-16 15:26:39 +0100
commit2582036ea6588a117a08523368dfb91dea4fccc3 (patch)
treec2d7727f8e3aaf81348d8c1480c0ebdd5b61f512 /graphics/macgui
parent9f789b4bde4556636f25f3b1dfd0b859b47ede28 (diff)
downloadscummvm-rg350-2582036ea6588a117a08523368dfb91dea4fccc3.tar.gz
scummvm-rg350-2582036ea6588a117a08523368dfb91dea4fccc3.tar.bz2
scummvm-rg350-2582036ea6588a117a08523368dfb91dea4fccc3.zip
GRAPHICS: MACGUI: Remove flicker when exiting modal menu
Diffstat (limited to 'graphics/macgui')
-rw-r--r--graphics/macgui/macmenu.cpp6
-rw-r--r--graphics/macgui/macwindowmanager.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index f98bdadeb2..76c73341bd 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -980,6 +980,10 @@ bool MacMenu::mouseClick(int x, int y) {
if (_wm->_mode & kWMModalMenuMode) {
draw(_wm->_screen);
eventLoop();
+
+ // Do not do full refresh as we took care of restoring
+ // the screen. WM is not even aware we were drawing.
+ _wm->setFullRefresh(false);
}
return true;
@@ -1126,7 +1130,7 @@ bool MacMenu::mouseRelease(int x, int y) {
_activeSubItem = -1;
_menustack.clear();
- _wm->setFullRefresh((_wm->_mode & kWMModalMenuMode) ? false : true);
+ _wm->setFullRefresh(true);
return true;
}
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index 7e195f07dc..c412e64f0a 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -172,7 +172,7 @@ public:
* Mutator to indicate that the entire desktop must be refreshed.
* @param redraw Currently unused.
*/
- void setFullRefresh(bool redraw) { _fullRefresh = true; }
+ void setFullRefresh(bool redraw) { _fullRefresh = redraw; }
/**
* Method to draw the desktop into the screen,