diff options
Diffstat (limited to 'libs/ardour/route_group_member.cc')
-rw-r--r-- | libs/ardour/route_group_member.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/ardour/route_group_member.cc b/libs/ardour/route_group_member.cc index 6ab2ade21e..d0701f57da 100644 --- a/libs/ardour/route_group_member.cc +++ b/libs/ardour/route_group_member.cc @@ -40,7 +40,8 @@ bool RouteGroupMember::use_group (PBD::Controllable::GroupControlDisposition gcd, bool (RouteGroup::*predicate)(void) const) const { return (gcd != PBD::Controllable::NoGroup) && - (_route_group && - ((gcd == PBD::Controllable::WholeGroup) || - (_route_group->is_active() && (_route_group->*predicate)()))); + _route_group && + (_route_group->*predicate)() && + (((_route_group->is_active()) && (gcd != PBD::Controllable::InverseGroup)) || + ((!_route_group->is_active()) && (gcd == PBD::Controllable::InverseGroup))); } |