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; |
} |