aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkScan_AAAPath.cpp
diff options
context:
space:
mode:
authorGravatar liyuqian <liyuqian@google.com>2016-11-08 13:42:59 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-11-08 13:42:59 -0800
commitf6bddfd33daeade5418a2ccb36b7945fac703f40 (patch)
tree6238123578cb1cb8139f6a920689a1dba3bb5bcb /src/core/SkScan_AAAPath.cpp
parentdbdf6d210b7e34d66df8b08596c690b9b12e7f8a (diff)
Do not call blitAntiRect for empty rect
Diffstat (limited to 'src/core/SkScan_AAAPath.cpp')
-rw-r--r--src/core/SkScan_AAAPath.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/SkScan_AAAPath.cpp b/src/core/SkScan_AAAPath.cpp
index 91b6e397ae..c352b4dc0d 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));