diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-04-23 21:34:58 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2018-04-23 21:37:56 +0000 |
| commit | e254e5c6ced93403c125592237b43215bde7b0ff (patch) | |
| tree | 765903f16cd02454f1c63f421e0ce2f299dacc55 /src/object/sp-spiral.cpp | |
| parent | Fix warings on updates (diff) | |
| download | inkscape-e254e5c6ced93403c125592237b43215bde7b0ff.tar.gz inkscape-e254e5c6ced93403c125592237b43215bde7b0ff.zip | |
Fixing LPE recalculations warnings on update
Diffstat (limited to 'src/object/sp-spiral.cpp')
| -rw-r--r-- | src/object/sp-spiral.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/object/sp-spiral.cpp b/src/object/sp-spiral.cpp index 40abff7d7..e17ddb10d 100644 --- a/src/object/sp-spiral.cpp +++ b/src/object/sp-spiral.cpp @@ -349,7 +349,12 @@ void SPSpiral::set_shape() { * This is very important for LPEs to work properly! (the bbox might be recalculated depending on the curve in shape)*/ SPCurve * before = this->getCurveBeforeLPE(); if (before || this->hasPathEffectRecursive()) { - this->setCurveBeforeLPE(c); + if (c && before && before->get_pathvector() != c->get_pathvector()){ + this->setCurveBeforeLPE(c); + sp_lpe_item_update_patheffect(this, true, false); + } else { + this->setCurveBeforeLPE(c); + } } else { this->setCurveInsync(c); } @@ -400,6 +405,17 @@ void SPSpiral::snappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape */ Geom::Affine SPSpiral::set_transform(Geom::Affine const &xform) { + if (hasPathEffect() && pathEffectsEnabled() && + (this->hasPathEffectOfType(Inkscape::LivePathEffect::CLONE_ORIGINAL) || + this->hasPathEffectOfType(Inkscape::LivePathEffect::BEND_PATH) || + this->hasPathEffectOfType(Inkscape::LivePathEffect::FILL_BETWEEN_MANY) || + this->hasPathEffectOfType(Inkscape::LivePathEffect::FILL_BETWEEN_STROKES) ) ) + { + // if path has this LPE applied, don't write the transform to the pathdata, but write it 'unoptimized' + // also if the effect is type BEND PATH to fix bug #179842 + this->adjust_livepatheffect(xform); + return xform; + } // Only set transform with proportional scaling if (!xform.withoutTranslation().isUniformScale()) { // Adjust livepatheffect |
