diff options
Diffstat (limited to 'engines/sky/music/musicbase.cpp')
-rw-r--r-- | engines/sky/music/musicbase.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/engines/sky/music/musicbase.cpp b/engines/sky/music/musicbase.cpp index 0d3cb65e1b..748637f9d0 100644 --- a/engines/sky/music/musicbase.cpp +++ b/engines/sky/music/musicbase.cpp @@ -27,6 +27,7 @@ #include "sky/disk.h" #include "common/util.h" #include "common/endian.h" +#include "common/textconsole.h" namespace Sky { @@ -44,7 +45,7 @@ MusicBase::~MusicBase() { } void MusicBase::loadSection(uint8 pSection) { - _mutex.lock(); + Common::StackLock lock(_mutex); if (_currentMusic) stopMusicInternal(); free(_musicData); @@ -58,7 +59,6 @@ void MusicBase::loadSection(uint8 pSection) { _numberOfChannels = _currentMusic = 0; setupPointers(); startDriver(); - _mutex.unlock(); } bool MusicBase::musicIsPlaying() { @@ -69,9 +69,8 @@ bool MusicBase::musicIsPlaying() { } void MusicBase::stopMusic() { - _mutex.lock(); + Common::StackLock lock(_mutex); stopMusicInternal(); - _mutex.unlock(); } void MusicBase::stopMusicInternal() { @@ -113,7 +112,7 @@ void MusicBase::loadNewMusic() { } void MusicBase::pollMusic() { - _mutex.lock(); + Common::StackLock lock(_mutex); uint8 newTempo; if (_onNextPoll.musicToProcess != _currentMusic) loadNewMusic(); @@ -127,7 +126,6 @@ void MusicBase::pollMusic() { updateTempo(); } } - _mutex.unlock(); _aktTime &= 0xFFFF; } |