diff options
author | Eugene Sandulenko | 2019-12-16 15:26:39 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2019-12-16 15:26:39 +0100 |
commit | 2582036ea6588a117a08523368dfb91dea4fccc3 (patch) | |
tree | c2d7727f8e3aaf81348d8c1480c0ebdd5b61f512 /graphics | |
parent | 9f789b4bde4556636f25f3b1dfd0b859b47ede28 (diff) | |
download | scummvm-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')
-rw-r--r-- | graphics/macgui/macmenu.cpp | 6 | ||||
-rw-r--r-- | graphics/macgui/macwindowmanager.h | 2 |
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, |