summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/timer.h6
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());
}
};