13
0

Avoid another potential deadlock for good measure.

Firing these signals while locked is not a good idea, Sequence/ControlList need
a better design for this that accounts for recording and lockedness.
This commit is contained in:
David Robillard 2014-12-29 17:56:53 -05:00
parent cf6e9d3412
commit 9b8760cf69

View File

@ -446,8 +446,10 @@ MidiRegion::model_automation_state_changed (Evoral::Parameter const & p)
for a given set of filtered_parameters, so now that we've changed that list we must invalidate
the iterator.
*/
Glib::Threads::Mutex::Lock lm (midi_source(0)->mutex());
midi_source(0)->invalidate (lm);
Glib::Threads::Mutex::Lock lm (midi_source(0)->mutex(), Glib::Threads::TRY_LOCK);
if (lm.locked()) {
midi_source(0)->invalidate (lm);
}
}
/** This is called when a trim drag has resulted in a -ve _start time for this region.