From: Eunki, Hong Date: Thu, 12 Dec 2024 08:40:10 +0000 (+0900) Subject: [Tizen] (Vector) Make we always trigger EventThreadCallback always X-Git-Tag: accepted/tizen/9.0/unified/20241223.115340~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d015daffb66d9e8cc24ce48364c9cbb67fd38155;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] (Vector) Make we always trigger EventThreadCallback always Since their was some issue looks like eventfd didn't send callback even if we trigger callback before. Until we found good solution to resolve this issue, let we make trigger the event callback always. Change-Id: I8f12e47e2271ccdcef4746a0d2fc08f9b51665c4 Signed-off-by: Eunki, Hong --- 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 34576a7d99..57a3b8fc9a 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 @@ -55,7 +55,6 @@ VectorAnimationThread::VectorAnimationThread() mTraceFactory(Dali::Adaptor::Get().GetTraceFactory()), mNeedToSleep(false), mDestroyThread(false), - mEventTriggered(false), mForceRenderOnce(false) { mAsyncTaskManager = Dali::AsyncTaskManager::Get(); @@ -175,11 +174,11 @@ void VectorAnimationThread::AddEventTriggerCallback(CallbackBase* callback, uint mTriggerEventCallbacks.emplace_back(callback, argument); - if(!mEventTriggered) + // Note : Always trigger event since eventfd might not emit triggered callback sometimes. + // Let we keep this logic until fd relative bug fixed. 2024-12-16 eunkiki.hong + if(DALI_LIKELY(mEventTrigger)) { - DALI_LOG_DEBUG_INFO("VectorAnimationThread::mEventTrigger Triggered!\n"); mEventTrigger->Trigger(); - mEventTriggered = true; } } } @@ -203,11 +202,12 @@ void VectorAnimationThread::RequestForceRenderOnce() { mForceRenderOnce = true; - if(!mEventTriggered) + DALI_LOG_DEBUG_INFO("VectorAnimationThread::mEventTrigger Triggered!\n"); + // Note : Always trigger event since eventfd might not emit triggered callback sometimes. + // Let we keep this logic until fd relative bug fixed. 2024-12-16 eunkiki.hong + if(DALI_LIKELY(mEventTrigger)) { - DALI_LOG_DEBUG_INFO("VectorAnimationThread::mEventTrigger Triggered!\n"); mEventTrigger->Trigger(); - mEventTriggered = true; } } } @@ -476,11 +476,9 @@ std::pair VectorAnimationThread::GetNextEventCallback() if(callbackIdPair.first == nullptr) { DALI_LOG_ERROR("Error! someone register null callback!\n"); - mEventTriggered = false; } return callbackIdPair; } - mEventTriggered = false; } return std::make_pair(nullptr, 0u); } 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 61ff71b068..ff08c6dd17 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 @@ -217,7 +217,6 @@ private: bool mNeedToSleep : 1; bool mDestroyThread : 1; - bool mEventTriggered : 1; bool mForceRenderOnce : 1; };