From df9e6ef7585e44996817138ab01dc25c03ea96ca Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Wed, 8 Sep 2004 09:24:18 +0000 Subject: Fingolfin's suggested fix for bug #1004919. svn-id: r14959 --- simon/midi.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'simon') diff --git a/simon/midi.cpp b/simon/midi.cpp index 22a7434ff7..10b4ae7312 100644 --- a/simon/midi.cpp +++ b/simon/midi.cpp @@ -397,9 +397,12 @@ void MidiPlayer::loadSMF (File *in, int song, bool sfx) { // 1 BYTE : Always seems to be 0x00 // 1 BYTE : Ranges from 0x02 to 0x08 (always 0x02 for SFX, though) // 1 BYTE : Loop control. 0 = no loop, 1 = loop - if (!sfx) - setLoop(p->data[6] != 0); - + if (!sfx) { + // According to bug #1004919 calling setLoop() from + // within a lock causes a lockup, though I have no + // idea when this actually happens. + _loopTrack = (p->data[6] != 0); + } } MidiParser *parser = MidiParser::createParser_SMF(); -- cgit v1.2.3