make adding tracks/busses from templates just like adding them at the start of a session, in that IO connections are prevented until they are all added, and then we connect. this should fix the locking issue in #4643

git-svn-id: svn://localhost/ardour2/branches/3.0@11329 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-01-24 13:43:48 +00:00
parent 68e72c94c8
commit d7e17f088f
2 changed files with 21 additions and 1 deletions

View file

@ -2003,6 +2003,8 @@ Session::new_route_from_template (uint32_t how_many, const std::string& template
XMLNode* node = tree.root();
IO::disable_connecting ();
control_id = next_control_id ();
while (how_many) {
@ -2080,6 +2082,7 @@ Session::new_route_from_template (uint32_t how_many, const std::string& template
out:
if (!ret.empty()) {
add_routes (ret, true, true);
IO::enable_connecting ();
}
return ret;
@ -2243,7 +2246,6 @@ Session::add_internal_sends (boost::shared_ptr<Route> dest, Placement p, boost::
if (!dest->internal_return()) {
dest->add_internal_return();
}
for (RouteList::iterator i = senders->begin(); i != senders->end(); ++i) {