diff options
-rw-r--r-- | base/timer.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/base/timer.h b/base/timer.h index 68fcf05..add7844 100644 --- a/base/timer.h +++ b/base/timer.h @@ -326,9 +326,11 @@ class BaseTimer : public BaseTimer_Helper { if (!timer_) // timer_ is null if we were orphaned. return; BaseTimer<Receiver>* self = static_cast<BaseTimer<Receiver>*>(timer_); - self->delayed_task_ = NULL; - if (self->repeating_) + if (self->repeating_) { self->Reset(); + } else { + self->delayed_task_ = NULL; + } DispatchToMethod(self->receiver_, self->receiver_method_, Tuple0()); } }; |