From eb35835f5ee5010bd38f99a6e0995e01b0c7013f Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Wed, 20 Aug 2008 09:12:11 +0000 Subject: I believe the setVolume() function has to be guarded by a mutex. (I added this to the Tinsel engine a while back to fix mysterious problems, but forgot to add it elsewhere.) Maybe this will fix the mysterious IHNM crashes, as well? svn-id: r34048 --- engines/saga/music.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'engines/saga') diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp index 732bd0b50c..75008efb7d 100644 --- a/engines/saga/music.cpp +++ b/engines/saga/music.cpp @@ -249,6 +249,8 @@ void MusicPlayer::setVolume(int volume) { _masterVolume = volume; + Common::StackLock lock(_mutex); + for (int i = 0; i < 16; ++i) { if (_channel[i]) { _channel[i]->volume(_channelVolume[i] * _masterVolume / 255); -- cgit v1.2.3