| Index: src/pathops/SkPathOpsOp.cpp
|
| diff --git a/src/pathops/SkPathOpsOp.cpp b/src/pathops/SkPathOpsOp.cpp
|
| index b7a48b0510c39f525ff076d6fe06ec1d35f4a232..0f4415bec12cfd3115f970053873c2a775368524 100644
|
| --- a/src/pathops/SkPathOpsOp.cpp
|
| +++ b/src/pathops/SkPathOpsOp.cpp
|
| @@ -152,7 +152,7 @@ static bool bridgeOp(SkOpContourHead* contourList, const SkPathOp op,
|
| current->markDone(spanStart);
|
| }
|
| }
|
| - simple->close();
|
| + simple->finishContour();
|
| } else {
|
| SkOpSpanBase* last = current->markAndChaseDone(start, end);
|
| if (last && !last->chased()) {
|
| @@ -175,7 +175,7 @@ static bool bridgeOp(SkOpContourHead* contourList, const SkPathOp op,
|
| }
|
| } while (true);
|
| } while (true);
|
| - return simple->someAssemblyRequired();
|
| + return true;
|
| }
|
|
|
| // pretty picture:
|
| @@ -286,7 +286,7 @@ bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result
|
| SkPathOpsDebug::gSortCount = SkPathOpsDebug::gSortCountDefault;
|
| #endif
|
| // turn path into list of segments
|
| - SkOpEdgeBuilder builder(*minuend, &contour, &globalState);
|
| + SkOpEdgeBuilder builder(*minuend, contourList, &globalState);
|
| if (builder.unparseable()) {
|
| return false;
|
| }
|
| @@ -327,15 +327,10 @@ bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result
|
| result->reset();
|
| result->setFillType(fillType);
|
| SkPathWriter wrapper(*result);
|
| - bridgeOp(contourList, op, xorMask, xorOpMask, &wrapper);
|
| - { // if some edges could not be resolved, assemble remaining fragments
|
| - SkPath temp;
|
| - temp.setFillType(fillType);
|
| - SkPathWriter assembled(temp);
|
| - Assemble(wrapper, &assembled);
|
| - *result = *assembled.nativePath();
|
| - result->setFillType(fillType);
|
| + if (!bridgeOp(contourList, op, xorMask, xorOpMask, &wrapper)) {
|
| + return false;
|
| }
|
| + wrapper.assemble(); // if some edges could not be resolved, assemble remaining
|
| #if DEBUG_T_SECT_LOOP_COUNT
|
| {
|
| SkAutoMutexAcquire autoM(debugWorstLoop);
|
|
|