summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpeobject.cpp
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2010-05-14 23:08:45 +0000
committerJohan Engelen <goejendaagh@zonnet.nl>2010-05-14 23:08:45 +0000
commitc2aa64ea2a2778e4b78b16962281d0e0659de249 (patch)
tree6198723fe348d72980a7538bac4dab4526ea0bf2 /src/live_effects/lpeobject.cpp
parentTranslations. Belarusian tutorials update. (diff)
downloadinkscape-c2aa64ea2a2778e4b78b16962281d0e0659de249.tar.gz
inkscape-c2aa64ea2a2778e4b78b16962281d0e0659de249.zip
fix bug when forking LPE stack
Fixed bugs: - https://launchpad.net/bugs/578969 - https://launchpad.net/bugs/505400 (bzr r9419)
Diffstat (limited to 'src/live_effects/lpeobject.cpp')
-rw-r--r--src/live_effects/lpeobject.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/live_effects/lpeobject.cpp b/src/live_effects/lpeobject.cpp
index ec0dee0be..be5d618f2 100644
--- a/src/live_effects/lpeobject.cpp
+++ b/src/live_effects/lpeobject.cpp
@@ -252,11 +252,12 @@ LivePathEffectObject::fork_private_if_necessary(unsigned int nr_of_allowed_users
if (SP_OBJECT_HREFCOUNT(this) > nr_of_allowed_users) {
SPDocument *doc = SP_OBJECT_DOCUMENT(this);
Inkscape::XML::Document *xml_doc = sp_document_repr_doc(doc);
+ Inkscape::XML::Node *dup_repr = SP_OBJECT_REPR (this)->duplicate(xml_doc);
- Inkscape::XML::Node *repr = SP_OBJECT_REPR (this)->duplicate(xml_doc);
- SP_OBJECT_REPR (SP_DOCUMENT_DEFS (doc))->addChild(repr, NULL);
- LivePathEffectObject *lpeobj_new = (LivePathEffectObject *) doc->getObjectByRepr(repr);
- Inkscape::GC::release(repr);
+ SP_OBJECT_REPR (SP_DOCUMENT_DEFS (doc))->addChild(dup_repr, NULL);
+ LivePathEffectObject *lpeobj_new = LIVEPATHEFFECT( doc->getObjectByRepr(dup_repr) );
+
+ Inkscape::GC::release(dup_repr);
return lpeobj_new;
}
return this;