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 | |
| 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.
| -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()) | 
