Merge "Unparents internalRoot actor when gaussian-blur-view is deactived." into devel...
authorSeungho BAEK <sbsh.baek@samsung.com>
Wed, 25 Mar 2020 00:43:52 +0000 (00:43 +0000)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Wed, 25 Mar 2020 00:43:52 +0000 (00:43 +0000)
automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp
dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp

index 4a19b78..531b94c 100644 (file)
@@ -178,11 +178,14 @@ int UtcDaliGaussianBlurActivateDeactivate(void)
 
   RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
   DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
+  DALI_TEST_CHECK( 2u == view.GetChildCount() );
 
   view.Deactivate();
 
   RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
   DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
+  DALI_TEST_CHECK( 1u == view.GetChildCount() );
+
   END_TEST;
 }
 
index d83ed24..233a79c 100644 (file)
@@ -330,7 +330,6 @@ void GaussianBlurView::OnInitialize()
   //////////////////////////////////////////////////////
   // Connect to actor tree
   Self().Add( mChildrenRoot );
-  Self().Add( mInternalRoot );
   mInternalRoot.Add( mHorizBlurActor );
   mInternalRoot.Add( mVertBlurActor );
   mInternalRoot.Add( mRenderDownsampledCamera );
@@ -534,6 +533,7 @@ void GaussianBlurView::RemoveRenderTasks()
 void GaussianBlurView::Activate()
 {
   // make sure resources are allocated and start the render tasks processing
+  Self().Add( mInternalRoot );
   AllocateResources();
   CreateRenderTasks();
   mActivated = true;
@@ -550,6 +550,7 @@ void GaussianBlurView::Deactivate()
 {
   // stop render tasks processing
   // Note: render target resources are automatically freed since we set the Image::Unused flag
+  mInternalRoot.Unparent();
   RemoveRenderTasks();
   mRenderTargetForRenderingChildren.Reset();
   mRenderTarget1.Reset();