| Index: src/pathops/SkOpEdgeBuilder.cpp
|
| diff --git a/src/pathops/SkOpEdgeBuilder.cpp b/src/pathops/SkOpEdgeBuilder.cpp
|
| index c304357575fd233f81364016b6030eacf537e3d2..7fc7d7213d7432ca30f3db25067ff7f304b2e0d3 100644
|
| --- a/src/pathops/SkOpEdgeBuilder.cpp
|
| +++ b/src/pathops/SkOpEdgeBuilder.cpp
|
| @@ -231,7 +231,11 @@ bool SkOpEdgeBuilder::walk() {
|
| if (maxCurvature > 0) {
|
| SkConic conic(pointsPtr, weight);
|
| SkConic pair[2];
|
| - conic.chopAt(maxCurvature, pair);
|
| + if (!conic.chopAt(maxCurvature, pair)) {
|
| + // if result can't be computed, use original
|
| + fCurrentContour->addConic(pointsPtr, weight);
|
| + break;
|
| + }
|
| SkPoint cStorage[2][3];
|
| SkPath::Verb v1 = SkReduceOrder::Conic(pair[0], cStorage[0]);
|
| SkPath::Verb v2 = SkReduceOrder::Conic(pair[1], cStorage[1]);
|
|
|