diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-11-26 10:25:41 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2019-11-26 10:25:41 +0100 |
commit | bfd5e098794ecb1f563b53e29f6981fda86381e9 (patch) | |
tree | a0477e9629974b108f3a663f00e526c81ad6e4a7 /scene/gui/range.cpp | |
parent | 55f86e9b7b25e44e5fe7acd9e55d1e26c5a67e95 (diff) | |
download | redot-engine-bfd5e098794ecb1f563b53e29f6981fda86381e9.tar.gz |
Range: Fix cases where max was set to or below min value
It will now raise an error whenever this happens so that we can fix
these situations. `max == min` is not allowed as it could lead to
divisions by zero in ratios, and `max < min` doesn't make much sense.
Fixes #33907.
Diffstat (limited to 'scene/gui/range.cpp')
-rw-r--r-- | scene/gui/range.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/scene/gui/range.cpp b/scene/gui/range.cpp index 362697b4ad..97775f2946 100644 --- a/scene/gui/range.cpp +++ b/scene/gui/range.cpp @@ -100,6 +100,7 @@ void Range::set_value(double p_val) { shared->emit_value_changed(); } void Range::set_min(double p_min) { + ERR_FAIL_COND_MSG(p_min >= shared->max, "Range cannot have min value higher or equal to its max value."); shared->min = p_min; set_value(shared->val); @@ -109,6 +110,7 @@ void Range::set_min(double p_min) { update_configuration_warning(); } void Range::set_max(double p_max) { + ERR_FAIL_COND_MSG(p_max <= shared->min, "Range cannot have max value lower or equal to its min value."); shared->max = p_max; set_value(shared->val); |