Browse Source

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
Rémi Verschelde 4 years ago
parent
commit
b84729f848
1 changed files with 4 additions and 1 deletions
  1. 4 1
      scene/gui/range.cpp

+ 4 - 1
scene/gui/range.cpp

@@ -171,7 +171,10 @@ void Range::set_as_ratio(double p_value) {
 }
 }
 
 
 double Range::get_as_ratio() const {
 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) {
 	if (shared->exp_ratio && get_min() >= 0) {
 		double exp_min = get_min() == 0 ? 0.0 : Math::log(get_min()) / Math::log((double)2);
 		double exp_min = get_min() == 0 ? 0.0 : Math::log(get_min()) / Math::log((double)2);