| Index: src/pathops/SkOpContour.h | 
| diff --git a/src/pathops/SkOpContour.h b/src/pathops/SkOpContour.h | 
| index be1f59f4bbe2a5fa73f51730c01b646285fe3eea..495b643fffe7904c967f312279258436d060ff10 100644 | 
| --- a/src/pathops/SkOpContour.h | 
| +++ b/src/pathops/SkOpContour.h | 
| @@ -20,6 +20,12 @@ public: | 
| reset(); | 
| } | 
|  | 
| +    ~SkOpContour() { | 
| +        if (fNext) { | 
| +            fNext->~SkOpContour(); | 
| +        } | 
| +    } | 
| + | 
| bool operator<(const SkOpContour& rh) const { | 
| return fBounds.fTop == rh.fBounds.fTop | 
| ? fBounds.fLeft < rh.fBounds.fLeft | 
| @@ -61,7 +67,7 @@ public: | 
|  | 
| SkOpContour* appendContour(SkChunkAlloc* allocator) { | 
| SkOpContour* contour = SkOpTAllocator<SkOpContour>::New(allocator); | 
| - | 
| +        contour->setNext(NULL); | 
| SkOpContour* prev = this; | 
| SkOpContour* next; | 
| while ((next = prev->next())) { | 
| @@ -273,7 +279,7 @@ public: | 
| } | 
|  | 
| void setNext(SkOpContour* contour) { | 
| -        SkASSERT(!fNext == !!contour); | 
| +//        SkASSERT(!fNext == !!contour); | 
| fNext = contour; | 
| } | 
|  | 
|  |