aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrClip.h
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-11-02 12:09:55 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-02 18:12:36 +0000
commit430ad1f2065c182746e43e67ca95fb911cc55892 (patch)
treeb3fd22f8c2ed5e5243c08372d10e38684138491d /src/gpu/GrClip.h
parentd7af1dbb64b764e1992b80e16236fe190531d59a (diff)
Fix int overflow issues with clip and path bounds, take 2.
* Change IsInsideClip test to be more int overflow friendly * Check to make sure path bounds can have representable width and height Bug: skia:7239 Bug: skia:7240 Change-Id: If8468e46bc74a428c25d466ff3756d0cad385c09 Reviewed-on: https://skia-review.googlesource.com/66154 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/GrClip.h')
-rw-r--r--src/gpu/GrClip.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpu/GrClip.h b/src/gpu/GrClip.h
index 2e247c82f2..bd7d8a1d96 100644
--- a/src/gpu/GrClip.h
+++ b/src/gpu/GrClip.h
@@ -74,8 +74,8 @@ public:
*/
template <typename TRect>
constexpr static bool IsInsideClip(const TRect& innerClipBounds, const SkRect& queryBounds) {
- return innerClipBounds.fRight - innerClipBounds.fLeft > kBoundsTolerance &&
- innerClipBounds.fBottom - innerClipBounds.fTop > kBoundsTolerance &&
+ return innerClipBounds.fRight > innerClipBounds.fLeft + kBoundsTolerance &&
+ innerClipBounds.fBottom > innerClipBounds.fTop + kBoundsTolerance &&
innerClipBounds.fLeft < queryBounds.fLeft + kBoundsTolerance &&
innerClipBounds.fTop < queryBounds.fTop + kBoundsTolerance &&
innerClipBounds.fRight > queryBounds.fRight - kBoundsTolerance &&