Index: sources/gui/qml/components/RangedValue.qml =================================================================== diff -u -r863764371ec0a4569403135975a0a3f44e516163 -ra3c7ec36bfb8189f4ee82626a29561f7563513b3 --- sources/gui/qml/components/RangedValue.qml (.../RangedValue.qml) (revision 863764371ec0a4569403135975a0a3f44e516163) +++ sources/gui/qml/components/RangedValue.qml (.../RangedValue.qml) (revision a3c7ec36bfb8189f4ee82626a29561f7563513b3) @@ -44,10 +44,12 @@ else { let fixedVal = _private.fixedValue(value) let fixedStep = _private.fixedValue(step) - // if value is not step aligned, then fixedDelta will be amount to next higher step - // otherwise fixedDelta will be a whole step - let fixedDelta = fixedStep - (fixedVal % fixedStep) - tValue = (fixedVal + fixedDelta) / _private.multiplier + if (fixedStep != 0) { + // if value is not step aligned, then fixedDelta will be amount to next higher step + // otherwise fixedDelta will be a whole step + let fixedDelta = fixedStep - (fixedVal % fixedStep) + tValue = (fixedVal + fixedDelta) / _private.multiplier + } // clamp tValue between [min, max] // e.g. if value is 2 and range is [5, 10], incrementing will return 5 tValue = Math.max(min, Math.min(max, tValue)) @@ -64,10 +66,12 @@ else { let fixedVal = _private.fixedValue(value) let fixedStep = _private.fixedValue(step) - // if value is not step aligned, then fixedDelta will be amount to next lower step - // otherwise fixedDelta will be a whole step - let fixedDelta = fixedVal % fixedStep - tValue = (fixedVal - (fixedDelta > 0 ? fixedDelta : fixedStep)) / _private.multiplier + if (fixedStep != 0) { + // if value is not step aligned, then fixedDelta will be amount to next lower step + // otherwise fixedDelta will be a whole step + let fixedDelta = fixedVal % fixedStep + tValue = (fixedVal - (fixedDelta > 0 ? fixedDelta : fixedStep)) / _private.multiplier + } // clamp tValue between [minimum, maxVal] // e.g. if value is 13 and range is [5, 10], decrementing will return 10 tValue = Math.min(max, Math.max(min, tValue)) @@ -88,14 +92,14 @@ function calculateMinimum() { let fixedMin = _private.fixedValue(min) let fixedStep = _private.fixedValue(step) - return (Math.ceil(fixedMin / fixedStep) * fixedStep) / _private.multiplier + return (fixedStep != 0 ? (Math.ceil(fixedMin / fixedStep) * fixedStep) : fixedMin) / _private.multiplier } // calculate the maximum value rounded down to the next higher step size function calculateMaximum() { let fixedMax = _private.fixedValue(max) let fixedStep = _private.fixedValue(step) - return (Math.floor(fixedMax / fixedStep) * fixedStep) / _private.multiplier + return (fixedStep != 0 ? (Math.floor(fixedMax / fixedStep) * fixedStep) : fixedMax) / _private.multiplier } // return a fixed point int from the inputted float (using the set precision)