diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/pathops/SkOpCoincidence.cpp | 2 | ||||
-rw-r--r-- | src/pathops/SkOpSegment.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp index a25a67e168..5677b021aa 100644 --- a/src/pathops/SkOpCoincidence.cpp +++ b/src/pathops/SkOpCoincidence.cpp @@ -838,7 +838,7 @@ bool SkOpCoincidence::addMissing(bool* added DEBUG_COIN_DECLARE_PARAMS()) { } } else if (outerCoin == innerOpp) { const SkOpPtT* oce = outer->coinPtTEnd(); - SkASSERT(!oce->deleted()); + FAIL_IF(oce->deleted()); const SkOpPtT* ioe = inner->oppPtTEnd(); SkASSERT(!ioe->deleted()); if (outerOpp != innerCoin && this->overlap(ocs, oce, ios, ioe, &overS, &overE)) { diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp index df70034f93..fd969f6c78 100644 --- a/src/pathops/SkOpSegment.cpp +++ b/src/pathops/SkOpSegment.cpp @@ -768,6 +768,9 @@ SkOpSegment* SkOpSegment::findNextXor(SkOpSpanBase** nextStart, SkOpSpanBase** n SkOpSegment* nextSegment; int activeCount = 0; do { + if (!nextAngle) { + return nullptr; + } nextSegment = nextAngle->segment(); ++activeCount; if (!foundAngle || (foundDone && activeCount & 1)) { |