Restore 05a70c0a44bfc12d5dcaa1555e7006f3f64ef3a3 (N_SE-46725)
authorIlji Seo <ijclaire.seo@samsung.com>
Fri, 19 Jul 2013 07:21:45 +0000 (16:21 +0900)
committerIlji Seo <ijclaire.seo@samsung.com>
Fri, 19 Jul 2013 07:21:45 +0000 (16:21 +0900)
Change-Id: I27df45730d817ed2155f030942936f8aa8a15514
Signed-off-by: Ilji Seo <ijclaire.seo@samsung.com>
src/ui/animations/FUiAnim_VisualElementImpl.cpp

index dff5d88..8577d11 100644 (file)
@@ -6125,7 +6125,7 @@ _VisualElementImpl::CaptureI(Canvas& outputCanvas, const FloatRectangle& rectDes
 
        bounds = tempRect;
 
-       if (!drawRect.IsEmpty())
+    if (!tempRect.IsEmpty() && drawRect.x>=0.0f && drawRect.y>=0.0f)
        {
                if (pRenderTarget && HAVE_SURFACE(pRenderTarget))  // If element have surface , justly draw to the canvas
                {
@@ -6304,10 +6304,12 @@ _VisualElementImpl::CaptureI(Canvas& outputCanvas, const FloatRectangle& rectDes
                for (int i = 0; i < count; i++)
                {
                        pChild = __children.GetChildAt(i);
-                       if (unlikely(!pChild) || unlikely(!VE_VISIBLE(pChild)))
+            if (unlikely(!pChild) || unlikely(!VE_VISIBLE(pChild)) || clipBounds.IsEmpty() ||
+                (!__childrenTransform.IsIdentity() && !_MatrixUtilIsTranslation(__childrenTransform)) ||
+                (!pChild->__transform.IsIdentity() && !_MatrixUtilIsTranslation(pChild->__transform)) )
                        {
                                continue;
-                       }
+            }
                        pChild->CaptureI(outputCanvas, rectDest, reference, rectRef, clipBounds, true, depth + 1);
                }
        }