diff options
author | Jim Van Verth <jvanverth@google.com> | 2017-11-02 12:09:55 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-02 18:12:36 +0000 |
commit | 430ad1f2065c182746e43e67ca95fb911cc55892 (patch) | |
tree | b3fd22f8c2ed5e5243c08372d10e38684138491d /src/gpu/GrClip.h | |
parent | d7af1dbb64b764e1992b80e16236fe190531d59a (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.h | 4 |
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 && |