| Index: src/pathops/SkOpBuilder.cpp
|
| diff --git a/src/pathops/SkOpBuilder.cpp b/src/pathops/SkOpBuilder.cpp
|
| index 39da2efbcee7a727b70b08b192de52112323b30f..5cc3fbd2ef285e33734b504da7b15ebb0fe7465b 100644
|
| --- a/src/pathops/SkOpBuilder.cpp
|
| +++ b/src/pathops/SkOpBuilder.cpp
|
| @@ -55,13 +55,17 @@ void FixWinding(SkPath* path) {
|
| while ((topSpan = FindSortableTop(&contourHead))) {
|
| SkOpSegment* topSegment = topSpan->segment();
|
| SkOpContour* topContour = topSegment->contour();
|
| - bool active = topSegment->activeWinding(topSpan, topSpan->next());
|
| SkASSERT(topContour->isCcw() >= 0);
|
| - if (active != SkToBool(topContour->isCcw())) {
|
| +#if DEBUG_WINDING
|
| + SkDebugf("%s id=%d nested=%d ccw=%d\n", __FUNCTION__,
|
| + topSegment->debugID(), globalState.nested(), topContour->isCcw());
|
| +#endif
|
| + if ((globalState.nested() & 1) != SkToBool(topContour->isCcw())) {
|
| topContour->setReverse();
|
| writePath = true;
|
| }
|
| topContour->markDone();
|
| + globalState.clearNested();
|
| }
|
| if (!writePath) {
|
| path->setFillType(fillType);
|
|
|