Emit Session::MuteChanged() if a mutes route is removed.
This commit is contained in:
parent
f9db9bf5fd
commit
65ff43d0a7
|
@ -3717,12 +3717,13 @@ Session::add_internal_send (boost::shared_ptr<Route> dest, boost::shared_ptr<Pro
|
|||
void
|
||||
Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
||||
{
|
||||
bool mute_changed = false;
|
||||
|
||||
{ // 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 ();
|
||||
|
||||
|
||||
for (RouteList::iterator iter = routes_to_remove->begin(); iter != routes_to_remove->end(); ++iter) {
|
||||
|
||||
if (*iter == _master_out) {
|
||||
|
@ -3734,6 +3735,10 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
|||
(*iter)->solo_control()->set_value (0.0, Controllable::NoGroup);
|
||||
}
|
||||
|
||||
if ((*iter)->mute_control()->muted ()) {
|
||||
mute_changed = true;
|
||||
}
|
||||
|
||||
rs->remove (*iter);
|
||||
|
||||
/* deleting the master out seems like a dumb
|
||||
|
@ -3785,6 +3790,10 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
|||
|
||||
} // end of RCU Writer scope
|
||||
|
||||
if (mute_changed) {
|
||||
MuteChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
update_route_solo_state ();
|
||||
update_latency_compensation ();
|
||||
set_dirty();
|
||||
|
|
Loading…
Reference in New Issue