From 762093d2125c0f6efffd55697e6b580dd607ccf3 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 12 Aug 2013 00:08:51 +0200 Subject: games/juggle, games/catclock: keep up with queued mouse events many queued mouse events delay eresize() because new ebread() takes from the queue first before attempting to read from the event pipe. this is a waste of memory, so just process (dequeue) all the events as long as there are any on each iteration. --- sys/src/games/catclock.c | 2 +- sys/src/games/juggle.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/src/games/catclock.c b/sys/src/games/catclock.c index a581bc54d..01faba297 100644 --- a/sys/src/games/catclock.c +++ b/sys/src/games/catclock.c @@ -118,7 +118,7 @@ void main(int argc, char *argv[]){ eye[i]=draweye(i*PI/NTAIL); } for(;;){ - if(ecanmouse()) emouse(); /* don't get resize events without this! */ + while(ecanmouse()) emouse(); /* don't get resize events without this! */ drawclock(); flushimage(display, 1); // bflush(); diff --git a/sys/src/games/juggle.c b/sys/src/games/juggle.c index 01dea4146..f3971b51d 100644 --- a/sys/src/games/juggle.c +++ b/sys/src/games/juggle.c @@ -76,7 +76,7 @@ Point bpos(int b, int step, int t){ void move(int t){ int i, j; for(i=0;i!=NSTEP;i++){ - if(ecanmouse()) emouse(); + while(ecanmouse()) emouse(); draw(image, inset(image->r, 3), display->white, nil, ZP); for(j=0;j!=nball;j++) fillellipse(image, bpos(j, i, t), RBALL, RBALL, disk[j%ndisk], ZP); -- cgit v1.2.3