diff options
author | caryclark <caryclark@google.com> | 2014-08-12 07:46:33 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-12 07:46:33 -0700 |
commit | 5e27e0eb1d1d4c7674e221d3ba3314500ea0b97a (patch) | |
tree | 8f72ae01c66a4763cce3123f9956541d05ba1338 /src/pathops/SkOpContour.cpp | |
parent | b3d4af512e9d60019790cf42701ac62edb3f5b00 (diff) |
fix pathops skp-derived bugs; add more failing tests
TBR=
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/463883002
Diffstat (limited to 'src/pathops/SkOpContour.cpp')
-rw-r--r-- | src/pathops/SkOpContour.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pathops/SkOpContour.cpp b/src/pathops/SkOpContour.cpp index 5ef702d4c1..e4dd62a653 100644 --- a/src/pathops/SkOpContour.cpp +++ b/src/pathops/SkOpContour.cpp @@ -452,8 +452,14 @@ void SkOpContour::checkCoincidentPair(const SkCoincidence& oneCoin, int oneIdx, } if (cancelers) { if (missingT1 >= 0) { + if (addTo1->reversePoints(missingPt1, missingPt2)) { + SkTSwap(missingPt1, missingPt2); + } addTo1->addTCancel(missingPt1, missingPt2, addOther1); } else { + if (addTo2->reversePoints(missingPt1, missingPt2)) { + SkTSwap(missingPt1, missingPt2); + } addTo2->addTCancel(missingPt1, missingPt2, addOther2); } } else if (missingT1 >= 0) { |