base new timer expiration time on current time, not on the previous expiration time

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-10-15 11:39:04 +00:00
parent 00a1c49a77
commit d45242a64a

View File

@ -172,7 +172,11 @@ void wxTimerScheduler::NotifyExpired()
} }
else // reschedule the next timer expiration else // reschedule the next timer expiration
{ {
s->m_expiration += timer->GetInterval()*1000; // always keep the expiration time in the future, i.e. base it on
// the current time instead of just offsetting it from the current
// expiration time because it could happen that we're late and the
// current expiration time is (far) in the past
s->m_expiration = now + timer->GetInterval()*1000;
DoAddTimer(s); DoAddTimer(s);
} }