From eba449b65dd825966a50721389ef733738064d1b Mon Sep 17 00:00:00 2001 From: seungho baek Date: Tue, 18 Jul 2023 18:01:08 +0900 Subject: [PATCH] Revert "[Tizen](Vector) Fix invalid callback issue" This reverts commit 503ff1d0174097afeb56f4d6b94dabe31fbd8784. --- .../animated-vector-image/vector-animation-task.cpp | 6 ++---- .../animated-vector-image/vector-animation-thread.cpp | 18 ++++-------------- .../animated-vector-image/vector-animation-thread.h | 7 +------ 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp index b1e9bea..6d4b2ef 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.cpp @@ -106,12 +106,10 @@ void VectorAnimationTask::Finalize() if(mAnimationFinishedCallback) { mVectorAnimationThread.RemoveEventTriggerCallback(mAnimationFinishedCallback.get()); - mAnimationFinishedCallback.reset(); } if(mLoadCompletedCallback) { mVectorAnimationThread.RemoveEventTriggerCallback(mLoadCompletedCallback.get()); - mLoadCompletedCallback.reset(); } mVectorRenderer.Finalize(); @@ -141,7 +139,7 @@ bool VectorAnimationTask::Load(bool synchronousLoading) DALI_LOG_ERROR("VectorAnimationTask::Load: Load failed [%s]\n", mUrl.c_str()); mLoadRequest = false; mLoadFailed = true; - if(!synchronousLoading && mLoadCompletedCallback) + if(!synchronousLoading) { mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get()); } @@ -156,7 +154,7 @@ bool VectorAnimationTask::Load(bool synchronousLoading) mFrameDurationMicroSeconds = MICROSECONDS_PER_SECOND / mFrameRate; mLoadRequest = false; - if(!synchronousLoading && mLoadCompletedCallback) + if(!synchronousLoading) { mVectorAnimationThread.AddEventTriggerCallback(mLoadCompletedCallback.get()); } diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.cpp b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.cpp index 9d2cfbe..08b52d6 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.cpp +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.cpp @@ -263,25 +263,15 @@ void VectorAnimationThread::Rasterize() void VectorAnimationThread::OnEventCallbackTriggered() { - while(CallbackBase* callback = GetNextEventCallback()) - { - CallbackBase::Execute(*callback); - } -} - -CallbackBase* VectorAnimationThread::GetNextEventCallback() -{ ConditionalWait::ScopedLock lock(mConditionalWait); - if(!mTriggerEventCallbacks.empty()) + for(auto&& iter : mTriggerEventCallbacks) { - auto iter = mTriggerEventCallbacks.begin(); - CallbackBase* callback = *iter; - mTriggerEventCallbacks.erase(iter); - return callback; + CallbackBase::Execute(*iter); } + + mTriggerEventCallbacks.clear(); mEventTriggered = false; - return nullptr; } VectorAnimationThread::SleepThread::SleepThread(CallbackBase* callback) diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.h b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.h index 14aa6c9..79d1a48 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.h @@ -95,7 +95,7 @@ protected: private: /** - * @brief Rasterizes the tasks. + * Rasterizes the tasks. */ void Rasterize(); @@ -105,11 +105,6 @@ private: void OnEventCallbackTriggered(); /** - * @brief Gets next event callback to process. - */ - CallbackBase* GetNextEventCallback(); - - /** * @brief The thread to sleep until the next frame time. */ class SleepThread : public Thread -- 2.7.4