summaryrefslogtreecommitdiffstats
path: root/scene/gui/range.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2019-11-26 10:25:41 +0100
committerRémi Verschelde <rverschelde@gmail.com>2019-11-26 10:25:41 +0100
commitbfd5e098794ecb1f563b53e29f6981fda86381e9 (patch)
treea0477e9629974b108f3a663f00e526c81ad6e4a7 /scene/gui/range.cpp
parent55f86e9b7b25e44e5fe7acd9e55d1e26c5a67e95 (diff)
downloadredot-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.cpp2
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);