diff options
Diffstat (limited to 'src/pathops/SkOpSegment.cpp')
-rw-r--r-- | src/pathops/SkOpSegment.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp index 67f172e58a..2ba7d79b30 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. |