aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/music.cpp')
-rw-r--r--engines/sherlock/music.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 1f211f4c51..49c48126f4 100644
--- a/engines/sherlock/music.cpp
+++ b/engines/sherlock/music.cpp
@@ -210,6 +210,8 @@ void MidiParser_SH::unloadMusic() {
_musData = NULL;
_musDataSize = 0;
}
+
+ MidiParser::unloadMusic();
}
/*----------------------------------------------------------------*/
@@ -504,14 +506,7 @@ bool Music::playMusic(const Common::String &name) {
}
void Music::stopMusic() {
- if (isPlaying()) {
- if (!IS_3DO)
- _midiParser->stopPlaying();
- else
- _mixer->stopHandle(_digitalMusicHandle);
- }
-
- _musicPlaying = false;
+ freeSong();
}
void Music::startSong() {
@@ -531,6 +526,8 @@ void Music::freeSong() {
// Free the MIDI MUS data buffer
_midiParser->unloadMusic();
}
+
+ _musicPlaying = false;
}
void Music::waitTimerRoland(uint time) {