summaryrefslogtreecommitdiffstats
path: root/src/selection-chemistry.cpp
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-07-30 15:53:05 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-07-30 15:53:05 +0000
commit5281d66b1a85e8f203c71798305f838fa3089dc2 (patch)
treecc3c8c61428eaa7308db24ee6c5b1c9c2fa5c2d3 /src/selection-chemistry.cpp
parentRefactoring of linejoin code (diff)
parentUpdate to trunk r13482 (diff)
downloadinkscape-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.cpp7
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();
}
}