diff --git a/Intersect.Client.Framework/Gwen/Control/LabeledSlider.cs b/Intersect.Client.Framework/Gwen/Control/LabeledSlider.cs
index 20d4b670ea..dd36481d7b 100644
--- a/Intersect.Client.Framework/Gwen/Control/LabeledSlider.cs
+++ b/Intersect.Client.Framework/Gwen/Control/LabeledSlider.cs
@@ -378,7 +378,27 @@ protected override void OnChildSizeChanged(Base child, Point oldChildSize, Point
SizeToChildren(resizeX: AutoSizeToContentWidthOnChildResize, resizeY: AutoSizeToContentHeightOnChildResize);
}
- public void SetRange(double min, double max) => (Minimum, Maximum) = (min, max);
+ public void SetRange(double min, double max)
+ {
+ var actualMin = Math.Min(min, max);
+ var actualMax = Math.Max(min, max);
+
+ if (actualMin > Maximum)
+ {
+ Maximum = actualMax;
+ Minimum = actualMin;
+ }
+ else if (actualMax < Minimum)
+ {
+ Minimum = actualMin;
+ Maximum = actualMax;
+ }
+ else
+ {
+ Minimum = actualMin;
+ Maximum = actualMax;
+ }
+ }
public bool AutoSizeToContents
{
diff --git a/Intersect.Client.Framework/Gwen/Control/Slider.cs b/Intersect.Client.Framework/Gwen/Control/Slider.cs
index f47fb7d4d4..77a8c5835d 100644
--- a/Intersect.Client.Framework/Gwen/Control/Slider.cs
+++ b/Intersect.Client.Framework/Gwen/Control/Slider.cs
@@ -458,8 +458,24 @@ protected virtual void SetValueInternal(double newInternalValue, bool forceUpdat
/// Maximum value.
public void SetRange(double min, double max)
{
- _minimumValue = min;
- _maximumValue = max;
+ var actualMin = Math.Min(min, max);
+ var actualMax = Math.Max(min, max);
+
+ if (actualMin > _maximumValue)
+ {
+ _maximumValue = actualMax;
+ _minimumValue = actualMin;
+ }
+ else if (actualMax < _minimumValue)
+ {
+ _minimumValue = actualMin;
+ _maximumValue = actualMax;
+ }
+ else
+ {
+ _minimumValue = actualMin;
+ _maximumValue = actualMax;
+ }
}
///