[Scummvm-cvs-logs] SF.net SVN: scummvm: [23488] scummvm/trunk

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Thu Jul 20 22:45:00 CEST 2006


Revision: 23488
          http://svn.sourceforge.net/scummvm/?rev=23488&view=rev
Author:   eriktorbjorn
Date:     2006-07-11 09:51:10 -0700 (Tue, 11 Jul 2006)

Log Message:
-----------
This should fix bug #1520629 ("No Music in Simon1").

Modified Paths:
--------------
    scummvm/trunk/NEWS
    scummvm/trunk/engines/simon/midi.cpp

Modified: scummvm/trunk/NEWS
===================================================================
--- scummvm/trunk/NEWS	2006-07-11 08:09:14 UTC (rev 23487)
+++ scummvm/trunk/NEWS	2006-07-11 16:51:10 UTC (rev 23488)
@@ -29,6 +29,7 @@
 
  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.

Modified: scummvm/trunk/engines/simon/midi.cpp
===================================================================
--- scummvm/trunk/engines/simon/midi.cpp	2006-07-11 08:09:14 UTC (rev 23487)
+++ scummvm/trunk/engines/simon/midi.cpp	2006-07-11 16:51:10 UTC (rev 23488)
@@ -479,14 +479,14 @@
 			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;






More information about the Scummvm-git-logs mailing list