aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2012-09-22 18:13:31 -0400
committerMatthew Hoops2012-09-22 18:13:31 -0400
commitad632d88d92a31d11d96651c58f3ec0fe8544812 (patch)
treee39e8bb3f1ebb91519fc3969e3c4a43612d76fd2
parent48c70d872e223dab3a05b7ca5e0f2a75e0b853ea (diff)
downloadscummvm-rg350-ad632d88d92a31d11d96651c58f3ec0fe8544812.tar.gz
scummvm-rg350-ad632d88d92a31d11d96651c58f3ec0fe8544812.tar.bz2
scummvm-rg350-ad632d88d92a31d11d96651c58f3ec0fe8544812.zip
PEGASUS: Fix movie pause/resume
-rw-r--r--engines/pegasus/movie.cpp17
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 {