diff --git a/tests/PathOpsSimplifyQuadThreadedTest.cpp b/tests/PathOpsSimplifyQuadThreadedTest.cpp
index 52fa8fc..fc5f646 100644
--- a/tests/PathOpsSimplifyQuadThreadedTest.cpp
+++ b/tests/PathOpsSimplifyQuadThreadedTest.cpp
@@ -36,6 +36,7 @@
                     int hx = h & 0x03;
                     int hy = h >> 2;
                     SkPath path, out;
+                    path.setFillType(SkPath::kWinding_FillType);
                     path.moveTo(SkIntToScalar(ax), SkIntToScalar(ay));
                     path.quadTo(SkIntToScalar(bx), SkIntToScalar(by),
                             SkIntToScalar(cx), SkIntToScalar(cy));
@@ -60,12 +61,12 @@
                         pathStr.appendf("    path.close();\n");
                         pathStr.appendf("    testSimplify(reporter, path, filename);\n");
                         pathStr.appendf("}\n");
-                        state.outputProgress(pathStr.c_str(), SkPathFillType::kWinding);
+                        state.outputProgress(pathStr.c_str(), SkPath::kWinding_FillType);
                     }
                     testSimplify(path, false, out, state, pathStr.c_str());
-                    path.setFillType(SkPathFillType::kEvenOdd);
+                    path.setFillType(SkPath::kEvenOdd_FillType);
                     if (state.fReporter->verbose()) {
-                        state.outputProgress(pathStr.c_str(), SkPathFillType::kEvenOdd);
+                        state.outputProgress(pathStr.c_str(), SkPath::kEvenOdd_FillType);
                     }
                     testSimplify(path, true, out, state, pathStr.c_str());
                 }
