diff options
author | Martin Kiewitz | 2010-01-06 18:59:39 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-01-06 18:59:39 +0000 |
commit | edc7fcf121bf56052858498d3168c344c00d7442 (patch) | |
tree | 4ea0519f9a717f8e371bff39da92a06f9d93f746 /engines/sci/graphics/screen.cpp | |
parent | 11d9f150106cbcc6be196902f3970badb8de70f5 (diff) | |
download | scummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.tar.gz scummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.tar.bz2 scummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.zip |
SCI: sync displayScreen with framebuffer after successful video playback (fixes background vanishing in mainmenu of gk1demo)
svn-id: r47089
Diffstat (limited to 'engines/sci/graphics/screen.cpp')
-rw-r--r-- | engines/sci/graphics/screen.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index fce6827d43..a78b049e5e 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -91,6 +91,13 @@ void Screen::copyFromScreen(byte *buffer) { g_system->unlockScreen(); } +void Screen::syncWithFramebuffer() { + Graphics::Surface *screen = g_system->lockScreen(); + + memcpy(_displayScreen, screen->pixels, _displayPixels); + g_system->unlockScreen(); +} + void Screen::copyRectToScreen(const Common::Rect &rect) { if (!_upscaledHires) { g_system->copyRectToScreen(_activeScreen + rect.top * _displayWidth + rect.left, _displayWidth, rect.left, rect.top, rect.width(), rect.height()); |