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-ellipse.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-ellipse.cpp')
| -rw-r--r-- | src/object/sp-ellipse.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/object/sp-ellipse.cpp b/src/object/sp-ellipse.cpp index 76145c603..74ade912c 100644 --- a/src/object/sp-ellipse.cpp +++ b/src/object/sp-ellipse.cpp @@ -481,10 +481,16 @@ void SPGenericEllipse::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); } + if (before) { before->unref(); } @@ -555,7 +561,7 @@ Geom::Affine SPGenericEllipse::set_transform(Geom::Affine const &xform) // Adjust livepatheffect this->adjust_livepatheffect(xform); - + return ret; } @@ -650,7 +656,7 @@ bool SPGenericEllipse::set_elliptical_path_attribute(Inkscape::XML::Node *repr) // Make sure our pathvector is up to date. this->set_shape(); - if (_curve != NULL) { + if (_curve) { gchar* d = sp_svg_write_path(_curve->get_pathvector()); repr->setAttribute("d", d); |
