diff --git a/src/misc/timer.cpp b/src/misc/timer.cpp index fe7707a..ae8dcb1 100644 --- a/src/misc/timer.cpp +++ b/src/misc/timer.cpp @@ -61,7 +61,10 @@ bool Timer::cancel(TimerCallbackPtr const &timerCallback) { Lock xx(mutex); if(!timerCallback->onList) return false; - if(!alive) return true; + if(!alive) { + timerCallback->onList = false; + return true; + } for(queue_t::iterator it(queue.begin()), end(queue.end()); it != end; ++it) { TimerCallbackPtr& cur = *it;