diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2014-09-25 09:35:59 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2014-09-25 09:35:59 +0000 |
| commit | ea10837f7a960bb9b914df1f25798c0b3e1da60f (patch) | |
| tree | 18cf55bd22a8104c8578f1fcb1f966390599e043 /src/sp-item-group.cpp | |
| parent | osx-build.sh: sync with osxmenu (whitespace, formatting) (diff) | |
| parent | Fix for #1334792. Correct inheritance for 'line-height' property. (diff) | |
| download | inkscape-ea10837f7a960bb9b914df1f25798c0b3e1da60f.tar.gz inkscape-ea10837f7a960bb9b914df1f25798c0b3e1da60f.zip | |
update to trunk (r13564)
(bzr r13506.1.107)
Diffstat (limited to 'src/sp-item-group.cpp')
| -rw-r--r-- | src/sp-item-group.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp index a24056630..b65be8f22 100644 --- a/src/sp-item-group.cpp +++ b/src/sp-item-group.cpp @@ -680,7 +680,15 @@ void SPGroup::scaleChildItemsRec(Geom::Scale const &sc, Geom::Point const &p, bo 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()) { + } + 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); + } + item = NULL; + if (SP_ITEM(o)->mask_ref->getObject()) { item = SP_ITEM(SP_ITEM(o)->mask_ref->getObject()->firstChild()); } if (item != NULL) { |
