summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormiklosh <miklosh@users.sourceforge.net>2007-08-23 09:52:05 +0000
committermiklosh <miklosh@users.sourceforge.net>2007-08-23 09:52:05 +0000
commitf45f1f897ce40d6485af0dd1a18c28ec6670a4d4 (patch)
treeea92dd29abe31d3357847d8e34a942252b6cfdbe /src
parentDisplay the total number of pages next to the page number spinbutton (diff)
downloadinkscape-f45f1f897ce40d6485af0dd1a18c28ec6670a4d4.tar.gz
inkscape-f45f1f897ce40d6485af0dd1a18c28ec6670a4d4.zip
Avoid transforming a group with an already set clip-path
(bzr r3570)
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/pdfinput/pdf-parser.cpp4
-rw-r--r--src/extension/internal/pdfinput/svg-builder.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
index 948f0efaa..b0fbfd7b5 100644
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -1465,9 +1465,9 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat,
} else {
state->clip();
if (eoFill) {
- builder->clip(state, true);
+ builder->setClipPath(state, true);
} else {
- builder->clip(state);
+ builder->setClipPath(state);
}
}
diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
index ff206174e..e00b37943 100644
--- a/src/extension/internal/pdfinput/svg-builder.cpp
+++ b/src/extension/internal/pdfinput/svg-builder.cpp
@@ -549,6 +549,10 @@ bool SvgBuilder::getTransform(double *transform) {
void SvgBuilder::setTransform(double c0, double c1, double c2, double c3,
double c4, double c5) {
+ // Avoid transforming a group with an already set clip-path
+ if ( _container->attribute("clip-path") != NULL ) {
+ pushGroup();
+ }
TRACE(("setTransform: %f %f %f %f %f %f\n", c0, c1, c2, c3, c4, c5));
svgSetTransform(_container, c0, c1, c2, c3, c4, c5);
}