diff options
| author | Torbjörn Andersson | 2013-05-04 21:57:00 +0200 | 
|---|---|---|
| committer | Torbjörn Andersson | 2013-05-04 21:57:00 +0200 | 
| commit | 6bcc4136a8856f1a1bdf02bf5a07549768e08443 (patch) | |
| tree | 74512412c4f51e7584bef325f0aabac25a491a75 | |
| parent | d2a97a409eb37015aae6e8575d63ce42c8552eec (diff) | |
| download | scummvm-rg350-6bcc4136a8856f1a1bdf02bf5a07549768e08443.tar.gz scummvm-rg350-6bcc4136a8856f1a1bdf02bf5a07549768e08443.tar.bz2 scummvm-rg350-6bcc4136a8856f1a1bdf02bf5a07549768e08443.zip  | |
XMIDI: Forget old loop points when changing track
This fixes warnings that would appear after a little while in
Kyrandia 2, which would happen because every time the music
changed it would add a new loop point. This was probably harmless
because once the list was full it would keep re-using the last
element, and I imagine all songs were set to loop forever. But
this should be more correct, as I understand it.
| -rw-r--r-- | audio/midiparser_xmidi.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/audio/midiparser_xmidi.cpp b/audio/midiparser_xmidi.cpp index e7b02bfcbe..fcb45fa5ad 100644 --- a/audio/midiparser_xmidi.cpp +++ b/audio/midiparser_xmidi.cpp @@ -47,6 +47,11 @@ protected:  	uint32 readVLQ2(byte * &data);  	void parseNextEvent(EventInfo &info); +	virtual void resetTracking() { +		MidiParser::resetTracking(); +		_loopCount = -1; +	} +  public:  	MidiParser_XMIDI(XMidiCallbackProc proc, void *data) : _callbackProc(proc), _callbackData(data), _loopCount(-1) {}  	~MidiParser_XMIDI() { }  | 
