From 39df5492a857bbd94d76cdf125d8361378fd4ad1 Mon Sep 17 00:00:00 2001 From: seungho Date: Mon, 12 Jul 2021 14:16:58 +0900 Subject: [PATCH] Fix to do not remove entity inside loop.(Transition) - Fix a problem caused by removing entity inside loop Change-Id: Id12c66ec287c451451005c3c2d0d33b570d4c984 Signed-off-by: seungho --- dali-toolkit/internal/transition/transition-base-impl.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dali-toolkit/internal/transition/transition-base-impl.cpp b/dali-toolkit/internal/transition/transition-base-impl.cpp index 241eb06..ca34d77 100644 --- a/dali-toolkit/internal/transition/transition-base-impl.cpp +++ b/dali-toolkit/internal/transition/transition-base-impl.cpp @@ -219,10 +219,11 @@ void TransitionBase::CopyTarget() { mCopiedActor = Dali::Actor::New(); mTarget.GetParent().Add(mCopiedActor); + mCopiedActor[Dali::DevelActor::Property::SIBLING_ORDER] = static_cast(mTarget[Dali::DevelActor::Property::SIBLING_ORDER]) + 1; - for(uint32_t i = 0; i < mTarget.GetChildCount(); ++i) + while(mTarget.GetChildCount() > 0) { - Dali::Actor child = mTarget.GetChildAt(i); + Dali::Actor child = mTarget.GetChildAt(0); Dali::DevelActor::SwitchParent(child, mCopiedActor); } @@ -238,9 +239,9 @@ void TransitionBase::TransitionFinished() mTarget.SetProperties(mOriginalPropertyMap); if(mMoveTargetChildren) { - for(uint32_t i = 0; i < mCopiedActor.GetChildCount(); ++i) + while(mCopiedActor.GetChildCount() > 0) { - Dali::Actor child = mCopiedActor.GetChildAt(i); + Dali::Actor child = mCopiedActor.GetChildAt(0); Dali::DevelActor::SwitchParent(child, mTarget); } mCopiedActor.Unparent(); -- 2.7.4