From f93537b2e5fc65e397554024f2869d31666eeb1f Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 28 Dec 2009 10:27:56 +0000 Subject: SCI/new music code: Fixed a race condition when removing a sound from the playlist svn-id: r46668 --- engines/sci/sfx/music.cpp | 4 ++-- 1 file 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++) { -- cgit v1.2.3