diff options
author | Torbjörn Andersson | 2004-09-08 09:24:18 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2004-09-08 09:24:18 +0000 |
commit | df9e6ef7585e44996817138ab01dc25c03ea96ca (patch) | |
tree | b829f9c56f95f61ef6e6971372a4ae9f392aa06b /simon | |
parent | 412f7105f06343c6a592a58df4b575fd64b74024 (diff) | |
download | scummvm-rg350-df9e6ef7585e44996817138ab01dc25c03ea96ca.tar.gz scummvm-rg350-df9e6ef7585e44996817138ab01dc25c03ea96ca.tar.bz2 scummvm-rg350-df9e6ef7585e44996817138ab01dc25c03ea96ca.zip |
Fingolfin's suggested fix for bug #1004919.
svn-id: r14959
Diffstat (limited to 'simon')
-rw-r--r-- | simon/midi.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
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(); |