From c1840e943d019863e8563c38d034bfe2b243144a Mon Sep 17 00:00:00 2001 From: kojima Date: Wed, 14 Mar 2001 03:58:55 +0000 Subject: [PATCH] *** empty log message *** --- WINGs/wevent.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WINGs/wevent.c b/WINGs/wevent.c index 63d9bb73..5146bb0f 100644 --- a/WINGs/wevent.c +++ b/WINGs/wevent.c @@ -165,7 +165,7 @@ WMHandlerID WMAddTimerHandler(int milliseconds, WMCallback *callback, void *cdata) { TimerHandler *handler; - + handler = malloc(sizeof(TimerHandler)); if (!handler) return NULL; @@ -381,7 +381,7 @@ checkTimerHandlers() { TimerHandler *handler; struct timeval now; - + if (!timerHandler) { W_FlushASAPNotificationQueue(); return; @@ -391,8 +391,10 @@ checkTimerHandlers() handler = timerHandler; while (handler && IS_AFTER(now, handler->when)) { - SET_ZERO(handler->when); - (*handler->callback)(handler->clientData); + if (!IS_ZERO(handler->when)) { + SET_ZERO(handler->when); + (*handler->callback)(handler->clientData); + } handler = handler->next; } @@ -401,7 +403,7 @@ checkTimerHandlers() timerHandler = timerHandler->next; if (handler->nextDelay > 0) { - rightNow(&handler->when); + handler->when = now; addmillisecs(&handler->when, handler->nextDelay); enqueueTimerHandler(handler); } else { -- 2.11.4.GIT