Kaydet (Commit) aee07d48 authored tarafından Andre Fischer's avatar Andre Fischer

#i120050# Fixed memory leak when SdrObject is removed from master page.

Patch by: ChaoHuang
Review and minor changes by: Andre Fischer
üst 2b1cedbe
...@@ -793,13 +793,19 @@ void SdPage::CreateTitleAndLayout(sal_Bool bInit, sal_Bool bCreate ) ...@@ -793,13 +793,19 @@ void SdPage::CreateTitleAndLayout(sal_Bool bInit, sal_Bool bCreate )
// handout template // handout template
// delete all available handout presentation objects // delete all available handout presentation objects
SdrObject* pObj; SdrObject *pObj=NULL;
while( (pObj = pMasterPage->GetPresObj(PRESOBJ_HANDOUT)) != 0 ) while( (pObj = pMasterPage->GetPresObj(PRESOBJ_HANDOUT)) != 0 )
{ {
pMasterPage->RemoveObject(pObj->GetOrdNum());
if( bUndo ) if( bUndo )
{
pUndoManager->AddUndoAction(pModel->GetSdrUndoFactory().CreateUndoDeleteObject(*pObj)); pUndoManager->AddUndoAction(pModel->GetSdrUndoFactory().CreateUndoDeleteObject(*pObj));
}
pMasterPage->RemoveObject(pObj->GetOrdNum()); else
{
SdrObject::Free( pObj ); // memory leak i120050
}
} }
std::vector< Rectangle > aAreas; std::vector< Rectangle > aAreas;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment