diff options
author | David Robillard <d@drobilla.net> | 2014-12-29 15:12:10 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-29 15:12:10 -0500 |
commit | cf6e9d3412234c97513b89b4bd8d1f24c7373fe7 (patch) | |
tree | 08baf11483babbaac7f615108bc51915064943c1 | |
parent | 190ac88248eaea43a6bb78074a9347b7cde0dc82 (diff) |
Blind fix for MIDI iteration bug.
-rw-r--r-- | libs/evoral/src/Sequence.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/evoral/src/Sequence.cpp b/libs/evoral/src/Sequence.cpp index dd891a0ac2..22f090beca 100644 --- a/libs/evoral/src/Sequence.cpp +++ b/libs/evoral/src/Sequence.cpp @@ -357,11 +357,11 @@ Sequence<Time>::const_iterator::operator++() } // Use the next earliest controller iff it's earlier than the note event - if (_control_iter != _control_iters.end() && _control_iter->x != DBL_MAX) { - if (_type == NIL || _control_iter->x < earliest_t.to_double()) { - _type = CONTROL; - earliest_t = Time(_control_iter->x); - } + if (_control_iter != _control_iters.end() && + _control_iter->list && _control_iter->x != DBL_MAX && + (_control_iter->x < earliest_t.to_double() || _type == NIL)) { + _type = CONTROL; + earliest_t = Time(_control_iter->x); } // Use the next earliest SysEx iff it's earlier than the controller |