| Index: src/pathops/SkReduceOrder.cpp
|
| diff --git a/src/pathops/SkReduceOrder.cpp b/src/pathops/SkReduceOrder.cpp
|
| index 52a19d6138aaa38dbe257090cebaeb60ba283601..48624baee9acc8e1870abf18e085778940ea59a6 100644
|
| --- a/src/pathops/SkReduceOrder.cpp
|
| +++ b/src/pathops/SkReduceOrder.cpp
|
| @@ -78,10 +78,12 @@ int SkReduceOrder::reduce(const SkDQuad& quad) {
|
| minYSet |= 1 << index;
|
| }
|
| }
|
| + if ((minXSet & 0x05) == 0x5 && (minYSet & 0x05) == 0x5) { // test for degenerate
|
| + // this quad starts and ends at the same place, so never contributes
|
| + // to the fill
|
| + return coincident_line(quad, fQuad);
|
| + }
|
| if (minXSet == 0x7) { // test for vertical line
|
| - if (minYSet == 0x7) { // return 1 if all three are coincident
|
| - return coincident_line(quad, fQuad);
|
| - }
|
| return vertical_line(quad, fQuad);
|
| }
|
| if (minYSet == 0x7) { // test for horizontal line
|
|
|