From 0ef8175b5a74bb6748900459efe086ab8eaf16f6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 10 Sep 2015 11:35:25 -0400 Subject: [PATCH] when removing routes, don't do potentially expensive work once for each route. We can update solo state and tell interested parties about the removal once the actual removal is done --- libs/ardour/session.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 94a12ca504..c3eca166df 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3376,8 +3376,6 @@ Session::remove_routes (boost::shared_ptr routes_to_remove) _monitor_out.reset (); } - update_route_solo_state (); - // We need to disconnect the route's inputs and outputs (*iter)->input()->disconnect (0); @@ -3408,14 +3406,14 @@ Session::remove_routes (boost::shared_ptr routes_to_remove) _step_editors--; } } - - RouteAddedOrRemoved (false); /* EMIT SIGNAL */ } /* writer goes out of scope, forces route list update */ } // end of RCU Writer scope + update_route_solo_state (); + RouteAddedOrRemoved (false); /* EMIT SIGNAL */ update_latency_compensation (); set_dirty();