diff options
| author | Torbjörn Andersson | 2006-07-11 16:51:10 +0000 | 
|---|---|---|
| committer | Torbjörn Andersson | 2006-07-11 16:51:10 +0000 | 
| commit | 21b89308b5595ba05d66cc6d4967a491e36bb585 (patch) | |
| tree | 05bcda610200706075ccfb00b07b38711b4c5596 | |
| parent | 4ff6685de70773d5484213876dc5eba4ff51335c (diff) | |
| download | scummvm-rg350-21b89308b5595ba05d66cc6d4967a491e36bb585.tar.gz scummvm-rg350-21b89308b5595ba05d66cc6d4967a491e36bb585.tar.bz2 scummvm-rg350-21b89308b5595ba05d66cc6d4967a491e36bb585.zip  | |
This should fix bug #1520629 ("No Music in Simon1").
svn-id: r23488
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | engines/simon/midi.cpp | 4 | 
2 files changed, 3 insertions, 2 deletions
@@ -29,6 +29,7 @@ For a more comprehensive changelog for the latest experimental SVN code, see:   Simon     - Improved support for international versions of the Feeble Files. +   - Fixed undefined behaviour when loading music.   Broken Sword 2     - More robust handling of the optional startup.inf file. diff --git a/engines/simon/midi.cpp b/engines/simon/midi.cpp index d2d31c1e44..f139f1fa2e 100644 --- a/engines/simon/midi.cpp +++ b/engines/simon/midi.cpp @@ -479,14 +479,14 @@ void MidiPlayer::loadMultipleSMF(Common::File *in, bool sfx) {  			printf("Expected MThd but found '%c%c%c%c' instead!\n", buf[0], buf[1], buf[2], buf[3]);  			return;  		} -		in->seek(in->readUint32BE() + in->pos(), SEEK_SET); +		in->seek(in->readUint32BE(), SEEK_CUR);  		// Now skip all the MTrk blocks  		while (true) {  			in->read(buf, 4);  			if (memcmp(buf, "MTrk", 4))  				break; -			in->seek(in->readUint32BE() + in->pos(), SEEK_SET); +			in->seek(in->readUint32BE(), SEEK_CUR);  		}  		uint32 pos2 = in->pos() - 4;  | 
