aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pathops/SkOpContour.cpp
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2014-08-12 07:46:33 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-12 07:46:33 -0700
commit5e27e0eb1d1d4c7674e221d3ba3314500ea0b97a (patch)
tree8f72ae01c66a4763cce3123f9956541d05ba1338 /src/pathops/SkOpContour.cpp
parentb3d4af512e9d60019790cf42701ac62edb3f5b00 (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.cpp6
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) {