summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsu_v <suv-sf@users.sourceforge.net>2014-09-19 19:35:05 +0000
committer~suv <suv-sf@users.sourceforge.net>2014-09-19 19:35:05 +0000
commit4bf7c02345f9933ee21b8df59a2f000bb15c4871 (patch)
treec0f4fc3670f22c3bcfcb9417b9b5a6b8eadcff76 /src
parentrevbump meta port (start with 100 like the other local ports) (diff)
parentscale clip or mask upon unit change (Bug 1287288) (diff)
downloadinkscape-4bf7c02345f9933ee21b8df59a2f000bb15c4871.tar.gz
inkscape-4bf7c02345f9933ee21b8df59a2f000bb15c4871.zip
update to trunk (r13561)
(bzr r13506.1.103)
Diffstat (limited to 'src')
-rw-r--r--src/color-profile.cpp1
-rw-r--r--src/sp-item-group.cpp12
2 files changed, 13 insertions, 0 deletions
diff --git a/src/color-profile.cpp b/src/color-profile.cpp
index aa0750c00..6f335b590 100644
--- a/src/color-profile.cpp
+++ b/src/color-profile.cpp
@@ -19,6 +19,7 @@
#include <gtk/gtk.h>
#endif // DEBUG_LCMS
+#include <unistd.h>
#include <cstring>
#include <string>
#include <io/sys.h>
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 5936cfbe5..a24056630 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -677,6 +677,18 @@ void SPGroup::scaleChildItemsRec(Geom::Scale const &sc, Geom::Point const &p, bo
item->doWriteTransform(item->getRepr(), tAff, NULL, true);
} else {
// used for other import
+ SPItem *item = NULL;
+ if (SP_ITEM(o)->clip_ref->getObject()) {
+ item = SP_ITEM(SP_ITEM(o)->clip_ref->getObject()->firstChild());
+ } else if (SP_ITEM(o)->mask_ref->getObject()) {
+ item = SP_ITEM(SP_ITEM(o)->mask_ref->getObject()->firstChild());
+ }
+ if (item != NULL) {
+ Geom::Affine tdoc2dt = Geom::Scale(1, -1) * Geom::Translate(p); // re-create doc2dt()
+ Geom::Affine ti2doc = SP_ITEM(o)->i2doc_affine();
+ item->set_i2d_affine(ti2doc * sc * ti2doc.inverse() * tdoc2dt);
+ item->doWriteTransform(item->getRepr(), item->transform, NULL, true);
+ }
SP_GROUP(o)->scaleChildItemsRec(sc, p, false);
}
} else {