From 636a12f2e606a7a1c382938f473f7bb4303865d5 Mon Sep 17 00:00:00 2001 From: Daniel Prilik Date: Mon, 2 Nov 2020 18:47:56 -0500 Subject: [PATCH] fix underflow on debug build --- src/controller/mod.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/controller/mod.rs b/src/controller/mod.rs index f8ad99c..c610bee 100644 --- a/src/controller/mod.rs +++ b/src/controller/mod.rs @@ -60,7 +60,11 @@ impl DialController { } pub fn run(&mut self) -> DynResult<()> { - self.modes[0].on_start(self.device.haptics())?; + let initial_mode = match self.active_mode { + ActiveMode::Normal(i) => i, + ActiveMode::Meta => 0, + }; + self.modes[initial_mode].on_start(self.device.haptics())?; loop { let evt = self.device.next_event()?; @@ -182,8 +186,12 @@ impl ControlMode for MetaMode { if delta > 0 { self.current_mode += 1; } else { - self.current_mode -= 1; - } + if self.current_mode == 0 { + self.current_mode = self.metas.len() - 1; + } else { + self.current_mode -= 1; + } + }; self.current_mode %= self.metas.len();