]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix sliders handle getting stuck in the initial position when dragging outside the...
authorterencehill <piuntn@gmail.com>
Thu, 13 Aug 2015 12:53:33 +0000 (14:53 +0200)
committerterencehill <piuntn@gmail.com>
Thu, 13 Aug 2015 12:53:33 +0000 (14:53 +0200)
qcsrc/menu/item/slider.qc

index e944a96aea18f010c7a6e3dd5b25ddc8ec15cfbf..1d9cb8e727a6d1f07c91162bc3f9d54585696327 100644 (file)
@@ -181,10 +181,6 @@ float Slider_mouseDrag(entity me, vector pos)
        if(me.disabled)
                return 0;
 
-       anim.removeObjAnim(anim, me);
-       animed = me.animated;
-       me.animated = false;
-
        if(me.pressed)
        {
                hit = 1;
@@ -194,17 +190,21 @@ float Slider_mouseDrag(entity me, vector pos)
                if(pos.y >= 1 + me.tolerance.y) hit = 0;
                if(hit)
                {
+                       anim.removeObjAnim(anim, me);
+                       animed = me.animated;
+                       me.animated = false;
+
                        v = median(0, (pos.x - me.pressOffset - 0.5 * me.controlWidth) / (1 - me.textSpace - me.controlWidth), 1) * (me.valueMax - me.valueMin) + me.valueMin;
                        if(me.valueStep)
                                v = floor(0.5 + v / me.valueStep) * me.valueStep;
                        me.setValue(me, v);
+
+                       me.animated = animed;
                }
                else
                        me.setValue(me, me.previousValue);
        }
 
-       me.animated = animed;
-
        return 1;
 }
 float Slider_mousePress(entity me, vector pos)