diff options
author | Matthew Hoops | 2013-07-20 23:00:43 -0400 |
---|---|---|
committer | Matthew Hoops | 2013-07-20 23:06:36 -0400 |
commit | 4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac (patch) | |
tree | fbeffc0ffe26a896ab73da0346550229070253a7 /engines | |
parent | b79fd7e965e2792a18e477b830067182f35a216a (diff) | |
download | scummvm-rg350-4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac.tar.gz scummvm-rg350-4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac.tar.bz2 scummvm-rg350-4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac.zip |
PEGASUS: Fix possible timer "skip" when resuming
pause/resume need to treat things a bit differently from the normal setRate function. This caused a jump in a timer when resuming from the pause menu in certain cases, though not all the time.
Regression from b50cac637ece07c87e39232a1e8fe7262ace06f2, which was part of the fix for the lid animations.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/pegasus/timers.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/pegasus/timers.cpp b/engines/pegasus/timers.cpp index 50cc9bc6d8..8463d866e8 100644 --- a/engines/pegasus/timers.cpp +++ b/engines/pegasus/timers.cpp @@ -115,7 +115,7 @@ void TimeBase::stop() { void TimeBase::pause() { if (isRunning() && !_paused) { _pausedRate = getRate(); - stop(); + _rate = 0; _paused = true; _pauseStart = g_system->getMillis(); } @@ -123,7 +123,7 @@ void TimeBase::pause() { void TimeBase::resume() { if (_paused) { - setRate(_pausedRate); + _rate = _pausedRate; _paused = false; if (isRunning()) |