| Index: Source/core/svg/SVGPathParser.cpp
|
| diff --git a/Source/core/svg/SVGPathParser.cpp b/Source/core/svg/SVGPathParser.cpp
|
| index 261df8aebede839884bdc4e68040e9d0ffa5ae66..0ba63c116fcc9270a044671cffe91f105aeda85b 100644
|
| --- a/Source/core/svg/SVGPathParser.cpp
|
| +++ b/Source/core/svg/SVGPathParser.cpp
|
| @@ -396,9 +396,9 @@ bool SVGPathParser::parsePathDataFromSource(PathParsingMode pathParsingMode, boo
|
| // This works by converting the SVG arc to "simple" beziers.
|
| // Partly adapted from Niko's code in kdelibs/kdecore/svgicons.
|
| // See also SVG implementation notes: http://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter
|
| -bool SVGPathParser::decomposeArcToCubic(float angle, float rx, float ry, FloatPoint& point1, FloatPoint& point2, bool largeArcFlag, bool sweepFlag)
|
| +bool SVGPathParser::decomposeArcToCubic(float angle, float rx, float ry, const FloatPoint& start, const FloatPoint& end, bool largeArcFlag, bool sweepFlag)
|
| {
|
| - FloatSize midPointDistance = point1 - point2;
|
| + FloatSize midPointDistance = start - end;
|
| midPointDistance.scale(0.5f);
|
|
|
| AffineTransform pointTransform;
|
| @@ -422,8 +422,8 @@ bool SVGPathParser::decomposeArcToCubic(float angle, float rx, float ry, FloatPo
|
| pointTransform.scale(1 / rx, 1 / ry);
|
| pointTransform.rotate(-angle);
|
|
|
| - point1 = pointTransform.mapPoint(point1);
|
| - point2 = pointTransform.mapPoint(point2);
|
| + FloatPoint point1 = pointTransform.mapPoint(start);
|
| + FloatPoint point2 = pointTransform.mapPoint(end);
|
| FloatSize delta = point2 - point1;
|
|
|
| float d = delta.width() * delta.width() + delta.height() * delta.height();
|
|
|