Index: src/pathops/SkOpSpan.cpp |
diff --git a/src/pathops/SkOpSpan.cpp b/src/pathops/SkOpSpan.cpp |
index 640ba8feb74a0c41dfc5b957edb14295b5b2de30..98165fcfc53c08458d942dfddff78c9a58e468d2 100755 |
--- a/src/pathops/SkOpSpan.cpp |
+++ b/src/pathops/SkOpSpan.cpp |
@@ -180,7 +180,9 @@ void SkOpPtT::setDeleted() { |
// please keep this in sync with debugAddOppAndMerge |
// If the added points envelop adjacent spans, merge them in. |
void SkOpSpanBase::addOppAndMerge(SkOpSpanBase* opp) { |
- if (this->ptT()->addOpp(opp->ptT())) { |
+ SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT()); |
+ if (oppPrev) { |
+ this->ptT()->addOpp(opp->ptT(), oppPrev); |
this->checkForCollapsedCoincidence(); |
} |
// compute bounds of points in span |