diff options
| author | Liam P. White <inkscapebrony@gmail.com> | 2014-07-30 15:53:05 +0000 |
|---|---|---|
| committer | Liam P. White <inkscapebrony@gmail.com> | 2014-07-30 15:53:05 +0000 |
| commit | 5281d66b1a85e8f203c71798305f838fa3089dc2 (patch) | |
| tree | cc3c8c61428eaa7308db24ee6c5b1c9c2fa5c2d3 /src/selection-chemistry.cpp | |
| parent | Refactoring of linejoin code (diff) | |
| parent | Update to trunk r13482 (diff) | |
| download | inkscape-5281d66b1a85e8f203c71798305f838fa3089dc2.tar.gz inkscape-5281d66b1a85e8f203c71798305f838fa3089dc2.zip | |
Update to experimental r13452
(bzr r13090.1.95)
Diffstat (limited to 'src/selection-chemistry.cpp')
| -rw-r--r-- | src/selection-chemistry.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 3f5925d83..1d7d76609 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -1621,10 +1621,13 @@ void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Affine cons item->doWriteTransform(item->getRepr(), item->transform, NULL, compensate); } - // if we're moving the actual object, not just updating the repr, we can transform the + // if we're transforming the actual object, not just updating the repr, we can transform the // center by the same matrix (only necessary for non-translations) if (set_i2d && item->isCenterSet() && !(affine.isTranslation() || affine.isIdentity())) { - item->setCenter(old_center * affine); + // If there's a viewbox, we might have an affine with a translation component; + // we will only apply the scaling/skewing components, not the translations + // because otherwise the center will move relative to the item + item->setCenter(old_center * affine.withoutTranslation()); item->updateRepr(); } } |
