diff options
Diffstat (limited to 'WebCore/svg/SVGCursorElement.cpp')
-rw-r--r-- | WebCore/svg/SVGCursorElement.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/WebCore/svg/SVGCursorElement.cpp b/WebCore/svg/SVGCursorElement.cpp index 161a061..8ff9735 100644 --- a/WebCore/svg/SVGCursorElement.cpp +++ b/WebCore/svg/SVGCursorElement.cpp @@ -26,6 +26,7 @@ #include "SVGCursorElement.h" #include "Attr.h" +#include "Document.h" #include "SVGNames.h" #include "SVGLength.h" @@ -43,6 +44,9 @@ SVGCursorElement::SVGCursorElement(const QualifiedName& tagName, Document* doc) SVGCursorElement::~SVGCursorElement() { + HashSet<SVGElement*>::iterator end = m_clients.end(); + for (HashSet<SVGElement*>::iterator it = m_clients.begin(); it != end; ++it) + (*it)->setCursorElement(0); } void SVGCursorElement::parseMappedAttribute(MappedAttribute* attr) @@ -66,11 +70,13 @@ void SVGCursorElement::parseMappedAttribute(MappedAttribute* attr) void SVGCursorElement::addClient(SVGElement* element) { m_clients.add(element); + element->setCursorElement(this); } void SVGCursorElement::removeClient(SVGElement* element) { m_clients.remove(element); + element->setCursorElement(0); } void SVGCursorElement::svgAttributeChanged(const QualifiedName& attrName) @@ -89,9 +95,11 @@ void SVGCursorElement::svgAttributeChanged(const QualifiedName& attrName) } } -void SVGCursorElement::getSubresourceAttributeStrings(Vector<String>& urls) const +void SVGCursorElement::addSubresourceAttributeURLs(ListHashSet<KURL>& urls) const { - urls.append(href()); + SVGElement::addSubresourceAttributeURLs(urls); + + addSubresourceURL(urls, document()->completeURL(href())); } } |