aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkAnalyticEdge.h
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2016-11-16 13:07:57 -0500
committerGravatar Yuqian Li <liyuqian@google.com>2016-11-16 18:43:52 +0000
commit20079a94e82fd7345dfb119a8777e5ba482a041c (patch)
tree379ad97f7cb40878d03c1a7ee08531bf0e842482 /src/core/SkAnalyticEdge.h
parent721625b25e3e99d23b7765c75ba0b2ae5a351f7e (diff)
Fix mask overflow caused by edge drift
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4797 Change-Id: Ica1568b67c1e1ce4aae2bdaba2c5b1f2155d1382 Reviewed-on: https://skia-review.googlesource.com/4797 Reviewed-by: Cary Clark <caryclark@google.com>
Diffstat (limited to 'src/core/SkAnalyticEdge.h')
-rw-r--r--src/core/SkAnalyticEdge.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/SkAnalyticEdge.h b/src/core/SkAnalyticEdge.h
index 00812866d5..a55ab2a71e 100644
--- a/src/core/SkAnalyticEdge.h
+++ b/src/core/SkAnalyticEdge.h
@@ -44,7 +44,7 @@ struct SkAnalyticEdge {
static inline SkFixed snapY(SkFixed y, int accuracy = kDefaultAccuracy) {
// This approach is safer than left shift, round, then right shift
- return (y + (SK_Fixed1 >> (accuracy + 1))) >> (16 - accuracy) << (16 - accuracy);
+ return ((unsigned)y + (SK_Fixed1 >> (accuracy + 1))) >> (16 - accuracy) << (16 - accuracy);
}
// Update fX, fY of this edge so fY = y