Index: src/pathops/SkPathOpsQuad.cpp |
diff --git a/src/pathops/SkPathOpsQuad.cpp b/src/pathops/SkPathOpsQuad.cpp |
index 717d8bc03ded508438d1798d6b7bb12c66ad8d7b..12b9658ce7cda93f95a8d615a29c9ca90a665e85 100644 |
--- a/src/pathops/SkPathOpsQuad.cpp |
+++ b/src/pathops/SkPathOpsQuad.cpp |
@@ -161,6 +161,14 @@ SkDVector SkDQuad::dxdyAtT(double t) const { |
double c = t; |
SkDVector result = { a * fPts[0].fX + b * fPts[1].fX + c * fPts[2].fX, |
a * fPts[0].fY + b * fPts[1].fY + c * fPts[2].fY }; |
+ if (result.fX == 0 && result.fY == 0) { |
+ if (zero_or_one(t)) { |
+ result = fPts[2] - fPts[0]; |
+ } else { |
+ // incomplete |
+ SkDebugf("!q"); |
+ } |
+ } |
return result; |
} |