Index: src/pathops/SkOpSegment.cpp |
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp |
index 67f172e58ad5e9863a63a6d5e83e16df5d387373..2ba7d79b30976110ea585658d83f90b7f80009e0 100644 |
--- a/src/pathops/SkOpSegment.cpp |
+++ b/src/pathops/SkOpSegment.cpp |
@@ -1297,12 +1297,14 @@ bool SkOpSegment::missingCoincidence(SkOpCoincidence* coincidences, SkChunkAlloc |
} |
// if a span has more than one intersection, merge the other segments' span as needed |
-void SkOpSegment::moveMultiples() { |
+bool SkOpSegment::moveMultiples() { |
debugValidate(); |
SkOpSpanBase* test = &fHead; |
do { |
int addCount = test->spanAddsCount(); |
- SkASSERT(addCount >= 1); |
+ if (addCount < 1) { |
+ return false; |
+ } |
if (addCount == 1) { |
continue; |
} |
@@ -1393,6 +1395,7 @@ checkNextSpan: |
; |
} while ((test = test->final() ? nullptr : test->upCast()->next())); |
debugValidate(); |
+ return true; |
} |
// Move nearby t values and pts so they all hang off the same span. Alignment happens later. |