src/hbcore/utils/hbtimer.cpp
changeset 21 4633027730f5
parent 5 627c4a0fd0e7
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
    44     }
    44     }
    45     void updateCurrentTime(int) { }
    45     void updateCurrentTime(int) { }
    46     void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) {
    46     void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) {
    47         if (oldState != QAbstractAnimation::Stopped && newState == QAbstractAnimation::Stopped && mEntry) {
    47         if (oldState != QAbstractAnimation::Stopped && newState == QAbstractAnimation::Stopped && mEntry) {
    48             mEntry->timerFired();
    48             mEntry->timerFired();
    49             mEntry->mAnim = 0; // to prevent confusing unregisterEntry() and double deletion
    49             // mEntry may be nulled out due to an unregister call from the callback.
    50             HbTimer::instance()->unregisterEntry(mEntry);
    50             if (mEntry) {
    51             if (mEntry->mDeleteWhenFinishedNormally) {
    51                 mEntry->mAnim = 0; // to prevent confusing unregisterEntry() and double deletion
    52                 delete mEntry;
    52                 HbTimer::instance()->unregisterEntry(mEntry);
       
    53                 if (mEntry->mDeleteWhenFinishedNormally) {
       
    54                     delete mEntry;
       
    55                 }
    53             }
    56             }
    54         }
    57         }
    55     }
    58     }
    56     HbTimerEntry *mEntry;
    59     HbTimerEntry *mEntry;
    57     int mDuration;
    60     int mDuration;