[4.0] Set size of a new visual in visual replacement case 25/209325/1
authorHeeyong Song <heeyong.song@samsung.com>
Tue, 25 Jun 2019 07:05:48 +0000 (16:05 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Fri, 5 Jul 2019 01:53:28 +0000 (10:53 +0900)
mVisual is not updated util the resource is ready in the case of visual replacement.
So apply the transform and size to the new visual.

Change-Id: Ied60fd820978d1dcd03fee53b1b105cce750645d

dali-toolkit/internal/controls/image-view/image-view-impl.cpp

index 5f5cef5..702959d 100755 (executable)
@@ -320,6 +320,14 @@ void ImageView::OnRelayout( const Vector2& size, RelayoutContainer& container )
 
     // Should provide a transform that handles aspect ratio according to image size
     mVisual.SetTransformAndSize( transformMap, size );
+
+    // mVisual is not updated util the resource is ready in the case of visual replacement.
+    // So apply the transform and size to the new visual.
+    Toolkit::Visual::Base visual = DevelControl::GetVisual( *this, Toolkit::ImageView::Property::IMAGE );
+    if( visual && visual != mVisual )
+    {
+      visual.SetTransformAndSize( transformMap, size );
+    }
   }
 }