diff options
| author | bulia byak <buliabyak@gmail.com> | 2008-09-20 23:58:20 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2008-09-20 23:58:20 +0000 |
| commit | 36f1dbdf9bbe07c5e7a20df8334d88a1696eac99 (patch) | |
| tree | 388df4f45b45cae9a16f0e21e1ef0488f4dd1a3c /src | |
| parent | fix overreffing of reprs by clones: only ref a repr by a non-cloned SPObject (diff) | |
| download | inkscape-36f1dbdf9bbe07c5e7a20df8334d88a1696eac99.tar.gz inkscape-36f1dbdf9bbe07c5e7a20df8334d88a1696eac99.zip | |
properly detach SPObject from repr when deleting clone
(bzr r6857)
Diffstat (limited to 'src')
| -rw-r--r-- | src/sp-use.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/sp-use.cpp b/src/sp-use.cpp index 213f827ef..8b6321745 100644 --- a/src/sp-use.cpp +++ b/src/sp-use.cpp @@ -139,6 +139,12 @@ sp_use_finalize(GObject *obj) { SPUse *use = (SPUse *) obj; + if (use->child) { + sp_object_detach(SP_OBJECT(obj), use->child); + use->child = NULL; + } + + use->ref->detach(); delete use->ref; use->_delete_connection.~connection(); @@ -170,7 +176,10 @@ sp_use_release(SPObject *object) { SPUse *use = SP_USE(object); - use->child = NULL; + if (use->child) { + sp_object_detach(object, use->child); + use->child = NULL; + } use->_delete_connection.disconnect(); use->_changed_connection.disconnect(); |
