diff options
Diffstat (limited to 'gtk2_ardour/midi_streamview.cc')
-rw-r--r-- | gtk2_ardour/midi_streamview.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index d124426cc9..8a5fd53150 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -193,7 +193,8 @@ MidiStreamView::display_region(MidiRegionView* region_view, bool load_model) } if (load_model) { - source->load_model(); + Glib::Threads::Mutex::Lock lm(source->mutex()); + source->load_model(lm); } if (!source->model()) { @@ -225,7 +226,8 @@ MidiStreamView::update_contents_metrics(boost::shared_ptr<Region> r) { boost::shared_ptr<MidiRegion> mr = boost::dynamic_pointer_cast<MidiRegion>(r); if (mr) { - mr->midi_source(0)->load_model(); + Glib::Threads::Mutex::Lock lm(mr->midi_source(0)->mutex()); + mr->midi_source(0)->load_model(lm); _range_dirty = update_data_note_range( mr->model()->lowest_note(), mr->model()->highest_note()); |