diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-10-29 14:49:38 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-10-29 14:49:38 +0000 |
| commit | 0016bc355626cbebba2e6301c019480fff9817c1 (patch) | |
| tree | 794070f9ba9d9f3a2e7dcdaa4183dadc89cdb9fa /src | |
| parent | Merge branch 'master' into SymbolsSearch (diff) | |
| parent | Fix a bug converting to paths nested LPE with powerstroke (diff) | |
| download | inkscape-0016bc355626cbebba2e6301c019480fff9817c1.tar.gz inkscape-0016bc355626cbebba2e6301c019480fff9817c1.zip | |
Merge branch 'master' into SymbolsSearch
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-powerstroke.cpp | 2 | ||||
| -rw-r--r-- | src/path-chemistry.cpp | 8 | ||||
| -rw-r--r-- | src/sp-lpe-item.cpp | 4 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/live_effects/lpe-powerstroke.cpp b/src/live_effects/lpe-powerstroke.cpp index 6576e6a62..8066ade61 100644 --- a/src/live_effects/lpe-powerstroke.cpp +++ b/src/live_effects/lpe-powerstroke.cpp @@ -255,7 +255,7 @@ LPEPowerStroke::doOnApply(SPLPEItem const* lpeitem) void LPEPowerStroke::doOnRemove(SPLPEItem const* lpeitem) { - if (SP_IS_SHAPE(lpeitem)) { + if (SP_IS_SHAPE(lpeitem) && !keep_paths) { SPLPEItem *item = const_cast<SPLPEItem*>(lpeitem); SPCSSAttr *css = sp_repr_css_attr_new (); if (lpeitem->style->fill.isPaintserver()) { diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp index 67a742ed2..b3b0c8076 100644 --- a/src/path-chemistry.cpp +++ b/src/path-chemistry.cpp @@ -398,9 +398,13 @@ sp_item_list_to_curves(const std::vector<SPItem*> &items, std::vector<SPItem*>& continue; } - + + SPLPEItem *lpeitem = dynamic_cast<SPLPEItem *>(item); + if (lpeitem) { + lpeitem->removeAllPathEffects(true); + } + if (group) { - group->removeAllPathEffects(true); std::vector<SPItem*> item_list = sp_item_group_item_list(group); std::vector<Inkscape::XML::Node*> item_to_select; diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp index c0688f869..5be950afa 100644 --- a/src/sp-lpe-item.cpp +++ b/src/sp-lpe-item.cpp @@ -604,9 +604,9 @@ void SPLPEItem::removeAllPathEffects(bool keep_paths) } // unlink and delete all references in the list (*it)->unlink(); - delete *it; - it = this->path_effect_list->erase(it); + ++it; } + this->path_effect_list->clear(); this->getRepr()->setAttribute("inkscape:path-effect", NULL); if (!keep_paths) { |
