summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/route.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 243d240b75..287e3c219b 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -617,6 +617,16 @@ Route::mod_solo_by_others_upstream (int32_t delta)
_soloed_by_others_upstream += delta;
}
+ /* push the inverse solo change to everything that feeds us.
+ */
+
+ for (FedBy::iterator i = _fed_by.begin(); i != _fed_by.end(); ++i) {
+ boost::shared_ptr<Route> sr = i->r.lock();
+ if (sr) {
+ sr->mod_solo_by_others_downstream (-delta);
+ }
+ }
+
set_mute_master_solo ();
solo_changed (false, this);
}