From 01b27a996de7aa03e5ec7b961ffd7d0f2e8625c6 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Wed, 14 Mar 2018 23:02:47 +0100 Subject: Allow upadate shapen innside groups with LPE --- src/object/box3d-side.cpp | 2 +- src/object/sp-ellipse.cpp | 2 +- src/object/sp-item-group.cpp | 2 +- src/object/sp-rect.cpp | 2 +- src/object/sp-shape.cpp | 5 ++--- src/object/sp-spiral.cpp | 2 +- src/object/sp-star.cpp | 2 +- 7 files changed, 8 insertions(+), 9 deletions(-) (limited to 'src/object') diff --git a/src/object/box3d-side.cpp b/src/object/box3d-side.cpp index 6ecd3a1fa..23c066b1c 100644 --- a/src/object/box3d-side.cpp +++ b/src/object/box3d-side.cpp @@ -198,7 +198,7 @@ void Box3DSide::set_shape() { if (before || this->hasPathEffectRecursive()) { if (!before || before->get_pathvector() != c->get_pathvector()){ this->setCurveBeforeLPE(c); - this->update_patheffect(false); + sp_lpe_item_update_patheffect(this, true, false); } else { this->setCurveBeforeLPE(c); } diff --git a/src/object/sp-ellipse.cpp b/src/object/sp-ellipse.cpp index 95bfd6160..e1992e4ad 100644 --- a/src/object/sp-ellipse.cpp +++ b/src/object/sp-ellipse.cpp @@ -483,7 +483,7 @@ void SPGenericEllipse::set_shape() if (before || this->hasPathEffectRecursive()) { if (!before || before->get_pathvector() != c->get_pathvector()){ this->setCurveBeforeLPE(c); - this->update_patheffect(false); + sp_lpe_item_update_patheffect(this, true, false); } else { this->setCurveBeforeLPE(c); } diff --git a/src/object/sp-item-group.cpp b/src/object/sp-item-group.cpp index a3fa6c6e8..990634b72 100644 --- a/src/object/sp-item-group.cpp +++ b/src/object/sp-item-group.cpp @@ -197,7 +197,7 @@ void SPGroup::update(SPCtx *ctx, unsigned int flags) { } void SPGroup::modified(guint flags) { - // std::cout << "SPGroup::modified(): " << (getId()?getId():"null") << std::endl; + //std::cout << "SPGroup::modified(): " << (getId()?getId():"null") << std::endl; SPLPEItem::modified(flags); if (flags & SP_OBJECT_MODIFIED_FLAG) { flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; diff --git a/src/object/sp-rect.cpp b/src/object/sp-rect.cpp index f21dafd54..9e20c6f6a 100644 --- a/src/object/sp-rect.cpp +++ b/src/object/sp-rect.cpp @@ -269,7 +269,7 @@ void SPRect::set_shape() { this->setCurveBeforeLPE(c); // LPE is not applied because result can generally not be represented as SPRect - + c->unref(); } diff --git a/src/object/sp-shape.cpp b/src/object/sp-shape.cpp index 0ed5f731b..0687ef1fa 100644 --- a/src/object/sp-shape.cpp +++ b/src/object/sp-shape.cpp @@ -754,8 +754,7 @@ void SPShape::update_patheffect(bool write) this->applyToClipPath(this); this->applyToMask(this); } - } - + } if (write && success) { Inkscape::XML::Node *repr = this->getRepr(); if (c_lpe != NULL) { @@ -765,9 +764,9 @@ void SPShape::update_patheffect(bool write) } else { repr->setAttribute("d", NULL); } + this->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } c_lpe->unref(); - this->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } } diff --git a/src/object/sp-spiral.cpp b/src/object/sp-spiral.cpp index 7a449807d..007e8c499 100644 --- a/src/object/sp-spiral.cpp +++ b/src/object/sp-spiral.cpp @@ -351,7 +351,7 @@ void SPSpiral::set_shape() { if (before || this->hasPathEffectRecursive()) { if (!before || before->get_pathvector() != c->get_pathvector()){ this->setCurveBeforeLPE(c); - this->update_patheffect(false); + sp_lpe_item_update_patheffect(this, true, false); } else { this->setCurveBeforeLPE(c); } diff --git a/src/object/sp-star.cpp b/src/object/sp-star.cpp index 097b5d989..27e1ce201 100644 --- a/src/object/sp-star.cpp +++ b/src/object/sp-star.cpp @@ -434,7 +434,7 @@ void SPStar::set_shape() { if (before || this->hasPathEffectRecursive()) { if (!before || before->get_pathvector() != c->get_pathvector()){ this->setCurveBeforeLPE(c); - this->update_patheffect(false); + sp_lpe_item_update_patheffect(this, true, false); } else { this->setCurveBeforeLPE(c); } -- cgit v1.2.3