fix multiple intersection logic
When three or more curves intersect at the same point, ensure that
each curve records the intersections of the others. This fixes a
number of cubic tests.
TBR=reed@google.com
BUG=skia:3588
Review URL: https://codereview.chromium.org/1105943002
diff --git a/src/pathops/SkOpSpan.cpp b/src/pathops/SkOpSpan.cpp
index 32d2376..b75a692 100755
--- a/src/pathops/SkOpSpan.cpp
+++ b/src/pathops/SkOpSpan.cpp
@@ -275,6 +275,7 @@
fCoinEnd = this;
fFromAngle = NULL;
fPrev = prev;
+ fSpanAdds = 0;
fAligned = true;
fChased = false;
SkDEBUGCODE(fCount = 1);
@@ -304,6 +305,7 @@
tryNextRemainder:
remainder = next;
}
+ fSpanAdds += span->fSpanAdds;
}
void SkOpSpan::applyCoincidence(SkOpSpan* opp) {