Index: src/pathops/SkPathOpsCommon.cpp |
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp |
index a1cd7bbd63089219f3f79447a3c6bc98e97d7ad9..7387249904e16657f3ead67070edb07b24b28a7f 100644 |
--- a/src/pathops/SkPathOpsCommon.cpp |
+++ b/src/pathops/SkPathOpsCommon.cpp |
@@ -318,7 +318,9 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc |
do { |
SkOpCoincidence* pairs = overlaps.isEmpty() ? coincidence : &overlaps; |
// adjust the winding value to account for coincident edges |
- pairs->apply(DEBUG_ITER_ONLY_PARAMS(SAFETY_COUNT - safetyHatch)); |
+ if (!pairs->apply(DEBUG_ITER_ONLY_PARAMS(SAFETY_COUNT - safetyHatch))) { |
+ return false; |
+ } |
// For each coincident pair that overlaps another, when the receivers (the 1st of the pair) |
// are different, construct a new pair to resolve their mutual span |
if (!pairs->findOverlaps(&overlaps DEBUG_ITER_PARAMS(SAFETY_COUNT - safetyHatch))) { |