| Index: src/pathops/SkOpCoincidence.cpp
 | 
| diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
 | 
| index bb26b1370f6e3acdb82efa995f32f61a2b85a641..addd2f97eb28d9bdb13fc8928c06443219d0c27f 100755
 | 
| --- a/src/pathops/SkOpCoincidence.cpp
 | 
| +++ b/src/pathops/SkOpCoincidence.cpp
 | 
| @@ -69,6 +69,9 @@ bool SkCoincidentSpans::expand() {
 | 
|      do {
 | 
|          const SkOpSpanBase* end = coinPtTEnd()->span();
 | 
|          SkOpSpanBase* next = end->final() ? nullptr : end->upCast()->next();
 | 
| +        if (next && next->deleted()) {
 | 
| +            break;
 | 
| +        }
 | 
|          const SkOpPtT* oppPtT;
 | 
|          if (!next || !(oppPtT = next->contains(oppSegment))) {
 | 
|              break;
 | 
| @@ -280,6 +283,9 @@ bool SkOpCoincidence::addEndMovedSpans(const SkOpSpan* base, const SkOpSpanBase*
 | 
|          if (testSeg == baseSeg) {
 | 
|              continue;
 | 
|          }
 | 
| +        if (testPtT->span()->ptT() != testPtT) {
 | 
| +            continue;
 | 
| +        }
 | 
|          if (this->contains(baseSeg, testSeg, testPtT->fT)) {
 | 
|              continue;
 | 
|          }
 | 
| @@ -422,7 +428,7 @@ bool SkOpCoincidence::addExpanded() {
 | 
|          const SkOpPtT* startPtT = coin->coinPtTStart();
 | 
|          const SkOpPtT* oStartPtT = coin->oppPtTStart();
 | 
|          SkASSERT(startPtT->contains(oStartPtT));
 | 
| -        SkASSERT(coin->coinPtTEnd()->contains(coin->oppPtTEnd()));
 | 
| +        SkOPASSERT(coin->coinPtTEnd()->contains(coin->oppPtTEnd()));
 | 
|          const SkOpSpanBase* start = startPtT->span();
 | 
|          const SkOpSpanBase* oStart = oStartPtT->span();
 | 
|          const SkOpSpanBase* end = coin->coinPtTEnd()->span();
 | 
| 
 |