summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2017-10-29 14:49:38 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-10-29 14:49:38 +0000
commit0016bc355626cbebba2e6301c019480fff9817c1 (patch)
tree794070f9ba9d9f3a2e7dcdaa4183dadc89cdb9fa /src
parentMerge branch 'master' into SymbolsSearch (diff)
parentFix a bug converting to paths nested LPE with powerstroke (diff)
downloadinkscape-0016bc355626cbebba2e6301c019480fff9817c1.tar.gz
inkscape-0016bc355626cbebba2e6301c019480fff9817c1.zip
Merge branch 'master' into SymbolsSearch
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-powerstroke.cpp2
-rw-r--r--src/path-chemistry.cpp8
-rw-r--r--src/sp-lpe-item.cpp4
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) {