diff options
Diffstat (limited to 'scene/gui/range.cpp')
-rw-r--r-- | scene/gui/range.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/gui/range.cpp b/scene/gui/range.cpp index 09d8664240..8fe33a00fb 100644 --- a/scene/gui/range.cpp +++ b/scene/gui/range.cpp @@ -66,10 +66,11 @@ void Range::Shared::emit_changed(const char *p_what) { } void Range::set_value(double p_val) { + if (shared->step > 0) + p_val = Math::round(p_val / shared->step) * shared->step; - if (_rounded_values) { + if (_rounded_values) p_val = Math::round(p_val); - } if (!shared->allow_greater && p_val > shared->max - shared->page) p_val = shared->max - shared->page; |