summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2014-01-15 16:33:48 +0000
committertavmjong-free <tavmjong@free.fr>2014-01-15 16:33:48 +0000
commit88d24fc0c21e087b6c460a0c1b58aac556c666e1 (patch)
tree2668f7e5d338cd40140db8b6d0172dc471eabc4a
parentFix for Bug #1236282 (add full keyboard navigation support for new templates ... (diff)
downloadinkscape-88d24fc0c21e087b6c460a0c1b58aac556c666e1.tar.gz
inkscape-88d24fc0c21e087b6c460a0c1b58aac556c666e1.zip
Revert r12544. Fixes bug 1256449 (Clipping missing on Cairo-based exports). Note: 523285 is not a bug.
(bzr r12935)
-rw-r--r--src/extension/internal/cairo-renderer.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp
index 0a4c86f0b..6fbc85c05 100644
--- a/src/extension/internal/cairo-renderer.cpp
+++ b/src/extension/internal/cairo-renderer.cpp
@@ -580,9 +580,9 @@ void CairoRenderer::renderItem(CairoRenderContext *ctx, SPItem *item)
setStateForItem(ctx, item);
CairoRenderState *state = ctx->getCurrentState();
- state->need_layer = ( state->mask || state->opacity != 1.0 );
+ state->need_layer = ( state->mask || state->clip_path || state->opacity != 1.0 );
- // Draw item on a temporary surface so a mask or opacity can be applied to it.
+ // Draw item on a temporary surface so a mask, clip-path, or opacity can be applied to it.
if (state->need_layer) {
state->merge_opacity = FALSE;
ctx->pushLayer();
@@ -591,7 +591,7 @@ void CairoRenderer::renderItem(CairoRenderContext *ctx, SPItem *item)
sp_item_invoke_render(item, ctx);
if (state->need_layer)
- ctx->popLayer();
+ ctx->popLayer(); // This applies clipping/masking
ctx->popState();
}