[Scummvm-cvs-logs] CVS: scummvm/sound midiparser.cpp,1.10,1.11 midiparser.h,1.12,1.13
Jamieson Christian
jamieson630 at users.sourceforge.net
Sun May 25 08:47:04 CEST 2003
Update of /cvsroot/scummvm/scummvm/sound
In directory sc8-pr-cvs1:/tmp/cvs-serv25340/sound
Modified Files:
midiparser.cpp midiparser.h
Log Message:
Fixed occassional music crashes when loading games.
Thanks to eriktorbjorn for finding this issue.
Index: midiparser.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/midiparser.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- midiparser.cpp 24 May 2003 19:11:49 -0000 1.10
+++ midiparser.cpp 25 May 2003 15:46:47 -0000 1.11
@@ -346,7 +346,7 @@
}
}
- if (!_smartJump) {
+ if (!_smartJump || !currentPos._play_pos) {
allNotesOff();
} else {
EventInfo targetEvent (_next_event);
@@ -362,4 +362,12 @@
_abort_parse = true;
return true;
+}
+
+void MidiParser::unloadMusic() {
+ resetTracking();
+ allNotesOff();
+ _num_tracks = 0;
+ _active_track = 255;
+ _abort_parse = true;
}
Index: midiparser.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/midiparser.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- midiparser.h 23 May 2003 15:04:41 -0000 1.12
+++ midiparser.h 25 May 2003 15:46:47 -0000 1.13
@@ -160,7 +160,7 @@
virtual ~MidiParser() { allNotesOff(); }
virtual bool loadMusic (byte *data, uint32 size) = 0;
- virtual void unloadMusic() = 0;
+ virtual void unloadMusic();
virtual void property (int prop, int value);
void setMidiDriver (MidiDriver *driver) { _driver = driver; }
More information about the Scummvm-git-logs
mailing list