summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-render-context.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2008-09-10 13:26:52 +0000
committertavmjong <tavmjong@users.sourceforge.net>2008-09-10 13:26:52 +0000
commitbd44f0e49f5d6723c801cb0c3b7a04a673d314b2 (patch)
tree486fe03fc19f10d94456192fa7c9e5ec3ce3ce63 /src/extension/internal/cairo-render-context.cpp
parentadd quick comment (diff)
downloadinkscape-bd44f0e49f5d6723c801cb0c3b7a04a673d314b2.tar.gz
inkscape-bd44f0e49f5d6723c801cb0c3b7a04a673d314b2.zip
Fix clipping for Cairo generated PNG's.
(bzr r6787)
Diffstat (limited to 'src/extension/internal/cairo-render-context.cpp')
-rw-r--r--src/extension/internal/cairo-render-context.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index e2e154791..f2ee32c74 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -590,13 +590,16 @@ CairoRenderContext::popLayer(void)
cairo_set_source_rgba(clip_ctx->_cr, 1.0, 1.0, 1.0, 1.0);
// copy over the correct CTM
+ // It must be stored in item_transform of current state after pushState.
+ Geom::Matrix item_transform;
if (_state->parent_has_userspace)
- clip_ctx->setTransform(&getParentState()->transform);
+ item_transform = getParentState()->transform;
else
- clip_ctx->setTransform(&_state->transform);
+ item_transform = _state->transform;
// apply the clip path
clip_ctx->pushState();
+ clip_ctx->getCurrentState()->item_transform = item_transform;
_renderer->applyClipPath(clip_ctx, clip_path);
clip_ctx->popState();