[Tizen] Workaround in AbsoluteLayout for animation bug in legacy application. 95/195495/1
authorAnton Obzhirov <a.obzhirov@samsung.com>
Thu, 6 Dec 2018 15:18:23 +0000 (15:18 +0000)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 14 Dec 2018 02:43:23 +0000 (11:43 +0900)
Change-Id: Ifcbdd5e374b65974b6e7160e47a0457240903f9e

dali-toolkit/internal/layouting/absolute-layout-impl.cpp

index 8a635af..d69f773 100644 (file)
@@ -21,6 +21,7 @@
 #include <dali/integration-api/debug.h>
 #include <dali/public-api/common/extents.h>
 #include <dali/public-api/actors/actor.h>
+#include <dali/devel-api/actors/actor-devel.h>
 #include <dali-toolkit/devel-api/layouting/layout-item.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
 #include <dali-toolkit/internal/controls/control/control-data-impl.h>
@@ -158,6 +159,12 @@ void AbsoluteLayout::OnLayout( bool changed, LayoutLength left, LayoutLength top
       LayoutLength childHeight = childLayout->GetMeasuredHeight();
 
       auto childPosition = childOwner.GetProperty< Vector3 >( Actor::Property::POSITION );
+      // Check if there on going position or size animation and skip it to avoid legacy application regressions
+      if( DevelActor::IsPositionOrSizeCurrentlyAnimating( Actor::DownCast( childOwner ) ) &&
+          !childLayout->IsLayoutAnimated() )
+      {
+        continue;
+      }
 
       LayoutLength childTop = childPosition.y;
       LayoutLength childLeft = childPosition.x;