aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/gob/videoplayer.cpp2
-rw-r--r--graphics/video/coktelvideo/coktelvideo.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index a3a9dde892..a7399caa54 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -739,6 +739,8 @@ bool VideoPlayer::doPlay(int16 frame, int16 breakKey,
_vm->_inter->storeKey(_vm->_util->checkKey());
if (VAR(0) == (unsigned) breakKey) {
_primaryVideo->getVideo()->disableSound();
+ // Seek to the last frame. Some scripts depend on that.
+ _primaryVideo->getVideo()->seekFrame(endFrame, SEEK_SET, true);
return true;
}
}
diff --git a/graphics/video/coktelvideo/coktelvideo.cpp b/graphics/video/coktelvideo/coktelvideo.cpp
index efcd77de44..39aeca07bd 100644
--- a/graphics/video/coktelvideo/coktelvideo.cpp
+++ b/graphics/video/coktelvideo/coktelvideo.cpp
@@ -423,6 +423,7 @@ void Imd::seekFrame(int32 frame, int16 whence, bool restart) {
} else if (restart && (_soundStage == 0)) {
for (int i = ((frame > _curFrame) ? _curFrame : 0); i <= frame; i++)
processFrame(i);
+ return;
} else
error("Imd::seekFrame(): Frame %d is not directly accessible", frame);