aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/core.cpp
diff options
context:
space:
mode:
authorWalter van Niftrik2009-04-15 10:45:59 +0000
committerWalter van Niftrik2009-04-15 10:45:59 +0000
commit695bc36b9affeaaf2d2e635b0d72278915a3997b (patch)
tree4551d80b91b44fda90ceca2fd2b76d0a5f5ca367 /engines/sci/sfx/core.cpp
parent570f2c66b83425e88aab53979d2349aedb4ccc8b (diff)
downloadscummvm-rg350-695bc36b9affeaaf2d2e635b0d72278915a3997b.tar.gz
scummvm-rg350-695bc36b9affeaaf2d2e635b0d72278915a3997b.tar.bz2
scummvm-rg350-695bc36b9affeaaf2d2e635b0d72278915a3997b.zip
SCI: Added a new song player (work-in-progress).
svn-id: r39953
Diffstat (limited to 'engines/sci/sfx/core.cpp')
-rw-r--r--engines/sci/sfx/core.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/sfx/core.cpp b/engines/sci/sfx/core.cpp
index a0fc166f9c..b573a52630 100644
--- a/engines/sci/sfx/core.cpp
+++ b/engines/sci/sfx/core.cpp
@@ -432,11 +432,17 @@ void sfx_exit(sfx_state_t *self) {
// WARNING: The mixer may hold feeds from the player, so we must
// stop the mixer BEFORE stopping the player.
- g_system->getMixer()->stopAll();
+ // FIXME Player "new" frees its own feeds, so we only need to stop any
+ // remaining sfx feeds after stopping the player.
+ if (strcmp(player->name, "new") != 0)
+ g_system->getMixer()->stopAll();
if (player)
// See above: This must happen AFTER stopping the mixer
player->exit();
+
+ if (strcmp(player->name, "new") == 0)
+ g_system->getMixer()->stopAll();
}
void sfx_suspend(sfx_state_t *self, int suspend) {