Index: src/pathops/SkPathOpsTSect.h |
diff --git a/src/pathops/SkPathOpsTSect.h b/src/pathops/SkPathOpsTSect.h |
index 6ae6ee528f4686cbcac2fe41e5048415d1e2fffa..f84aaaa6b7bdccebf4e7fd91f7530f7ade9b02eb 100644 |
--- a/src/pathops/SkPathOpsTSect.h |
+++ b/src/pathops/SkPathOpsTSect.h |
@@ -1531,7 +1531,8 @@ int SkTSect<TCurve, OppCurve>::linesIntersect(SkTSpan<TCurve, OppCurve>* span, |
workT += tStep; |
workPt = fCurve.ptAtT(workT); |
coinW.setPerp(fCurve, workT, workPt, opp->fCurve); |
- if (coinW.perpT() < 0) { |
+ double perpT = coinW.perpT(); |
+ if (coinW.isCoincident() ? !between(oppSpan->fStartT, perpT, oppSpan->fEndT) : perpT < 0) { |
continue; |
} |
SkDVector perpW = workPt - coinW.perpPt(); |