| Index: src/pathops/SkOpCoincidence.cpp
|
| diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
|
| index 0548ed5a0594157971d3773d3502de79b46303e7..b0cb2437006ad5aea83f6a0e3af96a03f33661f1 100755
|
| --- a/src/pathops/SkOpCoincidence.cpp
|
| +++ b/src/pathops/SkOpCoincidence.cpp
|
| @@ -551,8 +551,8 @@ double SkOpCoincidence::TRange(const SkOpPtT* overS, double t,
|
| do {
|
| const SkOpPtT* contained = work->contains(coinSeg);
|
| if (!contained) {
|
| - if (work->t() >= t) {
|
| - return 1;
|
| + if (work->final()) {
|
| + break;
|
| }
|
| continue;
|
| }
|
| @@ -567,8 +567,9 @@ double SkOpCoincidence::TRange(const SkOpPtT* overS, double t,
|
| }
|
| SkASSERT(work->ptT() != overE);
|
| } while ((work = work->upCast()->next()));
|
| - SkASSERT(coinStart);
|
| - SkASSERT(coinEnd);
|
| + if (!coinStart || !coinEnd) {
|
| + return 1;
|
| + }
|
| // while overS->fT <=t and overS contains coinSeg
|
| double denom = foundEnd->fT - foundStart->fT;
|
| double sRatio = denom ? (t - foundStart->fT) / denom : 1;
|
|
|