From b45d2b3a3b441e34a9749f6a79435005b8141c0b Mon Sep 17 00:00:00 2001 From: genusistimelord Date: Tue, 7 May 2024 14:38:54 -0400 Subject: [PATCH] Fix overflow issues when bounds min or max is set to T min or max --- src/widgets/number_input.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/widgets/number_input.rs b/src/widgets/number_input.rs index f5b6b544..0a922792 100644 --- a/src/widgets/number_input.rs +++ b/src/widgets/number_input.rs @@ -235,17 +235,18 @@ where /// Decrease current value by step of the [`NumberInput`]. fn decrease_val(&mut self, shell: &mut Shell) { - if self.bounds.1 - self.bounds.0 < self.step || self.value < self.bounds.0 + self.step { + if self.value < self.bounds.0 + self.step { self.value = self.bounds.0; } else { self.value -= self.step; } + shell.publish((self.on_change)(self.value)); } /// Increase current value by step of the [`NumberInput`]. fn increase_val(&mut self, shell: &mut Shell) { - if self.bounds.1 - self.bounds.0 < self.step || self.value > self.bounds.1 - self.step { + if self.value > self.bounds.1 - self.step { self.value = self.bounds.1; } else { self.value += self.step;