Index: src/core/SkGeometry.cpp |
diff --git a/src/core/SkGeometry.cpp b/src/core/SkGeometry.cpp |
index fb9cb5c5111507c93b247e7bc50c038ea8356281..c25e18641a43bc0c766e1469a9c16d595e955282 100644 |
--- a/src/core/SkGeometry.cpp |
+++ b/src/core/SkGeometry.cpp |
@@ -91,6 +91,12 @@ int SkFindUnitQuadRoots(SkScalar A, SkScalar B, SkScalar C, SkScalar roots[2]) { |
SkScalar R = B*B - 4*A*C; |
if (R < 0 || !SkScalarIsFinite(R)) { // complex roots |
+ // if R is infinite, it's possible that it may still produce |
+ // useful results if the operation was repeated in doubles |
+ // the flipside is determining if the more precise answer |
+ // isn't useful because surrounding machinery (e.g., subtracting |
+ // the axis offset from C) already discards the extra precision |
+ // more investigation and unit tests required... |
return 0; |
} |
R = SkScalarSqrt(R); |