void DynamicThread::DynamicThreadPriv::run() { if (emitSignals) { emit q->started(); } if (transitionToRunning()) { takingThread(); q->run(); } else { takingThread(); } if (emitSignals) { emit q->finished(); } transitionToInactive(); // as soon as we are inactive, we may get deleted! }
void BaseRenderNodeAnimator::pushStaging(AnimationContext& context) { if (!mHasStartValue) { doSetStartValue(getValue(mTarget)); } if (mStagingPlayState > mPlayState) { mPlayState = mStagingPlayState; // Oh boy, we're starting! Man the battle stations! if (mPlayState == RUNNING) { transitionToRunning(context); } else if (mPlayState == FINISHED) { callOnFinishedListener(context); } } }