From 000c6ff11f29d313617d64861f0f467c7d49cc4f Mon Sep 17 00:00:00 2001 From: MenTaLguY Date: Sun, 12 Mar 2006 00:23:40 +0000 Subject: experiment with moving release beofre extraction of object from document tree (bzr r222) --- src/sp-object.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/sp-object.cpp') diff --git a/src/sp-object.cpp b/src/sp-object.cpp index fd368dd61..5f6bf779f 100644 --- a/src/sp-object.cpp +++ b/src/sp-object.cpp @@ -659,6 +659,8 @@ sp_object_detach(SPObject *parent, SPObject *object) { g_return_if_fail(SP_IS_OBJECT(object)); g_return_if_fail(object->parent == parent); + sp_object_invoke_release(object); + SPObject *prev=NULL; for ( SPObject *child = parent->children ; child && child != object ; child = child->next ) @@ -679,7 +681,6 @@ sp_object_detach(SPObject *parent, SPObject *object) { object->next = NULL; object->parent = NULL; - sp_object_invoke_release(object); parent->_updateTotalHRefCount(-object->_total_hrefcount); sp_object_unref(object, parent); } @@ -870,9 +871,6 @@ sp_object_invoke_release(SPObject *object) g_assert(object != NULL); g_assert(SP_IS_OBJECT(object)); - // we need to remember our parent - // g_assert(!object->parent); - g_assert(!object->next); g_assert(object->document); g_assert(object->repr); -- cgit v1.2.3