summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc6
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();