summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-10-07 13:08:53 +0200
committerRobin Gareus <robin@gareus.org>2015-10-07 14:21:30 +0200
commit44f1f0caf49ff8c4fa7e656606b141bdab0276da (patch)
treef02a9c8898c0a4f50c67baf27e839a0bb5fc25d9 /libs/ardour/route.cc
parent96b45d49099069981109d8f3f292ad1024649f61 (diff)
fix exclusive solo group-override
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index eb98a2388f..ca01b597c0 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -791,7 +791,7 @@ Route::set_listen (bool yn, void* src, bool group_override)
}
_mute_master->set_soloed_by_others (false);
- listen_changed (src, group_active); /* EMIT SIGNAL */
+ listen_changed (src, group_override); /* EMIT SIGNAL */
}
}
}
@@ -870,7 +870,6 @@ Route::set_solo (bool yn, void *src, bool group_override)
return;
}
- // explicit XOR
bool group_active = _route_group && _route_group->is_active() && _route_group->is_solo();
if (group_override && _route_group) {
group_active = !group_active;
@@ -886,7 +885,7 @@ Route::set_solo (bool yn, void *src, bool group_override)
if (self_soloed() != yn) {
set_self_solo (yn);
set_mute_master_solo ();
- solo_changed (true, src, group_active); /* EMIT SIGNAL */
+ solo_changed (true, src, group_override); /* EMIT SIGNAL */
_solo_control->Changed (); /* EMIT SIGNAL */
}