summaryrefslogtreecommitdiff
path: root/libs/evoral/src/Sequence.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-29 15:12:10 -0500
committerDavid Robillard <d@drobilla.net>2014-12-29 15:12:10 -0500
commitcf6e9d3412234c97513b89b4bd8d1f24c7373fe7 (patch)
tree08baf11483babbaac7f615108bc51915064943c1 /libs/evoral/src/Sequence.cpp
parent190ac88248eaea43a6bb78074a9347b7cde0dc82 (diff)
Blind fix for MIDI iteration bug.
Diffstat (limited to 'libs/evoral/src/Sequence.cpp')
-rw-r--r--libs/evoral/src/Sequence.cpp10
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