~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Patch I've had lurking around for over a year and not remembered to
[sgt/puzzles]
/
midend.c
diff --git
a/midend.c
b/midend.c
index
47d9b2c
..
4d729e3
100644
(file)
--- 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);
* 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);
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)
{
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) {
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;
}
me->flash_pos = me->flash_time = 0;
}
- midend_redraw(me);
+ if (need_redraw)
+ midend_redraw(me);
if (me->timing) {
float oldelapsed = me->elapsed;
if (me->timing) {
float oldelapsed = me->elapsed;