X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=b51839817a0e480b37be24bc8fb26bab2aee0aca;hb=dd70de09c4ba312d1b945585dba68b2a2d025bb9;hp=10950bd9513e2a993531382756a07658583c7996;hpb=ff96039fa2e69d11a4fb72df8d070d4ff5477d5e;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 10950bd9..b5183981 100644 --- a/src/events.c +++ b/src/events.c @@ -128,7 +128,7 @@ static boolean SkipPressedMouseMotionEvent(const Event *event) return FALSE; } -static boolean WaitEventFiltered(Event *event) +static boolean WaitValidEvent(Event *event) { WaitEvent(event); @@ -152,7 +152,7 @@ static boolean WaitEventFiltered(Event *event) boolean NextValidEvent(Event *event) { while (PendingEvent()) - if (WaitEventFiltered(event)) + if (WaitValidEvent(event)) return TRUE; return FALSE; @@ -341,12 +341,10 @@ void EventLoop(void) void ClearEventQueue() { - while (PendingEvent()) - { - Event event; - - WaitEvent(&event); + Event event; + while (NextValidEvent(&event)) + { switch (event.type) { case EVENT_BUTTONRELEASE: @@ -393,7 +391,8 @@ void SleepWhileUnmapped() { Event event; - WaitEvent(&event); + if (!WaitValidEvent(&event)) + continue; switch (event.type) {