| Index: src/pathops/SkDQuadLineIntersection.cpp
|
| diff --git a/src/pathops/SkDQuadLineIntersection.cpp b/src/pathops/SkDQuadLineIntersection.cpp
|
| index 14d7d9cea0482e9a3edcdb6e86bcc8780752c169..8fce7a089f7c79c48929d398cfa9270f25dbf184 100644
|
| --- a/src/pathops/SkDQuadLineIntersection.cpp
|
| +++ b/src/pathops/SkDQuadLineIntersection.cpp
|
| @@ -141,14 +141,18 @@ public:
|
| if (fAllowNear) {
|
| addNearEndPoints();
|
| }
|
| - double rootVals[2];
|
| - int roots = intersectRay(rootVals);
|
| - for (int index = 0; index < roots; ++index) {
|
| - double quadT = rootVals[index];
|
| - double lineT = findLineT(quadT);
|
| - SkDPoint pt;
|
| - if (pinTs(&quadT, &lineT, &pt, kPointUninitialized)) {
|
| - fIntersections->insert(quadT, lineT, pt);
|
| + if (fIntersections->used() == 2) {
|
| + // FIXME : need sharable code that turns spans into coincident if middle point is on
|
| + } else {
|
| + double rootVals[2];
|
| + int roots = intersectRay(rootVals);
|
| + for (int index = 0; index < roots; ++index) {
|
| + double quadT = rootVals[index];
|
| + double lineT = findLineT(quadT);
|
| + SkDPoint pt;
|
| + if (pinTs(&quadT, &lineT, &pt, kPointUninitialized)) {
|
| + fIntersections->insert(quadT, lineT, pt);
|
| + }
|
| }
|
| }
|
| return fIntersections->used();
|
|
|