summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/session.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 479b433f29..1231212d2e 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -2064,6 +2064,10 @@ Session::resort_routes ()
return;
}
+ if (_route_deletion_in_progress) {
+ return;
+ }
+
{
RCUWriter<RouteList> writer (routes);
boost::shared_ptr<RouteList> r = writer.get_copy ();
@@ -3363,9 +3367,8 @@ Session::add_internal_send (boost::shared_ptr<Route> dest, boost::shared_ptr<Pro
void
Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
{
- PBD::Unwinder<bool> uw_flag (_route_deletion_in_progress, true);
-
{ // RCU Writer scope
+ PBD::Unwinder<bool> uw_flag (_route_deletion_in_progress, true);
RCUWriter<RouteList> writer (routes);
boost::shared_ptr<RouteList> rs = writer.get_copy ();