diff options
Diffstat (limited to 'src/pathops/SkOpSegment.cpp')
-rw-r--r-- | src/pathops/SkOpSegment.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp index 95f4a983f2..58c71af437 100644 --- a/src/pathops/SkOpSegment.cpp +++ b/src/pathops/SkOpSegment.cpp @@ -1619,16 +1619,16 @@ bool SkOpSegment::testForCoincidence(const SkOpPtT* priorPtT, const SkOpPtT* ptT return coincident; } -void SkOpSegment::undoneSpan(SkOpSpanBase** start, SkOpSpanBase** end) { - SkOpSpan* span = this->head(); +SkOpSpan* SkOpSegment::undoneSpan() { + SkOpSpan* span = &fHead; + SkOpSpanBase* next; do { + next = span->next(); if (!span->done()) { - break; + return span; } - } while ((span = span->next()->upCastable())); - SkASSERT(span); - *start = span; - *end = span->next(); + } while (!next->final() && (span = next->upCast())); + return nullptr; } int SkOpSegment::updateOppWinding(const SkOpSpanBase* start, const SkOpSpanBase* end) const { |