Skip to content

Commit

Permalink
Merge pull request #236 from TitouanReal/fix-number-input-overflow-un…
Browse files Browse the repository at this point in the history
…derflow

Fix number input over/underflow
  • Loading branch information
genusistimelord authored Apr 28, 2024
2 parents 9ed46bf + d2a0432 commit 8e2b738
Showing 1 changed file with 10 additions and 16 deletions.
26 changes: 10 additions & 16 deletions src/widgets/number_input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,28 +224,22 @@ where

/// Decrease current value by step of the [`NumberInput`].
fn decrease_val(&mut self, shell: &mut Shell<Message>) {
if self.value > self.bounds.0 {
let new_val = self.value - self.step;
self.value = if new_val > self.bounds.0 {
new_val
} else {
self.bounds.0
};
shell.publish((self.on_change)(self.value));
if self.bounds.1 - self.bounds.0 < self.step || 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<Message>) {
if self.value < self.bounds.1 {
let new_val = self.value + self.step;
self.value = if new_val < self.bounds.1 {
new_val
} else {
self.bounds.1
};
shell.publish((self.on_change)(self.value));
if self.bounds.1 - self.bounds.0 < self.step || self.value > self.bounds.1 - self.step {
self.value = self.bounds.1;
} else {
self.value += self.step;
}
shell.publish((self.on_change)(self.value));
}
}

Expand Down

0 comments on commit 8e2b738

Please sign in to comment.