diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/sp-star.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/sp-star.cpp b/src/sp-star.cpp index a43d681ce..97a690520 100644 --- a/src/sp-star.cpp +++ b/src/sp-star.cpp @@ -515,8 +515,9 @@ void SPStar::snappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape:: Geom::Affine SPStar::set_transform(Geom::Affine const &xform) { + bool opt_trans = (randomized == 0); // Only set transform with proportional scaling - if (!xform.isUniformScale()) { + if (!xform.withoutTranslation().isUniformScale()) { return xform; } @@ -530,7 +531,7 @@ Geom::Affine SPStar::set_transform(Geom::Affine const &xform) /* This function takes care of translation and scaling, we return whatever parts we can't handle. */ - Geom::Affine ret(xform); + Geom::Affine ret(opt_trans ? xform.withoutTranslation() : xform); gdouble const s = hypot(ret[0], ret[1]); if (s > 1e-9) { ret[0] /= s; |
