diff options
author | Filippos Karapetis | 2009-12-28 10:27:56 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-12-28 10:27:56 +0000 |
commit | f93537b2e5fc65e397554024f2869d31666eeb1f (patch) | |
tree | cf535e9b0aee2c0f4bde78a89f0d1a0430002cac | |
parent | 84569c47920f3d51c538b5d1525a20ef0bdf79fd (diff) | |
download | scummvm-rg350-f93537b2e5fc65e397554024f2869d31666eeb1f.tar.gz scummvm-rg350-f93537b2e5fc65e397554024f2869d31666eeb1f.tar.bz2 scummvm-rg350-f93537b2e5fc65e397554024f2869d31666eeb1f.zip |
SCI/new music code: Fixed a race condition when removing a sound from the playlist
svn-id: r46668
-rw-r--r-- | engines/sci/sfx/music.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/sfx/music.cpp b/engines/sci/sfx/music.cpp index 9414abfdb7..8094cbc5d8 100644 --- a/engines/sci/sfx/music.cpp +++ b/engines/sci/sfx/music.cpp @@ -444,8 +444,6 @@ void SciMusic::soundSetPriority(MusicEntry *pSnd, byte prio) { } //--------------------------------------------- void SciMusic::soundKill(MusicEntry *pSnd) { - Common::StackLock lock(_mutex); - pSnd->status = kSndStatusStopped; if (pSnd->pMidiParser) { @@ -458,6 +456,8 @@ void SciMusic::soundKill(MusicEntry *pSnd) { pSnd->pStreamAud = NULL; } + Common::StackLock lock(_mutex); + uint sz = _playList.size(), i; // Remove sound from playlist for (i = 0; i < sz; i++) { |