[Scummvm-git-logs] scummvm master -> d2a1102423981e372a9b6bd822230a5a13c8e658
npjg
nathanael.gentrydb8 at gmail.com
Wed Aug 19 21:00:46 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d2a1102423 GRAPHICS: MACGUI: Fix screen copying with direct draw
Commit: d2a1102423981e372a9b6bd822230a5a13c8e658
https://github.com/scummvm/scummvm/commit/d2a1102423981e372a9b6bd822230a5a13c8e658
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-08-19T16:59:18-04:00
Commit Message:
GRAPHICS: MACGUI: Fix screen copying with direct draw
Changed paths:
graphics/macgui/macwindowmanager.cpp
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 63295bd351..7b1e76594f 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -343,28 +343,35 @@ void MacWindowManager::activateMenu() {
}
void MacWindowManager::activateScreenCopy() {
- if (!_screen)
- return;
+ if (_screen) {
+ if (!_screenCopy)
+ _screenCopy = new ManagedSurface(*_screen); // Create a copy
+ else
+ *_screenCopy = *_screen;
+ } else {
+ Surface *surface = g_system->lockScreen();
- if (!_screenCopy)
- _screenCopy = new ManagedSurface(*_screen); // Create a copy
- else
- *_screenCopy = *_screen;
+ if (!_screenCopy) {
+ _screenCopy = new ManagedSurface(_screenDims.width(), _screenDims.height());
+ }
+
+ _screenCopy->blitFrom(*surface);
+ g_system->unlockScreen();
+ }
_screenCopyPauseToken = new PauseToken(pauseEngine());
}
void MacWindowManager::disableScreenCopy() {
- if (!_screen)
- return;
-
if (_screenCopyPauseToken) {
_screenCopyPauseToken->clear();
delete _screenCopyPauseToken;
_screenCopyPauseToken = nullptr;
}
- *_screen = *_screenCopy; // restore screen
+ if (_screen)
+ *_screen = *_screenCopy; // restore screen
+
g_system->copyRectToScreen(_screenCopy->getBasePtr(0, 0), _screenCopy->pitch, 0, 0, _screenCopy->w, _screenCopy->h);
}
More information about the Scummvm-git-logs
mailing list