| Index: Source/core/rendering/svg/RenderSVGShape.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGShape.cpp b/Source/core/rendering/svg/RenderSVGShape.cpp
|
| index aa5b21d9f0544606726d6dd23fc0bf153708d34f..6e0a737b53d824451e27ba3af3238187577a45c8 100644
|
| --- a/Source/core/rendering/svg/RenderSVGShape.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGShape.cpp
|
| @@ -236,14 +236,18 @@ void RenderSVGShape::paint(PaintInfo& paintInfo, const LayoutPoint&)
|
| if (svgStyle.hasVisibleStroke()) {
|
| GraphicsContextStateSaver stateSaver(*childPaintInfo.context, false);
|
| AffineTransform nonScalingTransform;
|
| + const AffineTransform* additionalPaintServerTransform = 0;
|
|
|
| if (hasNonScalingStroke()) {
|
| - AffineTransform nonScalingTransform = nonScalingStrokeTransform();
|
| + nonScalingTransform = nonScalingStrokeTransform();
|
| if (!setupNonScalingStrokeContext(nonScalingTransform, stateSaver))
|
| return;
|
| +
|
| + // Non-scaling stroke needs to reset the transform back to the host transform.
|
| + additionalPaintServerTransform = &nonScalingTransform;
|
| }
|
|
|
| - if (!SVGRenderSupport::updateGraphicsContext(stateSaver, style(), *this, ApplyToStrokeMode))
|
| + if (!SVGRenderSupport::updateGraphicsContext(stateSaver, style(), *this, ApplyToStrokeMode, additionalPaintServerTransform))
|
| break;
|
| strokeShape(childPaintInfo.context);
|
| }
|
|
|