Ensure to std::unordered clear as zero capacity 38/323938/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Fri, 9 May 2025 09:31:02 +0000 (18:31 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Fri, 9 May 2025 09:31:33 +0000 (18:31 +0900)
Since clear & rehash is heavyer than swap(), let we call it if we use
temperal copy.

Change-Id: I45464079558b555483d0d588cc9739f7bd797512
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-extension/vector-animation-renderer/vector-animation-plugin-manager.cpp

index cb59b362e5b329468cd356a1cc6c59b0bee74318..e8334ce90a1e2c480283e040d6c77283ed586a6f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2025 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -164,9 +164,7 @@ void VectorAnimationPluginManager::OnEventTriggered()
     Dali::Mutex::ScopedLock lock(mMutex);
 
     // Copy the list to the local variable and clear
-    movedTriggeredHandlers = std::move(mTriggeredHandlers);
-    mTriggeredHandlers.clear();
-    mTriggeredHandlers.rehash(0u);
+    movedTriggeredHandlers.swap(mTriggeredHandlers);
 
     mTriggerOrderId = 0u;
   }
@@ -180,7 +178,6 @@ void VectorAnimationPluginManager::OnEventTriggered()
       handlers[iter.second] = iter.first;
     }
   }
-  movedTriggeredHandlers.clear();
 
   // We check validation before move handlers. Reset removed flag now.
   mEventHandlerRemovedDuringEventProcessing = false;