From 244a8f5d9904b05518436d1279fb0c5418445090 Mon Sep 17 00:00:00 2001 From: Jonas Zimmermann Date: Wed, 24 Feb 2016 13:27:12 -0500 Subject: [PATCH] check upper bound of value; under certain circumstances due to floating point inaccuracies, value may be exceeded --- kivy/uix/slider.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kivy/uix/slider.py b/kivy/uix/slider.py index c29b80c7a..048848280 100644 --- a/kivy/uix/slider.py +++ b/kivy/uix/slider.py @@ -117,13 +117,14 @@ class Slider(Widget): def set_norm_value(self, value): vmin = self.min + vmax = self.max step = self.step - val = value * (self.max - vmin) + vmin + val = min(value * (vmax - vmin) + vmin, vmax) if step == 0: self.value = val else: self.value = min(round((val - vmin) / step) * step + vmin, - self.max) + vmax) value_normalized = AliasProperty(get_norm_value, set_norm_value, bind=('value', 'min', 'max', 'step')) '''Normalized value inside the :attr:`range` (min/max) to 0-1 range::