diff --git a/extensions/globaltimers.c b/extensions/globaltimers.c index 1d8092f..8de97ce 100644 --- a/extensions/globaltimers.c +++ b/extensions/globaltimers.c @@ -52,11 +52,14 @@ void cGlobalTimers::MarkLocalTimers(void) { delete[] localTimer; localTimer = NULL; } + const cTimers* timers; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + { LOCK_TIMERS_READ; - const cTimers* timers = Timers; + timers = Timers; + } #else - const cTimers* timers = &Timers; + timers = &Timers; #endif int numTimers = Size(); if (numTimers > 0) { @@ -78,14 +81,17 @@ void cGlobalTimers::MarkLocalTimers(void) { } void cGlobalTimers::SetLocalTimers(void) { + const cTimers* timers; #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + { LOCK_TIMERS_READ; - const cTimers* timers = Timers; + timers = Timers; + } #else - const cTimers* timers = &Timers; + timers = &Timers; #endif for (const cTimer *Timer = timers->First(); Timer; Timer = timers->Next(Timer)) { - if (Timer->HasFlags(tfActive)) + if (Timer && Timer->HasFlags(tfActive)) Append(Timer); } }