summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sp-flowtext.cpp17
-rw-r--r--src/sp-item-group.cpp2
2 files changed, 17 insertions, 2 deletions
diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp
index 7de65ccc3..72fe86daf 100644
--- a/src/sp-flowtext.cpp
+++ b/src/sp-flowtext.cpp
@@ -673,6 +673,21 @@ Geom::Affine SPFlowtext::set_transform (Geom::Affine const &xform)
return xform;
}
+ SPObject *region = NULL;
+ for ( SPObject *o = this->firstChild() ; o ; o = o->getNext() ) {
+ if (SP_IS_FLOWREGION(o)) {
+ region = o;
+ break;
+ }
+ }
+ if (region) {
+ if (SP_IS_RECT(region->firstChild())) {
+ SPRect *rect = SP_RECT(region->firstChild());
+ rect->set_i2d_affine(xform * rect->i2dt_affine());
+ rect->doWriteTransform(rect->getRepr(), rect->transform, NULL, true);
+ }
+ }
+
Geom::Affine ret(xform);
ret[0] /= ex;
ret[1] /= ex;
@@ -693,7 +708,7 @@ Geom::Affine SPFlowtext::set_transform (Geom::Affine const &xform)
this->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_TEXT_LAYOUT_MODIFIED_FLAG);
- return ret;
+ return Geom::Affine();
}
/*
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index b65be8f22..3fd6a1e80 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -725,7 +725,7 @@ void SPGroup::scaleChildItemsRec(Geom::Scale const &sc, Geom::Point const &p, bo
if (SP_IS_PERSP3D(item)) {
persp3d_apply_affine_transformation(SP_PERSP3D(item), final);
- } else if ((SP_IS_TEXT_TEXTPATH(item) || SP_IS_FLOWTEXT(item)) && !item->transform.isIdentity()) {
+ } else if (SP_IS_TEXT_TEXTPATH(item) && !item->transform.isIdentity()) {
// Save and reset current transform
Geom::Affine tmp(item->transform);
item->transform = Geom::Affine();