diff options
author | Johannes Schickel | 2006-05-10 20:30:58 +0000 |
---|---|---|
committer | Johannes Schickel | 2006-05-10 20:30:58 +0000 |
commit | 56e03a85ddfaf9bca000c42855ec5f79e80dcb8c (patch) | |
tree | c86f2de44ab1389121848d4490c6b99d471acbee | |
parent | e6350f8afabbd19485d544182e92071bbf464d80 (diff) | |
download | scummvm-rg350-56e03a85ddfaf9bca000c42855ec5f79e80dcb8c.tar.gz scummvm-rg350-56e03a85ddfaf9bca000c42855ec5f79e80dcb8c.tar.bz2 scummvm-rg350-56e03a85ddfaf9bca000c42855ec5f79e80dcb8c.zip |
Adds workaround for bug # 1477364 ("KYRA1: Water dripping freezes") until a proper solution is found.
svn-id: r22403
-rw-r--r-- | engines/kyra/animator.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/kyra/animator.cpp b/engines/kyra/animator.cpp index e2b9403a28..7c9860cdae 100644 --- a/engines/kyra/animator.cpp +++ b/engines/kyra/animator.cpp @@ -206,6 +206,13 @@ void ScreenAnimator::preserveOrRestoreBackground(AnimObject *obj, bool restore) if (restore) { _screen->copyBlockToPage(_screen->_curPage, x << 3, y, width << 3, height, obj->background); + // workaround for bug # 1477364 ("KYRA1: Water dripping freezes") + // the problem is that the restored area to the 'backbuffer' (screen page 2) + // isn't updated on the front buffer in that special scene, so we update + // the frontbuffer (screen page 0) too if the object get's redrawn this time + if (obj->refreshFlag) { + _screen->copyBlockToPage(0, x << 3, y, width << 3, height, obj->background); + } } else { _screen->copyRegionToBuffer(_screen->_curPage, x << 3, y, width << 3, height, obj->background); } |