Index: src/pathops/SkOpEdgeBuilder.cpp |
=================================================================== |
--- src/pathops/SkOpEdgeBuilder.cpp (revision 8821) |
+++ src/pathops/SkOpEdgeBuilder.cpp (working copy) |
@@ -78,7 +78,11 @@ |
const SkPoint* finalCurveStart = NULL; |
const SkPoint* finalCurveEnd = NULL; |
SkPath::Verb verb; |
- while ((verb = (SkPath::Verb) *verbPtr++) != SkPath::kDone_Verb) { |
+ while ((verb = (SkPath::Verb) *verbPtr) != SkPath::kDone_Verb) { |
+ if (verbPtr == endOfFirstHalf) { |
+ fOperand = true; |
+ } |
+ verbPtr++; |
switch (verb) { |
case SkPath::kMove_Verb: |
complete(); |
@@ -89,7 +93,7 @@ |
*fExtra.append() = -1; // start new contour |
} |
finalCurveEnd = pointsPtr++; |
- goto nextVerb; |
+ continue; |
case SkPath::kLine_Verb: |
// skip degenerate points |
if (pointsPtr[-1].fX != pointsPtr[0].fX || pointsPtr[-1].fY != pointsPtr[0].fY) { |
@@ -132,7 +136,7 @@ |
*fExtra.append() = fCurrentContour->addLine(fReducePts.end() - 2); |
} |
complete(); |
- goto nextVerb; |
+ continue; |
default: |
SkDEBUGFAIL("bad verb"); |
return; |
@@ -140,9 +144,5 @@ |
finalCurveStart = &pointsPtr[verb - 1]; |
pointsPtr += verb; |
SkASSERT(fCurrentContour); |
- nextVerb: |
- if (verbPtr == endOfFirstHalf) { |
- fOperand = true; |
- } |
} |
} |