| Index: src/pathops/SkOpSegment.h | 
| diff --git a/src/pathops/SkOpSegment.h b/src/pathops/SkOpSegment.h | 
| index 13b99c6f46d8b5ab4862fdc79f07ac91bf2ead28..1162c2cfaf438365f0376e2484b96660641510e8 100644 | 
| --- a/src/pathops/SkOpSegment.h | 
| +++ b/src/pathops/SkOpSegment.h | 
| @@ -33,11 +33,11 @@ public: | 
| } | 
|  | 
| SkOpAngle* activeAngle(SkOpSpanBase* start, SkOpSpanBase** startPtr, SkOpSpanBase** endPtr, | 
| -                            bool* done, bool* sortable); | 
| +                            bool* done); | 
| SkOpAngle* activeAngleInner(SkOpSpanBase* start, SkOpSpanBase** startPtr, | 
| -                                       SkOpSpanBase** endPtr, bool* done, bool* sortable); | 
| +                                       SkOpSpanBase** endPtr, bool* done); | 
| SkOpAngle* activeAngleOther(SkOpSpanBase* start, SkOpSpanBase** startPtr, | 
| -                                       SkOpSpanBase** endPtr, bool* done, bool* sortable); | 
| +                                       SkOpSpanBase** endPtr, bool* done); | 
| bool activeOp(SkOpSpanBase* start, SkOpSpanBase* end, int xorMiMask, int xorSuMask, | 
| SkPathOp op); | 
| bool activeOp(int xorMiMask, int xorSuMask, SkOpSpanBase* start, SkOpSpanBase* end, SkPathOp op, | 
| @@ -110,6 +110,7 @@ public: | 
| void calcAngles(SkChunkAlloc*); | 
| void checkAngleCoin(SkOpCoincidence* coincidences, SkChunkAlloc* allocator); | 
| void checkNearCoincidence(SkOpAngle* ); | 
| +    bool collapsed() const; | 
| static void ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle, | 
| SkOpAngle::IncludeType ); | 
| static void ComputeOneSumReverse(SkOpAngle* baseAngle, SkOpAngle* nextAngle, | 
| @@ -306,11 +307,8 @@ public: | 
| fPrev = prev; | 
| } | 
|  | 
| -    bool setVisited() { | 
| -        if (fVisited) { | 
| -            return false; | 
| -        } | 
| -        return (fVisited = true); | 
| +    void setVisited() { | 
| +        fVisited = true; | 
| } | 
|  | 
| void setUpWinding(SkOpSpanBase* start, SkOpSpanBase* end, int* maxWinding, int* sumWinding) { | 
| @@ -361,6 +359,15 @@ public: | 
| return fVerb; | 
| } | 
|  | 
| +    // look for two different spans that point to the same opposite segment | 
| +    bool visited() { | 
| +        if (!fVisited) { | 
| +            fVisited = true; | 
| +            return false; | 
| +        } | 
| +        return true; | 
| +    } | 
| + | 
| SkScalar weight() const { | 
| return fWeight; | 
| } | 
|  |