Skip to content

Commit 8dbf8a8

Browse files
committed
Merge pull request godotengine#113380 from aaronfranke/range-no-big-min
Range: Don't use min for snap offset when it's too big
2 parents 73f238b + 9724adf commit 8dbf8a8

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

scene/gui/range.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,13 @@ double Range::_calc_value(double p_val, double p_step) const {
189189
}
190190

191191
if (p_step > 0) {
192-
// Subtract min to support cases like min = 0.1, step = 0.2, snaps to 0.1, 0.3, 0.5, etc.
193-
p_val = _snapped_r128(p_val - shared->min, p_step) + shared->min;
192+
if (Math::abs(shared->min) > p_step * 1e14) {
193+
// Min is too big to use for snapping offset, so snap without it.
194+
p_val = _snapped_r128(p_val, p_step);
195+
} else {
196+
// Subtract min to support cases like min = 0.1, step = 0.2, snaps to 0.1, 0.3, 0.5, etc.
197+
p_val = _snapped_r128(p_val - shared->min, p_step) + shared->min;
198+
}
194199
}
195200

196201
if (_rounded_values) {

0 commit comments

Comments
 (0)