diff -r 2fd63cc4bd9c -r 84e9d3494603 core/TimerSys.cpp --- a/core/TimerSys.cpp Tue Sep 11 18:08:49 2007 +0000 +++ b/core/TimerSys.cpp Tue Sep 11 18:16:25 2007 +0000 @@ -158,6 +158,12 @@ TimerIter iter; float to_exec = GetSimulatedTime() + fInterval; + if ((flags & TIMER_FLAG_BEFORE_MAP_END) + && m_fnTimeLeft == NULL) + { + return NULL; + } + if (m_FreeTimers.empty()) { pTimer = new ITimer; @@ -253,8 +259,6 @@ void TimerSystem::KillTimer(ITimer *pTimer) { - TimerList *pList; - if (pTimer->m_KillMe) { return; @@ -278,7 +282,6 @@ m_SingleTimers.remove(pTimer); } - pList->remove(pTimer); m_FreeTimers.push(pTimer); }