| Index: src/pathops/SkPathOpsSimplify.cpp
|
| ===================================================================
|
| --- src/pathops/SkPathOpsSimplify.cpp (revision 8745)
|
| +++ src/pathops/SkPathOpsSimplify.cpp (working copy)
|
| @@ -149,7 +149,9 @@
|
| #endif
|
| // returns 1 for evenodd, -1 for winding, regardless of inverse-ness
|
| result->reset();
|
| - result->setFillType(SkPath::kEvenOdd_FillType);
|
| + SkPath::FillType fillType = path.isInverseFillType() ? SkPath::kInverseEvenOdd_FillType
|
| + : SkPath::kEvenOdd_FillType;
|
| + result->setFillType(fillType);
|
| SkPathWriter simple(*result);
|
|
|
| // turn path into list of segments
|
| @@ -187,7 +189,7 @@
|
| : !bridgeXor(contourList, &simple))
|
| { // if some edges could not be resolved, assemble remaining fragments
|
| SkPath temp;
|
| - temp.setFillType(SkPath::kEvenOdd_FillType);
|
| + temp.setFillType(fillType);
|
| SkPathWriter assembled(temp);
|
| Assemble(simple, &assembled);
|
| *result = *assembled.nativePath();
|
|
|