aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkGeometry.cpp
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2016-01-05 06:20:09 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-01-05 06:20:09 -0800
commitdbaec7323f20c3a7e8a234dac9dfb8a9446a2717 (patch)
treed1498bb89786c04c4c37c1f6d850889a624aed3c /src/core/SkGeometry.cpp
parent4e5a758f3832594cf1828d367496b5a80bcab8ee (diff)
give up on quad root if infinite
SkPath::contains() uses SkFindUnitQuadRoots to see which side of a curve a point is on. If the intermediate exceeds a float, return no found root. R=reed@google.com BUG=572406 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556353002 Review URL: https://codereview.chromium.org/1556353002
Diffstat (limited to 'src/core/SkGeometry.cpp')
-rw-r--r--src/core/SkGeometry.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/SkGeometry.cpp b/src/core/SkGeometry.cpp
index f7c8f5736e..fb9cb5c511 100644
--- a/src/core/SkGeometry.cpp
+++ b/src/core/SkGeometry.cpp
@@ -90,7 +90,7 @@ int SkFindUnitQuadRoots(SkScalar A, SkScalar B, SkScalar C, SkScalar roots[2]) {
SkScalar* r = roots;
SkScalar R = B*B - 4*A*C;
- if (R < 0 || SkScalarIsNaN(R)) { // complex roots
+ if (R < 0 || !SkScalarIsFinite(R)) { // complex roots
return 0;
}
R = SkScalarSqrt(R);