X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1a739e2fd0f176d82aa3dba471a129f9fad0bd39..0eb3b8994cbfa8c784121e6e49edad0e510d86e5:/midend.c diff --git a/midend.c b/midend.c index 47d9b2c..4d729e3 100644 --- a/midend.c +++ b/midend.c @@ -550,6 +550,7 @@ static int midend_really_process_key(midend *me, int x, int y, int button) * state has been updated and a redraw is called for. */ midend_redraw(me); + midend_set_timer(me); goto done; } else if (s) { midend_stop_anim(me); @@ -741,6 +742,8 @@ void midend_redraw(midend *me) void midend_timer(midend *me, float tplus) { + int need_redraw = (me->anim_time > 0 || me->flash_time > 0); + me->anim_pos += tplus; if (me->anim_pos >= me->anim_time || me->anim_time == 0 || !me->oldstate) { @@ -753,7 +756,8 @@ void midend_timer(midend *me, float tplus) me->flash_pos = me->flash_time = 0; } - midend_redraw(me); + if (need_redraw) + midend_redraw(me); if (me->timing) { float oldelapsed = me->elapsed;