Index: src/pathops/SkPathOpsOp.cpp |
diff --git a/src/pathops/SkPathOpsOp.cpp b/src/pathops/SkPathOpsOp.cpp |
index a24fb2ff4ce8c5504d8d9b645f760e19e08fa7a2..9472594b4a7e29f7fc045a5235feeb6e845b3cf4 100644 |
--- a/src/pathops/SkPathOpsOp.cpp |
+++ b/src/pathops/SkPathOpsOp.cpp |
@@ -46,7 +46,15 @@ static SkOpSegment* findChaseOp(SkTDArray<SkOpSpanBase*>& chase, SkOpSpanBase** |
if (sortable) { |
segment = angle->segment(); |
sumMiWinding = segment->updateWindingReverse(angle); |
+ if (sumMiWinding == SK_MinS32) { |
+ SkASSERT(segment->globalState()->debugSkipAssert()); |
+ return nullptr; |
+ } |
sumSuWinding = segment->updateOppWindingReverse(angle); |
+ if (sumSuWinding == SK_MinS32) { |
+ SkASSERT(segment->globalState()->debugSkipAssert()); |
+ return nullptr; |
+ } |
if (segment->operand()) { |
SkTSwap<int>(sumMiWinding, sumSuWinding); |
} |