From fa0853e0b92617128531188edd6a749a72b86432 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Fri, 16 Nov 2012 16:09:33 -0800 Subject: [PATCH] Add missing variable copies in Path copy constructor bug:7564602 Also, clear isSimplePath flag for possible translates, since rect drawing path doesn't support them Change-Id: Ibb4a3e87ace0feb16bce1c6032016c5f4643f8d6 --- graphics/java/android/graphics/Path.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/graphics/java/android/graphics/Path.java b/graphics/java/android/graphics/Path.java index b4f1e84d6ba11..f6b5ffc9ad7ca 100644 --- a/graphics/java/android/graphics/Path.java +++ b/graphics/java/android/graphics/Path.java @@ -59,6 +59,10 @@ public class Path { int valNative = 0; if (src != null) { valNative = src.mNativePath; + isSimplePath = src.isSimplePath; + if (src.rects != null) { + rects = new Region(src.rects); + } } mNativePath = init2(valNative); mDetectSimplePaths = HardwareRenderer.isAvailable(); @@ -544,6 +548,7 @@ public class Path { int dstNative = 0; if (dst != null) { dstNative = dst.mNativePath; + dst.isSimplePath = false; } native_offset(mNativePath, dx, dy, dstNative); } @@ -555,6 +560,7 @@ public class Path { * @param dy The amount in the Y direction to offset the entire path */ public void offset(float dx, float dy) { + isSimplePath = false; native_offset(mNativePath, dx, dy); } @@ -580,6 +586,7 @@ public class Path { public void transform(Matrix matrix, Path dst) { int dstNative = 0; if (dst != null) { + dst.isSimplePath = false; dstNative = dst.mNativePath; } native_transform(mNativePath, matrix.native_instance, dstNative); @@ -591,6 +598,7 @@ public class Path { * @param matrix The matrix to apply to the path */ public void transform(Matrix matrix) { + isSimplePath = false; native_transform(mNativePath, matrix.native_instance); }