diff --git a/Frameworks/midi_processing/midi_processing/midi_processor_xmi.cpp b/Frameworks/midi_processing/midi_processing/midi_processor_xmi.cpp index cff7d3403..c1c8f028c 100644 --- a/Frameworks/midi_processing/midi_processing/midi_processor_xmi.cpp +++ b/Frameworks/midi_processing/midi_processing/midi_processor_xmi.cpp @@ -150,9 +150,15 @@ static bool read_iff_stream( std::vector const& p_file, iff_stream & p_ while ( it != end ) { iff_chunk chunk; - if ( !read_iff_chunk( it, end, chunk, first_chunk ) ) return false; - p_out.m_chunks.push_back( chunk ); - first_chunk = false; + if ( read_iff_chunk( it, end, chunk, first_chunk ) ) + { + p_out.m_chunks.push_back( chunk ); + first_chunk = false; + } + else if ( first_chunk ) + return false; + else + break; } return true; }