| Index: src/pathops/SkPathOpsWinding.cpp
|
| diff --git a/src/pathops/SkPathOpsWinding.cpp b/src/pathops/SkPathOpsWinding.cpp
|
| index 53083e484e6e2896cb63ffb91f382cd1ebd35aa4..4a7b1bc3ebcd1a90d60078158794064002e4dcea 100644
|
| --- a/src/pathops/SkPathOpsWinding.cpp
|
| +++ b/src/pathops/SkPathOpsWinding.cpp
|
| @@ -342,8 +342,12 @@ bool SkOpSpan::sortableTop(SkOpContour* contourHead) {
|
| #endif
|
| }
|
| if (sumSet) {
|
| - (void) hitSegment->markAndChaseWinding(span, span->next(), windSum, oppSum, NULL);
|
| - (void) hitSegment->markAndChaseWinding(span->next(), span, windSum, oppSum, NULL);
|
| + if (this->globalState()->phase() == SkOpGlobalState::kFixWinding) {
|
| + hitSegment->contour()->setCcw(ccw);
|
| + } else {
|
| + (void) hitSegment->markAndChaseWinding(span, span->next(), windSum, oppSum, NULL);
|
| + (void) hitSegment->markAndChaseWinding(span->next(), span, windSum, oppSum, NULL);
|
| + }
|
| }
|
| if (operand) {
|
| SkTSwap(wind, oppWind);
|
|
|