| 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);
|
| }
|
|
|