Index: Source/core/paint/SVGPaintContext.cpp |
diff --git a/Source/core/paint/SVGPaintContext.cpp b/Source/core/paint/SVGPaintContext.cpp |
index 2193366815f51015d3d593e301dbd820fe5c9bc5..6b6f40336922963cc83b0a7577cbdaa6ee31e2d7 100644 |
--- a/Source/core/paint/SVGPaintContext.cpp |
+++ b/Source/core/paint/SVGPaintContext.cpp |
@@ -34,6 +34,7 @@ |
#include "core/layout/svg/SVGResources.h" |
#include "core/layout/svg/SVGResourcesCache.h" |
#include "core/paint/LayoutObjectDrawingRecorder.h" |
+#include "core/paint/SVGFilterPainter.h" |
#include "core/paint/SVGMaskPainter.h" |
#include "platform/FloatConversion.h" |
@@ -47,7 +48,7 @@ SVGPaintContext::~SVGPaintContext() |
LayoutObjectDrawingRecorder recorder(m_originalPaintInfo->context, *m_object, DisplayItem::SVGFilter, LayoutRect::infiniteIntRect()); |
if (!recorder.canUseCachedDrawing()) |
- m_filter->finishEffect(m_object, m_originalPaintInfo->context); |
+ SVGFilterPainter(*m_filter).finishEffect(m_object, m_originalPaintInfo->context); |
// Reset the paint info after the filter effect has been completed. |
// This isn't strictly required (e.g., m_paintInfo.rect is not used |
@@ -160,7 +161,7 @@ bool SVGPaintContext::applyFilterIfNecessary(SVGResources* resources) |
return false; |
} else if (LayoutSVGResourceFilter* filter = resources->filter()) { |
m_filter = filter; |
- GraphicsContext* filterContext = filter->prepareEffect(m_object, m_paintInfo.context); |
+ GraphicsContext* filterContext = SVGFilterPainter(*filter).prepareEffect(m_object, m_paintInfo.context); |
if (!filterContext) |
return false; |