diff options
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/gfx.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp index dd7a23d0cf..3547986ce3 100644 --- a/engines/scumm/gfx.cpp +++ b/engines/scumm/gfx.cpp @@ -1146,12 +1146,11 @@ void ScummEngine::moveScreen(int dx, int dy, int height) { if ((dx == 0 && dy == 0) || height <= 0) return; - Graphics::Surface screen; - assert(_system->grabRawScreen(&screen)); - - screen.move(dx, dy, height); - _system->copyRectToScreen((byte *)screen.pixels, screen.pitch, 0, 0, screen.w, screen.h); - screen.free(); + Graphics::Surface *screen = _system->lockScreen(); + if (!screen) + return; + screen->move(dx, dy, height); + _system->unlockScreen(); } void ScummEngine_v5::clearFlashlight() { |