Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(978)

Unified Diff: src/pathops/SkOpBuilder.cpp

Issue 2128633003: pathops coincidence and security rewrite (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: require resulting t to be between 0 and 1 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/pathops/SkOpBuilder.cpp
diff --git a/src/pathops/SkOpBuilder.cpp b/src/pathops/SkOpBuilder.cpp
index 67aa92fe265586ccc7c8b4d23031924275dae9c6..6652c10d52571753d099d9d47d24fec3ee7295b5 100644
--- a/src/pathops/SkOpBuilder.cpp
+++ b/src/pathops/SkOpBuilder.cpp
@@ -44,13 +44,11 @@ bool FixWinding(SkPath* path) {
}
SkChunkAlloc allocator(4096);
SkOpContourHead contourHead;
- SkOpGlobalState globalState(nullptr, &contourHead SkDEBUGPARAMS(false)
+ SkOpGlobalState globalState(&contourHead, &allocator SkDEBUGPARAMS(false)
SkDEBUGPARAMS(nullptr));
- SkOpEdgeBuilder builder(*path, &contourHead, &allocator, &globalState);
- builder.finish(&allocator);
- if (!contourHead.next()) {
- return false;
- }
+ SkOpEdgeBuilder builder(*path, &contourHead, &globalState);
+ builder.finish();
+ SkASSERT(contourHead.next());
contourHead.resetReverse();
bool writePath = false;
SkOpSpan* topSpan;
@@ -67,7 +65,7 @@ bool FixWinding(SkPath* path) {
topContour->setReverse();
writePath = true;
}
- topContour->markDone();
+ topContour->markAllDone();
globalState.clearNested();
}
if (!writePath) {

Powered by Google App Engine
This is Rietveld 408576698