diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-01-26 15:24:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-26 15:24:58 +0100 |
commit | b84729f8481b64ace81b630176226faa054df6e9 (patch) | |
tree | e7166a0fa5552f46b86e066969674362ab1af596 /scene/gui | |
parent | f6af5b6eacd035334501fc8c3d9b814dfe6de988 (diff) | |
parent | 44204ec32d30a59b77c75a38406676774885a595 (diff) | |
download | redot-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.cpp | 5 |
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); |