From dca0e6fbe290022eae0b3ff694c4de3354d3d08e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 28 Aug 2015 18:48:40 +0200 Subject: fix crash with missing .mid assert in ARDOUR::MidiRegion::control() boost::shared_ptr::operator-> invalid ptr. see http://pastebin.com/dTV10Zu6 --- libs/ardour/midi_track.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libs/ardour/midi_track.cc') diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 6d7b4519c5..fc1ab21b53 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -513,6 +513,11 @@ MidiTrack::non_realtime_locate (framepos_t pos) return; } + /* the source may be missing, but the control still referenced in the GUI */ + if (!region->midi_source() || !region->model()) { + return; + } + Glib::Threads::Mutex::Lock lm (_control_lock, Glib::Threads::TRY_LOCK); if (!lm.locked()) { return; -- cgit v1.2.3