1. Invalid move constructor
2. Reset with no arguments haven't always removed callback
Change-Id: Ia02dd6dd4dc02849290c07560dfa667b033fea71
if (timerHandler) {
ecore_timer_del(timerHandler);
timerHandler = nullptr;
+ method = {};
}
}
ASSERT(prevTimer == timerHandler || result == ecore::TimerRepetitionPolicy::cancel, "Timer changed during callback invokation");
if (result == ecore::TimerRepetitionPolicy::cancel) {
- timerHandler = (prevTimer != timerHandler) ? timerHandler : nullptr;
- if (!timerHandler) method = {};
+ if (timerHandler == prevTimer) {
+ timerHandler = nullptr;
+ method = {};
+ }
return ECORE_CALLBACK_CANCEL;
}
~Timer();
Timer(const Timer &) = delete;
- Timer(const Timer &&) = delete;
+ Timer(Timer &&) = delete;
Timer &operator=(const Timer &) = delete;
Timer &operator=(Timer &&) = delete;