Menu: check for division by 0
authorTimePath <andrew.hardaker1995@gmail.com>
Fri, 2 Oct 2015 23:40:17 +0000 (09:40 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Fri, 2 Oct 2015 23:41:03 +0000 (09:41 +1000)
qcsrc/menu/item/button.qc
qcsrc/menu/item/label.qc
qcsrc/menu/item/slider.qc

index 343bf1d..934e8cd 100644 (file)
@@ -44,7 +44,7 @@ void Button_resizeNotify(entity me, vector relOrigin, vector relSize, vector abs
        if(me.srcMulti)
                me.keepspaceLeft = 0;
        else
-               me.keepspaceLeft = min(0.8, absSize.y / absSize.x);
+               me.keepspaceLeft = min(0.8, absSize.x == 0 ? 0 : (absSize.y / absSize.x));
        SUPER(Button).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
 }
 void Button_configureButton(entity me, string txt, float sz, string gfx)
index e02642f..ea17077 100644 (file)
@@ -130,8 +130,8 @@ void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absO
        SUPER(Label).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
 
        // absSize_y is height of label
-       me.realFontSize_y = me.fontSize / absSize.y;
-       me.realFontSize_x = me.fontSize / absSize.x;
+       me.realFontSize_y = absSize.y == 0 ? 0 : (me.fontSize / absSize.y);
+       me.realFontSize_x = absSize.x == 0 ? 0 : (me.fontSize / absSize.x);
        if(me.marginLeft)
                me.keepspaceLeft = me.marginLeft * me.realFontSize.x;
        if(me.marginRight)
index 4654425..03ad736 100644 (file)
@@ -69,7 +69,7 @@ string Slider_toString(entity me)
 void Slider_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 {
        SUPER(Slider).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
-       me.controlWidth = absSize.y / absSize.x;
+       me.controlWidth = absSize.x == 0 ? 0 : (absSize.y / absSize.x);
 }
 string Slider_valueToText(entity me, float val)
 {