From e2e9635136a6f9ccb8ae5f125ae3bc8ac5a2d896 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 11 Jan 2023 23:44:21 +0100 Subject: [PATCH] Fix value slider when mid-point is set perfectly in the middle --- swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java b/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java index f115251e8..7aee2b8a6 100644 --- a/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java +++ b/swing/src/net/sf/openrocket/gui/adaptors/DoubleModel.java @@ -321,7 +321,7 @@ public class DoubleModel implements StateChangeListener, ChangeSource, Invalidat return MAX; double x; - if (value <= mid.getValue()) { + if ((value <= mid.getValue()) || (quad2 == 0)) { // If quad 2 is 0, the midpoint is perfectly in center // Use linear scale //linear0 = min; //linear1 = (mid-min)/pos; @@ -468,7 +468,10 @@ public class DoubleModel implements StateChangeListener, ChangeSource, Invalidat } public BoundedRangeModel getSliderModel(double min, double mid, double max) { - return new ValueSliderModel(min, mid, max); + if (MathUtil.equals(mid, (max + min)/2.0)) + return new ValueSliderModel(min, max); + else + return new ValueSliderModel(min, mid, max); } public BoundedRangeModel getSliderModel(double min, double mid, DoubleModel max) {