aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkStroke.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkStroke.cpp')
-rw-r--r--src/core/SkStroke.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/SkStroke.cpp b/src/core/SkStroke.cpp
index 30d524ed9b..45ad0efd78 100644
--- a/src/core/SkStroke.cpp
+++ b/src/core/SkStroke.cpp
@@ -302,9 +302,13 @@ DRAW_LINE:
bool degenerateBC = !set_normal_unitnormal(pts[1], pts[2], fRadius,
&normalBC, &unitNormalBC);
- if (--subDivide >= 0 &&
- (degenerateBC || normals_too_curvy(unitNormalAB, unitNormalBC) ||
- normals_too_curvy(unitNormalBC, *unitNormalCD))) {
+
+ if (degenerateBC || normals_too_curvy(unitNormalAB, unitNormalBC) ||
+ normals_too_curvy(unitNormalBC, *unitNormalCD)) {
+ // subdivide if we can
+ if (--subDivide < 0) {
+ goto DRAW_LINE;
+ }
SkPoint tmp[7];
SkVector norm, unit, dummy, unitDummy;