diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/extension/internal/cairo-renderer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp index 25cbc14ad..2b74c6f7c 100644 --- a/src/extension/internal/cairo-renderer.cpp +++ b/src/extension/internal/cairo-renderer.cpp @@ -748,8 +748,10 @@ CairoRenderer::applyMask(CairoRenderContext *ctx, SPMask const *mask) ctx->setTransform(&t); } - // clip mask contents - ctx->addClippingRect(mask_bbox.x0, mask_bbox.y0, mask_bbox.x1 - mask_bbox.x0, mask_bbox.y1 - mask_bbox.y0); + // Clip mask contents... but... + // The mask's bounding box is the "geometric bounding box" which doesn't allow for + // filters which extend outside the bounding box. So don't clip. + // ctx->addClippingRect(mask_bbox.x0, mask_bbox.y0, mask_bbox.x1 - mask_bbox.x0, mask_bbox.y1 - mask_bbox.y0); ctx->pushState(); |
