From 8940a1f537af66953bb8d4d32b7a2250744afc19 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 26 Dec 2009 10:50:05 +0000 Subject: Restored the mutexes in onTimer, and removed them from soundKill - fixes the freeze in LSL5 intro svn-id: r46577 --- engines/sci/sfx/music.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/sci/sfx/music.cpp b/engines/sci/sfx/music.cpp index b0ace2bea9..63fdc114aa 100644 --- a/engines/sci/sfx/music.cpp +++ b/engines/sci/sfx/music.cpp @@ -345,7 +345,7 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) { } //---------------------------------------- void SciMusic::onTimer() { -// _mutex.lock(); + _mutex.lock(); uint sz = _playList.size(); for (uint i = 0; i < sz; i++) { @@ -372,7 +372,7 @@ void SciMusic::onTimer() { } }//for() -// _mutex.unlock(); + _mutex.unlock(); } //--------------------------------------------- void SciMusic::doFade(MusicEntry *pSnd) { @@ -452,7 +452,8 @@ void SciMusic::soundSetPriority(MusicEntry *pSnd, byte prio) { } //--------------------------------------------- void SciMusic::soundKill(MusicEntry *pSnd) { - _mutex.lock(); + + // For some reason, adding a mutex here freezes some games (e.g. LSL5) pSnd->status = kSndStatusStopped; if (pSnd->pMidiParser) { @@ -476,7 +477,6 @@ void SciMusic::soundKill(MusicEntry *pSnd) { } } - _mutex.unlock(); } //--------------------------------------------- void SciMusic::soundPause(MusicEntry *pSnd) { -- cgit v1.2.3