Author: af Date: Thu Jun 28 11:26:32 2012 New Revision: 1354940 URL: http://svn.apache.org/viewvc?rev=1354940&view=rev Log: #i120050# Fixed memory leak when SdrObject is removed from master page. Patch by: ChaoHuang Review and minor changes by: Andre Fischer Modified: incubator/ooo/trunk/main/sd/source/core/sdpage.cxx Modified: incubator/ooo/trunk/main/sd/source/core/sdpage.cxx URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/core/sdpage.cxx?rev=1354940&r1=1354939&r2=1354940&view=diff ============================================================================== --- incubator/ooo/trunk/main/sd/source/core/sdpage.cxx (original) +++ incubator/ooo/trunk/main/sd/source/core/sdpage.cxx Thu Jun 28 11:26:32 2012 @@ -793,13 +793,19 @@ void SdPage::CreateTitleAndLayout(sal_Bo // handout template // delete all available handout presentation objects - SdrObject* pObj; + SdrObject *pObj=NULL; while( (pObj = pMasterPage->GetPresObj(PRESOBJ_HANDOUT)) != 0 ) { + pMasterPage->RemoveObject(pObj->GetOrdNum()); + if( bUndo ) + { pUndoManager->AddUndoAction(pModel->GetSdrUndoFactory().CreateUndoDeleteObject(*pObj)); - - pMasterPage->RemoveObject(pObj->GetOrdNum()); + } + else + { + SdrObject::Free( pObj ); // memory leak i120050 + } } std::vector< Rectangle > aAreas;