[Tizen] Fix memory leak issue in dali core 10/132610/1
authorxb.teng <xb.teng@samsung.com>
Wed, 7 Jun 2017 05:41:26 +0000 (13:41 +0800)
committerxb.teng <xb.teng@samsung.com>
Wed, 7 Jun 2017 05:41:58 +0000 (13:41 +0800)
Change-Id: I29f12e8b0ddd3becc2bd35575a7192b9c3e6bc15
Signed-off-by: xb.teng <xb.teng@samsung.com>
dali/internal/event/actors/actor-impl.cpp [changed mode: 0644->0755]
dali/internal/event/actors/actor-impl.h [changed mode: 0644->0755]
dali/internal/update/manager/update-manager.cpp [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 2ab1558..4ad7d29
@@ -2446,6 +2446,7 @@ void Actor::RebuildDepthTree()
 
   SetDepthIndicesMessage( GetEventThreadServices().GetUpdateManager(), sceneGraphNodeDepths );
   DALI_LOG_TIMER_END(depthTimer, gLogFilter, Debug::Concise, "Depth tree create time: ");
+  rootNode->~ActorDepthTreeNode();
 }
 
 /**
old mode 100644 (file)
new mode 100755 (executable)
index b7e177d..e0f200f
@@ -2008,15 +2008,17 @@ public:
   {
     if( mFirstChildNode )
     {
-      delete mFirstChildNode;
+      mFirstChildNode->~ActorDepthTreeNode();
       mFirstChildNode = NULL;
     }
     if( mNextSiblingNode )
     {
-      delete mNextSiblingNode;
+      mNextSiblingNode->~ActorDepthTreeNode();
       mNextSiblingNode = NULL;
     }
     mParentNode = NULL;
+
+    mActors.clear();
   }
 
   uint16_t GetSiblingOrder()
old mode 100644 (file)
new mode 100755 (executable)
index 344891a..c6d67ea
@@ -1053,6 +1053,7 @@ void UpdateManager::SetDepthIndices( NodeDepths* nodeDepths )
     {
       iter->node->SetDepthIndex( iter->sortedDepth );
     }
+    delete nodeDepths;
   }
 }