Make simple paths made of lines work.
Bug #3041098
Change-Id: Ife9c3f01ded10e2bb35b1cdf1a54734d8347fee4
diff --git a/graphics/java/android/graphics/Path.java b/graphics/java/android/graphics/Path.java
index c3416a0..1324431 100644
--- a/graphics/java/android/graphics/Path.java
+++ b/graphics/java/android/graphics/Path.java
@@ -236,6 +236,7 @@
* @param y The y-coordinate of the end of a line
*/
public void lineTo(float x, float y) {
+ isSimplePath = false;
native_lineTo(mNativePath, x, y);
}
@@ -250,6 +251,7 @@
* this contour, to specify a line
*/
public void rLineTo(float dx, float dy) {
+ isSimplePath = false;
native_rLineTo(mNativePath, dx, dy);
}
diff --git a/libs/hwui/PathCache.cpp b/libs/hwui/PathCache.cpp
index 70e06a1..377727b 100644
--- a/libs/hwui/PathCache.cpp
+++ b/libs/hwui/PathCache.cpp
@@ -138,8 +138,8 @@
const SkPath *path, const SkPaint* paint) {
const SkRect& bounds = path->getBounds();
- const float pathWidth = bounds.width();
- const float pathHeight = bounds.height();
+ const float pathWidth = fmax(bounds.width(), 1.0f);
+ const float pathHeight = fmax(bounds.height(), 1.0f);
if (pathWidth > mMaxTextureSize || pathHeight > mMaxTextureSize) {
LOGW("Path too large to be rendered into a texture");