diff --git a/main/svx/source/svdraw/svdobj.cxx b/main/svx/source/svdraw/svdobj.cxx old mode 100644 new mode 100755 index 76fe87d..389aa66 --- a/main/svx/source/svdraw/svdobj.cxx +++ b/main/svx/source/svdraw/svdobj.cxx @@ -487,8 +487,14 @@ void SdrObject::Free( SdrObject*& _rpObject ) SvxShape* pShape = pObject->getSvxShape(); if ( pShape && pShape->HasSdrObjectOwnership() ) + { // only the shape is allowed to delete me, and will reset the ownership before doing so + + // Reset the object's pointer to the containing object list + // because the later will be destroyed soon. + pObject->SetObjList(NULL); return; + } delete pObject; }