summaryrefslogtreecommitdiffstats
path: root/src/live_effects/effect.cpp
diff options
context:
space:
mode:
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: