summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGClipPathElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/svg/SVGClipPathElement.cpp')
-rw-r--r--WebCore/svg/SVGClipPathElement.cpp13
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*)