// Release some objects in the main thread
if(mAnimationFinishedCallback)
{
- mVectorAnimationThread.RemoveEventTriggerCallback(mAnimationFinishedCallback.get());
+ mVectorAnimationThread.RemoveEventTriggerCallbacks(mAnimationFinishedCallback.get());
mAnimationFinishedCallback.reset();
}
if(mLoadCompletedCallback)
{
- mVectorAnimationThread.RemoveEventTriggerCallback(mLoadCompletedCallback.get());
+ mVectorAnimationThread.RemoveEventTriggerCallbacks(mLoadCompletedCallback.get());
mLoadCompletedCallback.reset();
}
}
}
-void VectorAnimationThread::RemoveEventTriggerCallback(CallbackBase* callback)
+void VectorAnimationThread::RemoveEventTriggerCallbacks(CallbackBase* callback)
{
ConditionalWait::ScopedLock lock(mConditionalWait);
- auto iter = std::find(mTriggerEventCallbacks.begin(), mTriggerEventCallbacks.end(), callback);
- if(iter != mTriggerEventCallbacks.end())
- {
- mTriggerEventCallbacks.erase(iter);
- }
+ auto iter = std::remove(mTriggerEventCallbacks.begin(), mTriggerEventCallbacks.end(), callback);
+ mTriggerEventCallbacks.erase(iter, mTriggerEventCallbacks.end());
}
void VectorAnimationThread::Run()
void AddEventTriggerCallback(CallbackBase* callback);
/**
- * @brief Remove an event trigger callback.
+ * @brief Remove event trigger callbacks what we added before.
*
* @param callback The callback to remove
*/
- void RemoveEventTriggerCallback(CallbackBase* callback);
+ void RemoveEventTriggerCallbacks(CallbackBase* callback);
protected:
/**