Prevent removal of route inputs when the plugins cannot be configured with the new number. Rework locking so that the process lock is held from the point that a route input is removed until after the processors are reconfigured; fixes #3548.
git-svn-id: svn://localhost/ardour2/branches/3.0@8089 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -801,6 +801,7 @@ ProcessorBox::choose_insert ()
|
||||
_route->add_processor (processor, _placement);
|
||||
}
|
||||
|
||||
/* Caller must not hold process lock */
|
||||
void
|
||||
ProcessorBox::choose_send ()
|
||||
{
|
||||
@@ -813,6 +814,7 @@ ProcessorBox::choose_send ()
|
||||
|
||||
/* XXX need processor lock on route */
|
||||
try {
|
||||
Glib::Mutex::Lock lm (AudioEngine::instance()->process_lock());
|
||||
send->output()->ensure_io (outs, false, this);
|
||||
} catch (AudioEngine::PortRegistrationFailure& err) {
|
||||
error << string_compose (_("Cannot set up new send: %1"), err.what()) << endmsg;
|
||||
|
||||
Reference in New Issue
Block a user