aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2008-11-13 09:19:42 +0000
committerFilippos Karapetis2008-11-13 09:19:42 +0000
commit8e3485f15876e913ddbb982f36ea089665c08eab (patch)
treefa04b86f8c68c46ed87172caa15db0e049c66fe5
parent963445e559de4c363af180d290ea65e5c3a51b90 (diff)
downloadscummvm-rg350-8e3485f15876e913ddbb982f36ea089665c08eab.tar.gz
scummvm-rg350-8e3485f15876e913ddbb982f36ea089665c08eab.tar.bz2
scummvm-rg350-8e3485f15876e913ddbb982f36ea089665c08eab.zip
Added better checks for the current music status in pauseEngineIntern()
svn-id: r35035
-rw-r--r--engines/saga/saga.cpp10
-rw-r--r--engines/saga/saga.h1
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp
index f20672d46b..e12bdbdd5d 100644
--- a/engines/saga/saga.cpp
+++ b/engines/saga/saga.cpp
@@ -147,6 +147,7 @@ Common::Error SagaEngine::init() {
_copyProtection = ConfMan.getBool("copy_protection");
_gf_wyrmkeep = false;
_gf_compressed_sounds = false;
+ _musicWasPlaying = false;
if (_readingSpeed > 3)
_readingSpeed = 0;
@@ -539,12 +540,17 @@ void SagaEngine::pauseEngineIntern(bool pause) {
if (pause) {
_render->setFlag(RF_RENDERPAUSE);
- if (!_music->hasDigitalMusic())
+ if (_music->isPlaying()) {
_music->pause();
+ _musicWasPlaying = true;
+ } else {
+ _musicWasPlaying = false;
+ }
} else {
_render->clearFlag(RF_RENDERPAUSE);
- if (!_music->hasDigitalMusic())
+ if (_musicWasPlaying) {
_music->resume();
+ }
}
_mixer->pauseAll(pause);
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index 6f861dad79..7276d93c94 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -535,6 +535,7 @@ public:
bool _copyProtection;
bool _gf_wyrmkeep;
bool _gf_compressed_sounds;
+ bool _musicWasPlaying;
SndRes *_sndRes;
Sound *_sound;