From 08657843ac1477bb8c64791183d7dbcbceba8bce Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 7 Feb 2017 15:23:01 +0100 Subject: don't call shared_from_this() for every route when doing solo-downstream propagation --- libs/ardour/route.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 411f3dc801..eeebc0c0de 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3412,12 +3412,13 @@ Route::output_change_handler (IOChange change, void * /*src*/) _solo_control->mod_solo_by_others_downstream (delta); // Session::route_solo_changed() does not propagate indirect solo-changes // propagate upstream to tracks + boost::shared_ptr shared_this = shared_from_this(); for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) { if ((*i).get() == this || !can_solo()) { continue; } bool sends_only; - bool does_feed = (*i)->feeds (shared_from_this(), &sends_only); + bool does_feed = (*i)->feeds (shared_this, &sends_only); if (delta != 0 && does_feed && !sends_only) { (*i)->solo_control()->mod_solo_by_others_downstream (delta); } -- cgit v1.2.3