From: Hans Baier Date: Tue, 6 May 2008 21:31:49 +0000 (+0000) Subject: * fixed crash bug in MidiModel::const_iterator::operator++ X-Git-Tag: 3.0-alpha5~4247 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=c415c44b9c88d12123b0d493c1f71317efbb34e0;p=ardour.git * fixed crash bug in MidiModel::const_iterator::operator++ git-svn-id: svn://localhost/ardour2/branches/3.0@3325 d708f5d6-7413-0410-9779-e7cbd77b26cf --- diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index d26630abf8..4990ede978 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -121,7 +121,7 @@ MidiModel::const_iterator::const_iterator(const MidiModel& model, double t) ++_note_iter; } - if (earliest_control.automation_list && earliest_control.x < _event.time()) + if (earliest_control.automation_list.get() && earliest_control.x < _event.time()) model.control_to_midi_event(_event, earliest_control); else _control_iter = _control_iters.end(); @@ -328,6 +328,8 @@ size_t MidiModel::read(MidiRingBuffer& dst, nframes_t start, nframes_t nframes, bool MidiModel::control_to_midi_event(MIDI::Event& ev, const MidiControlIterator& iter) const { + assert(iter.automation_list.get() != 0); + switch (iter.automation_list->parameter().type()) { case MidiCCAutomation: if (ev.size() < 3)