aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/smush
diff options
context:
space:
mode:
authorGregory Montoir2007-01-31 00:16:21 +0000
committerGregory Montoir2007-01-31 00:16:21 +0000
commit6166c0ca19ec44faa6c527ea482a3c25d49d0e64 (patch)
treebf02d16e944ae125fe74b6369b3a1d8797200755 /engines/scumm/smush
parent9abaa064a07bfb44ea3663e026cce874c77d449e (diff)
downloadscummvm-rg350-6166c0ca19ec44faa6c527ea482a3c25d49d0e64.tar.gz
scummvm-rg350-6166c0ca19ec44faa6c527ea482a3c25d49d0e64.tar.bz2
scummvm-rg350-6166c0ca19ec44faa6c527ea482a3c25d49d0e64.zip
reset _IACTpos when _IACTchannel is stopped (fixes memory overwrites in handleIACT during smush playback at the end of CMI demo)
svn-id: r25296
Diffstat (limited to 'engines/scumm/smush')
-rw-r--r--engines/scumm/smush/smush_player.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp
index 5c89e758cc..cb20ca16a6 100644
--- a/engines/scumm/smush/smush_player.cpp
+++ b/engines/scumm/smush/smush_player.cpp
@@ -309,6 +309,7 @@ void SmushPlayer::init(int32 speed) {
_vm->_mixer->stopHandle(_compressedFileSoundHandle);
_vm->_mixer->stopHandle(_IACTchannel);
+ _IACTpos = 0;
_vm->_smixer->stop();
_initDone = true;
@@ -1407,6 +1408,7 @@ void SmushPlayer::play(const char *filename, int32 speed, int32 offset, int32 st
_smixer->stop();
_vm->_mixer->stopHandle(_compressedFileSoundHandle);
_vm->_mixer->stopHandle(_IACTchannel);
+ _IACTpos = 0;
break;
}
_vm->_system->delayMillis(10);