aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkScan_DAAPath.cpp
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2018-05-31 15:18:54 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-01 12:16:15 +0000
commit9ea47bedb945fe51c7805b4f2defccccb8249865 (patch)
treeae49df8f45fc072e38b8024659ff9b1bef7dadd0 /src/core/SkScan_DAAPath.cpp
parentfbe7166685b860a530ebe545aef5596c6a86c403 (diff)
Skip bad line segments inside gen_alpha_deltas
Bug: chromium:847386 Change-Id: I5bb3268c27ecfbd66268adbc36be3ea72e0a69ba Reviewed-on: https://skia-review.googlesource.com/131324 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com> Auto-Submit: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src/core/SkScan_DAAPath.cpp')
-rw-r--r--src/core/SkScan_DAAPath.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/SkScan_DAAPath.cpp b/src/core/SkScan_DAAPath.cpp
index 329e69e120..572814b584 100644
--- a/src/core/SkScan_DAAPath.cpp
+++ b/src/core/SkScan_DAAPath.cpp
@@ -182,8 +182,9 @@ void gen_alpha_deltas(const SkPath& path, const SkIRect& clippedIR, const SkIRec
}
SkAnalyticEdge l, r;
- l.setLine(lb->fP0, lb->fP1);
- r.setLine(rb->fP0, rb->fP1);
+ if (!l.setLine(lb->fP0, lb->fP1) || !r.setLine(rb->fP0, rb->fP1)) {
+ continue;
+ }
SkFixed xorUpperY = l.fUpperY ^ r.fUpperY;
SkFixed xorLowerY = l.fLowerY ^ r.fLowerY;