Index: src/pathops/SkPathOpsCommon.cpp |
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp |
index 5a30c3a98eeded8f567af0db378977f3a3eaf04d..9a92b00acdc11f93898e81b5cbb6bb9a72bb38a8 100644 |
--- a/src/pathops/SkPathOpsCommon.cpp |
+++ b/src/pathops/SkPathOpsCommon.cpp |
@@ -344,6 +344,16 @@ SkOpSegment* FindSortableTop(const SkTArray<SkOpContour*, true>& contourList, bo |
return current; |
} |
+void CheckEnds(SkTArray<SkOpContour*, true>* contourList) { |
+ // it's hard to determine if the end of a cubic or conic nearly intersects another curve. |
+ // instead, look to see if the connecting curve intersected at that same end. |
+ int contourCount = (*contourList).count(); |
+ for (int cTest = 0; cTest < contourCount; ++cTest) { |
+ SkOpContour* contour = (*contourList)[cTest]; |
+ contour->checkEnds(); |
+ } |
+} |
+ |
void FixOtherTIndex(SkTArray<SkOpContour*, true>* contourList) { |
int contourCount = (*contourList).count(); |
for (int cTest = 0; cTest < contourCount; ++cTest) { |