Index: src/pathops/SkPathOpsCommon.cpp |
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp |
index 829f8a50d588f9507ea22ec0266a997c01a87d89..86a8cb0befb65c490f3d60bf5d36f124c2086f68 100644 |
--- a/src/pathops/SkPathOpsCommon.cpp |
+++ b/src/pathops/SkPathOpsCommon.cpp |
@@ -494,7 +494,9 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc |
} |
DEBUG_COINCIDENCE_HEALTH(contourList, "expand2"); |
// the expanded ranges may not align -- add the missing spans |
- coincidence->mark(); // mark spans of coincident segments as coincident |
+ if (!coincidence->mark()) { // mark spans of coincident segments as coincident |
+ return false; |
+ } |
DEBUG_COINCIDENCE_HEALTH(contourList, "mark1"); |
// look for coincidence missed earlier |
if (missingCoincidence(contourList, coincidence, allocator)) { |