Index: src/core/SkScan_AAAPath.cpp |
diff --git a/src/core/SkScan_AAAPath.cpp b/src/core/SkScan_AAAPath.cpp |
index 91b6e397ae260a2e158c8314a5406fd1bde30c35..c352b4dc0d67f4b3cc1f5968128dc99c665ae006 100644 |
--- a/src/core/SkScan_AAAPath.cpp |
+++ b/src/core/SkScan_AAAPath.cpp |
@@ -997,7 +997,10 @@ static inline void aaa_walk_convex_edges(SkAnalyticEdge* prevHead, AdditiveBlitt |
} |
// Blit all full-height rows from fullTop to fullBot |
- if (fullBot > fullTop) { |
+ if (fullBot > fullTop && |
+ // SkAAClip cannot handle the empty rect so check the non-emptiness here |
+ // (bug chromium:662800) |
+ (fullRite > fullLeft || f2a(partialLeft) > 0 || f2a(partialRite) > 0)) { |
blitter->getRealBlitter()->blitAntiRect(fullLeft - 1, fullTop, |
fullRite - fullLeft, fullBot - fullTop, |
f2a(partialLeft), f2a(partialRite)); |