summaryrefslogtreecommitdiffstats
path: root/scene/gui
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-01-26 15:24:58 +0100
committerGitHub <noreply@github.com>2021-01-26 15:24:58 +0100
commitb84729f8481b64ace81b630176226faa054df6e9 (patch)
treee7166a0fa5552f46b86e066969674362ab1af596 /scene/gui
parentf6af5b6eacd035334501fc8c3d9b814dfe6de988 (diff)
parent44204ec32d30a59b77c75a38406676774885a595 (diff)
downloadredot-engine-b84729f8481b64ace81b630176226faa054df6e9.tar.gz
Merge pull request #45220 from Calinou/range-ratio-equal-min-max-no-error
Make Range return 1.0 ratio if minimum and maximum values are equal
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/range.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/scene/gui/range.cpp b/scene/gui/range.cpp
index b9ac6d7505..1e33ab0758 100644
--- a/scene/gui/range.cpp
+++ b/scene/gui/range.cpp
@@ -171,7 +171,10 @@ void Range::set_as_ratio(double p_value) {
}
double Range::get_as_ratio() const {
- ERR_FAIL_COND_V_MSG(Math::is_equal_approx(get_max(), get_min()), 0.0, "Cannot get ratio when minimum and maximum value are equal.");
+ if (Math::is_equal_approx(get_max(), get_min())) {
+ // Avoid division by zero.
+ return 1.0;
+ }
if (shared->exp_ratio && get_min() >= 0) {
double exp_min = get_min() == 0 ? 0.0 : Math::log(get_min()) / Math::log((double)2);