summaryrefslogtreecommitdiffstats
path: root/src/live_effects/effect.cpp
diff options
context:
space:
mode:
authorJabiertxof <jtx@jtx>2017-05-29 00:09:29 +0000
committerJabiertxof <jtx@jtx>2017-05-29 00:09:29 +0000
commit822154dfcb9fe3777f32aa27b9bae4480a1417c2 (patch)
treec88082a30788888ff942b63e6c2cfadbf68ccf07 /src/live_effects/effect.cpp
parentFix bug on crash if undefined LPE load (diff)
downloadinkscape-822154dfcb9fe3777f32aa27b9bae4480a1417c2.tar.gz
inkscape-822154dfcb9fe3777f32aa27b9bae4480a1417c2.zip
Fix bug #1694111 also fixes noumerous bugfixes on LPE undo. And shapes are improved to only perform path effet one time each
Fixed bugs: - https://launchpad.net/bugs/1694111 (bzr r15703.1.10)
Diffstat (limited to 'src/live_effects/effect.cpp')
-rw-r--r--src/live_effects/effect.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index 3a628b243..21136353c 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -452,10 +452,13 @@ Effect::processObjects(LpeAction lpe_action)
std::vector<SPItem*> item_selected;
SPCSSAttr *css;
Glib::ustring css_str;
+ SPItem *item = SP_ITEM(elemref);
switch (lpe_action){
case LPE_TO_OBJECTS:
- if (SP_ITEM(elemref)->isHidden()) {
- elemref->deleteObject();
+ if (item->isHidden()) {
+ sp_object_ref(item, 0 );
+ item->deleteObject(true);
+ sp_object_unref(item);
} else {
if (elemnode->attribute("inkscape:path-effect")) {
sp_item_list_to_curves(item_list, item_selected, item_to_select);
@@ -465,7 +468,9 @@ Effect::processObjects(LpeAction lpe_action)
break;
case LPE_ERASE:
- elemref->deleteObject();
+ sp_object_ref(item, 0 );
+ item->deleteObject(true);
+ sp_object_unref(item);
break;
case LPE_VISIBILITY: