| Index: Source/core/rendering/svg/RenderSVGResourceClipper.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGResourceClipper.cpp b/Source/core/rendering/svg/RenderSVGResourceClipper.cpp
|
| index a9cd40a173ff9fe4f2b0ca49ea609c1766e0b9af..c0a6d0bb178bf2757cf2a4db3fcf990c2ee799f8 100644
|
| --- a/Source/core/rendering/svg/RenderSVGResourceClipper.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGResourceClipper.cpp
|
| @@ -338,7 +338,11 @@ bool RenderSVGResourceClipper::hitTestClipContent(const FloatRect& objectBoundin
|
| point = transform.inverse().mapPoint(point);
|
| }
|
|
|
| - point = clipPathElement->animatedLocalTransform().inverse().mapPoint(point);
|
| + AffineTransform animatedLocalTransform = clipPathElement->animatedLocalTransform();
|
| + if (!animatedLocalTransform.isInvertible())
|
| + return false;
|
| +
|
| + point = animatedLocalTransform.inverse().mapPoint(point);
|
|
|
| for (SVGElement* childElement = Traversal<SVGElement>::firstChild(*element()); childElement; childElement = Traversal<SVGElement>::nextSibling(*childElement)) {
|
| RenderObject* renderer = childElement->renderer();
|
|
|