GRAPHICS: MACGUI: fixed restoring screen

This commit is contained in:
Andrei Prykhodko 2018-07-26 05:18:04 +03:00
parent cdd5717ce0
commit f447ccb390
2 changed files with 6 additions and 3 deletions

View File

@ -674,7 +674,7 @@ bool MacMenu::mouseMove(int x, int y) {
_isVisible = false; _isVisible = false;
if (_wm->_mode & kWMModalMenuMode) { if (_wm->_mode & kWMModalMenuMode) {
_wm->pauseEngine(false); _wm->pauseEngine(false);
_wm->_screen = _wm->_screenCopy; // restore screen *_wm->_screen = *_wm->_screenCopy; // restore screen
g_system->copyRectToScreen(_wm->_screenCopy->getBasePtr(0, 0), _wm->_screenCopy->pitch, 0, 0, _wm->_screenCopy->w, _wm->_screenCopy->h); g_system->copyRectToScreen(_wm->_screenCopy->getBasePtr(0, 0), _wm->_screenCopy->pitch, 0, 0, _wm->_screenCopy->w, _wm->_screenCopy->h);
} }
} }
@ -689,7 +689,7 @@ bool MacMenu::mouseRelease(int x, int y) {
if (_wm->_mode & kWMModalMenuMode) { if (_wm->_mode & kWMModalMenuMode) {
_wm->pauseEngine(false); _wm->pauseEngine(false);
_wm->_screen = _wm->_screenCopy; // restore screen *_wm->_screen = *_wm->_screenCopy; // restore screen
g_system->copyRectToScreen(_wm->_screenCopy->getBasePtr(0, 0), _wm->_screenCopy->pitch, 0, 0, _wm->_screenCopy->w, _wm->_screenCopy->h); g_system->copyRectToScreen(_wm->_screenCopy->getBasePtr(0, 0), _wm->_screenCopy->pitch, 0, 0, _wm->_screenCopy->w, _wm->_screenCopy->h);
} }

View File

@ -341,7 +341,10 @@ static void menuTimerHandler(void *refCon) {
if (wm->_menuHotzone.contains(wm->_lastMousePos)) { if (wm->_menuHotzone.contains(wm->_lastMousePos)) {
wm->activateMenu(); wm->activateMenu();
if (wm->_mode & kWMModalMenuMode) { if (wm->_mode & kWMModalMenuMode) {
wm->_screenCopy = new ManagedSurface(*wm->_screen); // Create a copy if (!wm->_screenCopy)
wm->_screenCopy = new ManagedSurface(*wm->_screen); // Create a copy
else
*wm->_screenCopy = *wm->_screen;
wm->pauseEngine(true); wm->pauseEngine(true);
} }
} }