diff options
Diffstat (limited to 'WebCore/svg/SVGClipPathElement.cpp')
-rw-r--r-- | WebCore/svg/SVGClipPathElement.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/WebCore/svg/SVGClipPathElement.cpp b/WebCore/svg/SVGClipPathElement.cpp index c3a514e..5c23031 100644 --- a/WebCore/svg/SVGClipPathElement.cpp +++ b/WebCore/svg/SVGClipPathElement.cpp @@ -69,12 +69,16 @@ void SVGClipPathElement::svgAttributeChanged(const QualifiedName& attrName) { SVGStyledTransformableElement::svgAttributeChanged(attrName); + RenderObject* object = renderer(); + if (!object) + return; + if (attrName == SVGNames::clipPathUnitsAttr || SVGTests::isKnownAttribute(attrName) || SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName) || SVGStyledTransformableElement::isKnownAttribute(attrName)) - invalidateResourceClients(); + object->setNeedsLayout(true); } void SVGClipPathElement::synchronizeProperty(const QualifiedName& attrName) @@ -97,8 +101,11 @@ void SVGClipPathElement::childrenChanged(bool changedByParser, Node* beforeChang { SVGStyledTransformableElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta); - if (!changedByParser) - invalidateResourceClients(); + if (changedByParser) + return; + + if (RenderObject* object = renderer()) + object->setNeedsLayout(true); } RenderObject* SVGClipPathElement::createRenderer(RenderArena* arena, RenderStyle*) |