Index: Source/core/rendering/svg/RenderSVGRect.cpp |
diff --git a/Source/core/rendering/svg/RenderSVGRect.cpp b/Source/core/rendering/svg/RenderSVGRect.cpp |
index a8d37354f857f1a685ad47d61c941fcc3601492a..7ed20dd143f12c22faf234b9776405cfe0148a06 100644 |
--- a/Source/core/rendering/svg/RenderSVGRect.cpp |
+++ b/Source/core/rendering/svg/RenderSVGRect.cpp |
@@ -62,8 +62,12 @@ void RenderSVGRect::updateShapeFromElement() |
// Spec: "A value of zero disables rendering of the element." |
if (!boundingBoxSize.isEmpty()) { |
- // Fallback to RenderSVGShape if rect has rounded corners or a non-scaling stroke. |
- if (rect->rx()->currentValue()->value(lengthContext) > 0 || rect->ry()->currentValue()->value(lengthContext) > 0 || hasNonScalingStroke()) { |
+ // Fallback to RenderSVGShape and path-based hit detection if the rect |
+ // has rounded corners or a non-scaling or non-smooth stroke. |
+ if (rect->rx()->currentValue()->value(lengthContext) > 0 |
+ || rect->ry()->currentValue()->value(lengthContext) > 0 |
+ || hasNonScalingStroke() |
+ || !hasSmoothStroke()) { |
RenderSVGShape::updateShapeFromElement(); |
m_usePathFallback = true; |
return; |