aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-10-27 19:22:37 +0000
committerFilippos Karapetis2010-10-27 19:22:37 +0000
commite85f43877aa4e2e2750c6f2d5cfd3f562d893fe5 (patch)
treece32171d3e57a6b5cc264d3c25e493c630663f36 /engines/sci/sci.cpp
parent5a336830a00c1371d8307794c7e43fe98e7baa1d (diff)
downloadscummvm-rg350-e85f43877aa4e2e2750c6f2d5cfd3f562d893fe5.tar.gz
scummvm-rg350-e85f43877aa4e2e2750c6f2d5cfd3f562d893fe5.tar.bz2
scummvm-rg350-e85f43877aa4e2e2750c6f2d5cfd3f562d893fe5.zip
SCI: Proper pausing/resuming of MIDI music in SciEngine::pauseEngineIntern(), Console::preEnter() and Console::postEnter() and added a sanity check in SciEngine::getDebugger()
svn-id: r53886
Diffstat (limited to 'engines/sci/sci.cpp')
-rw-r--r--engines/sci/sci.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 3747e831f2..98ce93d11f 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -633,8 +633,10 @@ void SciEngine::exitGame() {
GUI::Debugger *SciEngine::getDebugger() {
if (_gamestate) {
ExecStack *xs = &(_gamestate->_executionStack.back());
- xs->addr.pc.offset = _debugState.old_pc_offset;
- xs->sp = _debugState.old_sp;
+ if (xs) {
+ xs->addr.pc.offset = _debugState.old_pc_offset;
+ xs->sp = _debugState.old_sp;
+ }
}
_debugState.runningStep = 0; // Stop multiple execution
@@ -706,6 +708,8 @@ int SciEngine::inQfGImportRoom() const {
void SciEngine::pauseEngineIntern(bool pause) {
_mixer->pauseAll(pause);
+ if (_soundCmd)
+ _soundCmd->pauseAll(pause);
}
void SciEngine::syncSoundSettings() {