summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGResourceMasker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGResourceMasker.cpp')
-rw-r--r--WebCore/rendering/RenderSVGResourceMasker.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/WebCore/rendering/RenderSVGResourceMasker.cpp b/WebCore/rendering/RenderSVGResourceMasker.cpp
index 2923c6e..8bb16de 100644
--- a/WebCore/rendering/RenderSVGResourceMasker.cpp
+++ b/WebCore/rendering/RenderSVGResourceMasker.cpp
@@ -31,6 +31,7 @@
#include "ImageBuffer.h"
#include "ImageData.h"
#include "IntRect.h"
+#include "RenderSVGResource.h"
#include "SVGElement.h"
#include "SVGMaskElement.h"
#include "SVGStyledElement.h"
@@ -55,8 +56,12 @@ RenderSVGResourceMasker::~RenderSVGResourceMasker()
void RenderSVGResourceMasker::invalidateClients()
{
HashMap<RenderObject*, MaskerData*>::const_iterator end = m_masker.end();
- for (HashMap<RenderObject*, MaskerData*>::const_iterator it = m_masker.begin(); it != end; ++it)
- it->first->setNeedsLayout(true);
+ for (HashMap<RenderObject*, MaskerData*>::const_iterator it = m_masker.begin(); it != end; ++it) {
+ RenderObject* renderer = it->first;
+ renderer->setNeedsBoundariesUpdate();
+ renderer->setNeedsLayout(true);
+ }
+
deleteAllValues(m_masker);
m_masker.clear();
}
@@ -75,7 +80,7 @@ void RenderSVGResourceMasker::invalidateClient(RenderObject* object)
delete m_masker.take(object);
}
-bool RenderSVGResourceMasker::applyResource(RenderObject* object, GraphicsContext* context)
+bool RenderSVGResourceMasker::applyResource(RenderObject* object, GraphicsContext*& context)
{
ASSERT(object);
ASSERT(context);