summaryrefslogtreecommitdiffstats
path: root/src/sp-flowtext.cpp
diff options
context:
space:
mode:
authorMatthew Petroff <matthew@mpetroff.net>2013-09-15 19:00:40 +0000
committerMatthew Petroff <matthew@mpetroff.net>2013-09-15 19:00:40 +0000
commit803e249e999ab90caf2e3d61cc6782aa7dd3caba (patch)
treeba1532a2eaea036d15f9566e65de38b1a3746397 /src/sp-flowtext.cpp
parentFix bug with tool handles during document unit change. (diff)
downloadinkscape-803e249e999ab90caf2e3d61cc6782aa7dd3caba.tar.gz
inkscape-803e249e999ab90caf2e3d61cc6782aa7dd3caba.zip
Fix document unit change for transformed flow text and transformed text on path.
(bzr r12475.1.18)
Diffstat (limited to 'src/sp-flowtext.cpp')
-rw-r--r--src/sp-flowtext.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp
index 304d749c2..4fc922a82 100644
--- a/src/sp-flowtext.cpp
+++ b/src/sp-flowtext.cpp
@@ -86,6 +86,8 @@ sp_flowtext_init(SPFlowtext *group)
{
group->par_indent = 0;
new (&group->layout) Inkscape::Text::Layout();
+
+ group->_optimizeScaledText = false;
}
static void
@@ -706,9 +708,13 @@ SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, Geom::Point p0,
static Geom::Affine
sp_flowtext_set_transform (SPItem *item, Geom::Affine const &xform)
{
- if (!xform.isNonzeroUniformScale()) {
+ SPFlowtext *ft = SP_FLOWTEXT(item);
+ if ((ft->_optimizeScaledText && !xform.withoutTranslation().isNonzeroUniformScale())
+ || (!ft->_optimizeScaledText && !xform.isNonzeroUniformScale())) {
+ ft->_optimizeScaledText = false;
return xform;
}
+ ft->_optimizeScaledText = false;
SPText *text = reinterpret_cast<SPText *>(item);