aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/game.cpp')
-rw-r--r--engines/gob/game.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp
index e239248807..205258d628 100644
--- a/engines/gob/game.cpp
+++ b/engines/gob/game.cpp
@@ -351,6 +351,13 @@ void Game::freeSoundSlot(int16 slot) {
if ((slot < 0) || (slot >= 60) || (_soundSamples[slot] == 0))
return;
+ if (slot == _vm->_snd->getCompositionSlot()) {
+ if (_vm->_quitRequested)
+ _vm->_snd->stopComposition();
+ else
+ _vm->_snd->waitEndPlay();
+ }
+
if (_soundADL[slot]) {
if (_vm->_adlib && (_vm->_adlib->getIndex() == slot))
_vm->_adlib->stopPlay();