summaryrefslogtreecommitdiffstats
path: root/src/sp-item-transform.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2007-03-10 20:54:38 +0000
committermental <mental@users.sourceforge.net>2007-03-10 20:54:38 +0000
commita99764de718f7331615d3f9449e10a56dee62fb6 (patch)
treed60bc8389777a4384b8c931867a93c6491fffee5 /src/sp-item-transform.cpp
parentfix setting knot->pos for node handles, but remove coords updating - now done... (diff)
downloadinkscape-a99764de718f7331615d3f9449e10a56dee62fb6.tar.gz
inkscape-a99764de718f7331615d3f9449e10a56dee62fb6.zip
Merge further bbox work
(bzr r2596)
Diffstat (limited to 'src/sp-item-transform.cpp')
-rw-r--r--src/sp-item-transform.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/sp-item-transform.cpp b/src/sp-item-transform.cpp
index d62211245..105a91b4c 100644
--- a/src/sp-item-transform.cpp
+++ b/src/sp-item-transform.cpp
@@ -46,11 +46,12 @@ sp_item_rotate_rel(SPItem *item, NR::rotate const &rotation)
void
sp_item_scale_rel (SPItem *item, NR::scale const &scale)
{
- NR::translate const s(sp_item_bbox_desktop(item).midpoint()); // use getCenter?
-
- sp_item_set_i2d_affine(item,
- sp_item_i2d_affine(item) * inverse(s) * scale * s);
- sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
+ NR::Maybe<NR::Rect> bbox = sp_item_bbox_desktop(item);
+ if (bbox) {
+ NR::translate const s(bbox->midpoint()); // use getCenter?
+ sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * inverse(s) * scale * s);
+ sp_item_write_transform(item, SP_OBJECT_REPR(item), item->transform);
+ }
}
void