X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Fbutton.c;h=6b32bae27080d279c760923b4ddd613868469079;hb=30125332eda7a5e10bd535c63c3f689729155810;hp=527672d254f41acb6795a336f05da00d3ffb7e45;hpb=547b3d9a16c2d5af2a0177600b276cbbccb63cd0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/button.c b/qcsrc/menu/item/button.c index 527672d25..6b32bae27 100644 --- a/qcsrc/menu/item/button.c +++ b/qcsrc/menu/item/button.c @@ -9,7 +9,7 @@ CLASS(Button) EXTENDS(Label) METHOD(Button, mouseDrag, float(entity, vector)) METHOD(Button, mouseRelease, float(entity, vector)) METHOD(Button, focusEnter, void(entity)) - ATTRIB(Button, onClick, void(entity, entity), SUB_Null) + ATTRIB(Button, onClick, void(entity, entity), func_null) ATTRIB(Button, onClickEntity, entity, NULL) ATTRIB(Button, src, string, string_null) ATTRIB(Button, srcSuffix, string, string_null) @@ -74,13 +74,16 @@ float Button_mousePress(entity me, vector pos) } float Button_mouseRelease(entity me, vector pos) { - if(cvar("menu_sounds")) - localsound("sound/misc/menu2.wav"); me.mouseDrag(me, pos); // verify coordinates if(me.pressed) { if not(me.disabled) - me.onClick(me, me.onClickEntity); + { + if(cvar("menu_sounds")) + localsound("sound/misc/menu2.wav"); + if(me.onClick) + me.onClick(me, me.onClickEntity); + } me.pressed = 0; } return 1; @@ -156,14 +159,15 @@ void Button_draw(entity me) draw_alpha = save; - SUPER(Button).draw(me); - if(me.clickTime > 0 && me.clickTime <= frametime) { // keyboard click timer expired? Fire the event then. if not(me.disabled) - me.onClick(me, me.onClickEntity); + if(me.onClick) + me.onClick(me, me.onClickEntity); } me.clickTime -= frametime; + + SUPER(Button).draw(me); } #endif