From 2ba35ab26ec95868e99b2edfa6430b8528d27710 Mon Sep 17 00:00:00 2001 From: "tor%cs.brown.edu" Date: Sun, 28 Nov 1999 19:12:10 +0000 Subject: [PATCH] Fix timers with interval greater than a second. r=blizzard git-svn-id: svn://10.0.0.236/trunk@54538 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/widget/timer/src/unix/xlib/nsTimerXlib.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mozilla/widget/timer/src/unix/xlib/nsTimerXlib.cpp b/mozilla/widget/timer/src/unix/xlib/nsTimerXlib.cpp index 598197885dc..7de27b360bb 100644 --- a/mozilla/widget/timer/src/unix/xlib/nsTimerXlib.cpp +++ b/mozilla/widget/timer/src/unix/xlib/nsTimerXlib.cpp @@ -96,7 +96,11 @@ nsTimerXlib::Init(PRUint32 aDelay) // get the cuurent time gettimeofday(&Now, NULL); mFireTime.tv_sec = Now.tv_sec + (aDelay / 1000); - mFireTime.tv_usec = Now.tv_usec + (aDelay * 1000); + mFireTime.tv_usec = Now.tv_usec + ((aDelay%1000) * 1000); + if (mFireTime.tv_usec >= 1000000) { + mFireTime.tv_sec++; + mFireTime.tv_usec -= 1000000; + } //printf("fire set to %ld / %ld\n", //mFireTime.tv_sec, mFireTime.tv_usec); // set the next pointer to nothing.