| Index: src/pathops/SkPathOpsSimplify.cpp
|
| ===================================================================
|
| --- src/pathops/SkPathOpsSimplify.cpp (revision 9040)
|
| +++ src/pathops/SkPathOpsSimplify.cpp (working copy)
|
| @@ -32,11 +32,15 @@
|
| do {
|
| if (current->activeWinding(index, endIndex)) {
|
| do {
|
| + if (!unsortable && current->done()) {
|
| #if DEBUG_ACTIVE_SPANS
|
| - if (!unsortable && current->done()) {
|
| DebugShowActiveSpans(contourList);
|
| + #endif
|
| + if (simple->isEmpty()) {
|
| + simple->init();
|
| + break;
|
| + }
|
| }
|
| - #endif
|
| SkASSERT(unsortable || !current->done());
|
| int nextStart = index;
|
| int nextEnd = endIndex;
|
| @@ -63,7 +67,7 @@
|
| } while (!simple->isClosed() && (!unsortable
|
| || !current->done(SkMin32(index, endIndex))));
|
| if (current->activeWinding(index, endIndex) && !simple->isClosed()) {
|
| - SkASSERT(unsortable);
|
| + SkASSERT(unsortable || simple->isEmpty());
|
| int min = SkMin32(index, endIndex);
|
| if (!current->done(min)) {
|
| current->addCurveTo(index, endIndex, simple, true);
|
| @@ -182,7 +186,7 @@
|
| CoincidenceCheck(&contourList, 0);
|
| FixOtherTIndex(&contourList);
|
| SortSegments(&contourList);
|
| -#if DEBUG_ACTIVE_SPANS
|
| +#if DEBUG_ACTIVE_SPANS || DEBUG_ACTIVE_SPANS_FIRST_ONLY
|
| DebugShowActiveSpans(contourList);
|
| #endif
|
| // construct closed contours
|
|
|