diff options
-rw-r--r-- | engines/pegasus/movie.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/pegasus/movie.cpp b/engines/pegasus/movie.cpp index 6187d87a2d..927f98f234 100644 --- a/engines/pegasus/movie.cpp +++ b/engines/pegasus/movie.cpp @@ -185,17 +185,22 @@ void Movie::stop() { } void Movie::resume() { - if (_video) - _video->pauseVideo(false); + if (_paused) { + if (_video) + _video->pauseVideo(false); - TimeBase::resume(); + _paused = false; + } } void Movie::pause() { - if (_video) - _video->pauseVideo(true); + if (isRunning() && !_paused) { + if (_video) + _video->pauseVideo(true); - TimeBase::pause(); + _paused = true; + _pauseStart = g_system->getMillis(); + } } TimeValue Movie::getDuration(const TimeScale scale) const { |