From 34a832d033b92acd9810a68ced24ccc535609c69 Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Mon, 26 Oct 2020 02:13:30 +0100 Subject: [PATCH] sw_engine shape: adding a dash pattern switch condition Preventing switching to the next dash pattern for a line with a length of zero. --- src/lib/sw_engine/tvgSwShape.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/sw_engine/tvgSwShape.cpp b/src/lib/sw_engine/tvgSwShape.cpp index cb2d90e6..a0cbce15 100644 --- a/src/lib/sw_engine/tvgSwShape.cpp +++ b/src/lib/sw_engine/tvgSwShape.cpp @@ -268,7 +268,7 @@ static void _dashLineTo(SwDashStroke& dash, const Point* to, const Matrix* trans _outlineMoveTo(*dash.outline, &cur.pt1, transform); _outlineLineTo(*dash.outline, &cur.pt2, transform); } - if (dash.curLen < 1) { + if (dash.curLen < 1 && TO_SWCOORD(len) > 1) { //move to next dash dash.curIdx = (dash.curIdx + 1) % dash.cnt; dash.curLen = dash.pattern[dash.curIdx]; @@ -314,7 +314,7 @@ static void _dashCubicTo(SwDashStroke& dash, const Point* ctrl1, const Point* ct _outlineMoveTo(*dash.outline, &cur.start, transform); _outlineCubicTo(*dash.outline, &cur.ctrl1, &cur.ctrl2, &cur.end, transform); } - if (dash.curLen < 1) { + if (dash.curLen < 1 && TO_SWCOORD(len) > 1) { //move to next dash dash.curIdx = (dash.curIdx + 1) % dash.cnt; dash.curLen = dash.pattern[dash.curIdx];