diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-06-24 17:45:12 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-06-24 17:45:12 +0000 |
| commit | e1b08bb2e05c407f3e524e5d9f7b63ae88e15f6c (patch) | |
| tree | 650aaeb95a2468fdbdc3401530e8a825c7c4a3d1 /src/sp-item.cpp | |
| parent | Updating to master (diff) | |
| download | inkscape-e1b08bb2e05c407f3e524e5d9f7b63ae88e15f6c.tar.gz inkscape-e1b08bb2e05c407f3e524e5d9f7b63ae88e15f6c.zip | |
Working with powerclip and powermask
Diffstat (limited to 'src/sp-item.cpp')
| -rw-r--r-- | src/sp-item.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sp-item.cpp b/src/sp-item.cpp index 368f8896c..4f3c7d283 100644 --- a/src/sp-item.cpp +++ b/src/sp-item.cpp @@ -1373,7 +1373,7 @@ void SPItem::adjust_paint_recursive (Geom::Affine advertized_transform, Geom::Af // Within text, we do not fork gradients, and so must not recurse to avoid double compensation; // also we do not recurse into clones, because a clone's child is the ghost of its original - // we must not touch it - if (!(this && (dynamic_cast<SPText *>(this) || dynamic_cast<SPUse *>(this)))) { + if (!(dynamic_cast<SPText *>(this) || dynamic_cast<SPUse *>(this))) { for (auto& o: children) { SPItem *item = dynamic_cast<SPItem *>(&o); if (item) { @@ -1401,7 +1401,6 @@ void SPItem::adjust_livepatheffect (Geom::Affine const &postmul, bool set) SPLPEItem *lpeitem = dynamic_cast<SPLPEItem *>(this); if ( lpeitem && lpeitem->hasPathEffect() ) { lpeitem->forkPathEffectsIfNecessary(); - // now that all LPEs are forked_if_necessary, we can apply the transform PathEffectList effect_list = lpeitem->getEffectList(); for (PathEffectList::iterator it = effect_list.begin(); it != effect_list.end(); ++it) @@ -1496,6 +1495,10 @@ void SPItem::doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &tra freeze_stroke_width_recursive(false); } } else { + SPLPEItem * lpeitem = SP_LPE_ITEM(this); + if (lpeitem && lpeitem->hasPathEffectRecursive()) { + lpeitem->adjust_livepatheffect(transform_attr); + } if (freeze_stroke_width) { freeze_stroke_width_recursive(false); if (compensate) { |
