]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/timer.cpp
Forward-port: Fix an uninitialised variable in ConfigReader::GetError()
[user/henk/code/inspircd.git] / src / timer.cpp
index ca7534a7c7409759d42808258c3162db706f019a..b9c87c873f0ab763396e7fac47074a073569a33d 100644 (file)
@@ -11,7 +11,7 @@
  * ---------------------------------------------------
  */
 
-/* $Core: libIRCDtimer */
+/* $Core */
 
 #include "inspircd.h"
 #include "timer.h"
@@ -26,6 +26,9 @@ void TimerManager::TickTimers(time_t TIME)
        {
                std::vector<Timer *>::iterator i = Timers.begin();
                Timer *t = (*i);
+               
+               // Probable fix: move vector manipulation to *before* we modify the vector.
+               Timers.erase(i);
 
                t->Tick(TIME);
                if (t->GetRepeat())
@@ -35,8 +38,6 @@ void TimerManager::TickTimers(time_t TIME)
                }
                else
                        delete t;
-
-               Timers.erase(i);
        }
 }