[Tizen](Vector) Assert if callback was nullptr + Make trigger works well even if... 26/316326/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 12 Dec 2024 08:40:10 +0000 (17:40 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Fri, 13 Dec 2024 01:58:25 +0000 (10:58 +0900)
Change-Id: I8f9218a0492fe67aeb9efd9f2ddfc75bddb2c529
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-toolkit/internal/visuals/animated-vector-image/vector-animation-thread.cpp

index 7fb77e617892d77365ab23d3855692814fffe933..34576a7d998d23263821a6c515f332caa4e209a5 100644 (file)
@@ -169,6 +169,10 @@ void VectorAnimationThread::AddEventTriggerCallback(CallbackBase* callback, uint
   Mutex::ScopedLock lock(mEventTriggerMutex);
   if(DALI_LIKELY(!mDestroyThread))
   {
+    DALI_LOG_DEBUG_INFO("VectorAnimationThread::AddEventTriggerCallback [%p, %u]\n", callback, argument);
+
+    DALI_ASSERT_ALWAYS(callback && "Someone register null callback! Please check the callstack\n");
+
     mTriggerEventCallbacks.emplace_back(callback, argument);
 
     if(!mEventTriggered)
@@ -469,6 +473,11 @@ std::pair<CallbackBase*, uint32_t> VectorAnimationThread::GetNextEventCallback()
       auto iter           = mTriggerEventCallbacks.begin();
       auto callbackIdPair = *iter;
       mTriggerEventCallbacks.erase(iter);
+      if(callbackIdPair.first == nullptr)
+      {
+        DALI_LOG_ERROR("Error! someone register null callback!\n");
+        mEventTriggered = false;
+      }
       return callbackIdPair;
     }
     mEventTriggered = false;