[Scummvm-cvs-logs] scummvm master -> 23314ed5d8028f384c9ff9e2138456a3fa6ecf48

dreammaster dreammaster at scummvm.org
Sat Jul 4 22:24:25 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
23314ed5d8 SHERLOCK: SS: Fix crash in intro when music finishes


Commit: 23314ed5d8028f384c9ff9e2138456a3fa6ecf48
    https://github.com/scummvm/scummvm/commit/23314ed5d8028f384c9ff9e2138456a3fa6ecf48
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-07-04T16:23:24-04:00

Commit Message:
SHERLOCK: SS: Fix crash in intro when music finishes

Changed paths:
    engines/sherlock/music.cpp
    engines/sherlock/music.h



diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 1f211f4..49c4812 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) {
diff --git a/engines/sherlock/music.h b/engines/sherlock/music.h
index 1bcedf2..93c565c 100644
--- a/engines/sherlock/music.h
+++ b/engines/sherlock/music.h
@@ -52,7 +52,7 @@ protected:
 
 public:
 	bool loadMusic(byte *musData, uint32 musSize);
-	void unloadMusic();
+	virtual void unloadMusic();
 
 private:
 	byte  *_musData;






More information about the Scummvm-git-logs mailing list