diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 97f96157d0..2580fa9672 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -1301,7 +1301,11 @@ MackieControlProtocol::notify_remote_id_changed() if (sorted.size() - _current_initial_bank < sz) { // but don't shift backwards past the zeroth channel - switch_banks (max((Sorted::size_type) 0, sorted.size() - sz)); + if (sorted.size() < sz) { // avoid unsigned math mistake below + switch_banks(0, true); + } else { + switch_banks (max((Sorted::size_type) 0, sorted.size() - sz), true); + } } else { // Otherwise just refresh the current bank refresh_current_bank(); |