mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
*Ctrl: TimerProc implementation changed to reschedule repeated event AFTER executing callback to avoid recursion for long processing
git-svn-id: svn://ultimatepp.org/upp/trunk@3288 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
60913c260d
commit
820deb4334
1 changed files with 2 additions and 2 deletions
|
|
@ -88,12 +88,12 @@ void Ctrl::TimerProc(dword time)
|
|||
while(list->GetNext() != list && ((int)(time - list->GetNext()->time)) > 0) {
|
||||
TimeEvent *e = list->GetNext();
|
||||
e->Unlink();
|
||||
if(e->delay < 0)
|
||||
sTimeCallback(time - e->delay, e->delay, e->cb, e->id);
|
||||
eventid++;
|
||||
sTimerLock.Leave();
|
||||
e->cb();
|
||||
sTimerLock.Enter();
|
||||
if(e->delay < 0)
|
||||
sTimeCallback(time - e->delay, e->delay, e->cb, e->id);
|
||||
delete e;
|
||||
}
|
||||
sTimerLock.Leave();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue