Index: Source/core/svg/SVGPathParser.cpp |
diff --git a/Source/core/svg/SVGPathParser.cpp b/Source/core/svg/SVGPathParser.cpp |
index 261df8aebede839884bdc4e68040e9d0ffa5ae66..6d9fe45ef132e51e00cd902d7b9bd4052ffefa72 100644 |
--- a/Source/core/svg/SVGPathParser.cpp |
+++ b/Source/core/svg/SVGPathParser.cpp |
@@ -257,23 +257,17 @@ bool SVGPathParser::parseArcToSegment() |
// path. This ensures continuity in animations. |
rx = fabsf(rx); |
ry = fabsf(ry); |
- bool arcIsZeroLength = false; |
+ |
if (m_mode == RelativeCoordinates) |
- arcIsZeroLength = targetPoint == FloatPoint::zero(); |
- else |
- arcIsZeroLength = targetPoint == m_currentPoint; |
- if (!rx || !ry || arcIsZeroLength) { |
- if (m_mode == RelativeCoordinates) |
- m_currentPoint += targetPoint; |
- else |
- m_currentPoint = targetPoint; |
- m_consumer->lineTo(m_currentPoint, AbsoluteCoordinates); |
+ targetPoint += m_currentPoint; |
+ |
+ if (!rx || !ry || targetPoint == m_currentPoint) { |
+ m_consumer->lineTo(targetPoint, AbsoluteCoordinates); |
+ m_currentPoint = targetPoint; |
return true; |
} |
FloatPoint point1 = m_currentPoint; |
- if (m_mode == RelativeCoordinates) |
- targetPoint += m_currentPoint; |
m_currentPoint = targetPoint; |
return decomposeArcToCubic(angle, rx, ry, point1, targetPoint, largeArc, sweep); |
} |