diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-06-06 16:49:17 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-06-06 16:49:44 +0200 |
commit | 37183595bb3b4d58682f90fd9f6713bedcb852a2 (patch) | |
tree | 1ac1fd9d69c0d09ea204173bd77721dc01bbddeb /lotuswordpro/source/filter/lwpdoc.cxx | |
parent | 7abe976be5166845c5f43b70a0dfb38608d31356 (diff) |
Fix memory leaks, by refcounting LwpObject
Change-Id: I1539597cd5bcabcbf0295d1acc320c503ad53604
Diffstat (limited to 'lotuswordpro/source/filter/lwpdoc.cxx')
-rw-r--r-- | lotuswordpro/source/filter/lwpdoc.cxx | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/lotuswordpro/source/filter/lwpdoc.cxx b/lotuswordpro/source/filter/lwpdoc.cxx index 32967258c9a5..7b421685bc88 100644 --- a/lotuswordpro/source/filter/lwpdoc.cxx +++ b/lotuswordpro/source/filter/lwpdoc.cxx @@ -163,8 +163,8 @@ void LwpDocument::Parse(IXFStream* pOutputStream) ParseDocContent(pOutputStream); } - LwpObject* pDocSock = GetSocket()->obj( VO_DOCSOCK ); - if(pDocSock!=NULL) + rtl::Reference<LwpObject> pDocSock = GetSocket()->obj( VO_DOCSOCK ); + if(pDocSock.is()) { pDocSock->Parse(pOutputStream); } @@ -174,7 +174,7 @@ bool LwpDocument::IsSkippedDivision() { OUString sDivName; bool ret = false; - LwpDivInfo* pDiv = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj(VO_DIVISIONINFO)); + LwpDivInfo* pDiv = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj(VO_DIVISIONINFO).get()); if (pDiv == NULL) return true; sDivName = pDiv->GetDivName(); @@ -186,10 +186,10 @@ bool LwpDocument::IsSkippedDivision() || (strClassName == STR_DivisionGroupEndnote) || (strClassName == STR_DocumentEndnote)) { - LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pDiv->GetInitialLayoutID()->obj(VO_PAGELAYOUT)); + LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pDiv->GetInitialLayoutID()->obj(VO_PAGELAYOUT).get()); if(pPageLayout) { - LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj(VO_STORY)); + LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj(VO_STORY).get()); if(pStory) { //This judgement maybe have problem. If there is only one para in the story, @@ -221,8 +221,8 @@ void LwpDocument::RegisterStyle() RegisterFootnoteStyles(); //Register styles in other document connected with this document: next doc, children doc - LwpObject* pDocSock = GetSocket()->obj(); - if(pDocSock!=NULL) + rtl::Reference<LwpObject> pDocSock = GetSocket()->obj(); + if(pDocSock.is()) { pDocSock->RegisterStyle(); } @@ -233,15 +233,15 @@ void LwpDocument::RegisterStyle() void LwpDocument::RegisterTextStyles() { //Register all text styles: para styles, character styles - LwpDLVListHeadHolder* pParaStyleHolder = dynamic_cast<LwpDLVListHeadHolder*>(m_pFoundry->GetTextStyleHead()->obj()); + LwpDLVListHeadHolder* pParaStyleHolder = dynamic_cast<LwpDLVListHeadHolder*>(m_pFoundry->GetTextStyleHead()->obj().get()); if(pParaStyleHolder) { - LwpTextStyle* pParaStyle = dynamic_cast<LwpTextStyle*> (pParaStyleHolder->GetHeadID()->obj()); + LwpTextStyle* pParaStyle = dynamic_cast<LwpTextStyle*> (pParaStyleHolder->GetHeadID()->obj().get()); while(pParaStyle) { pParaStyle->SetFoundry(m_pFoundry); pParaStyle->RegisterStyle(); - pParaStyle = dynamic_cast<LwpParaStyle*>(pParaStyle->GetNext()->obj()); + pParaStyle = dynamic_cast<LwpParaStyle*>(pParaStyle->GetNext()->obj().get()); } } ChangeStyleName();//add by ,for click here block,05/5/26 @@ -256,15 +256,15 @@ void LwpDocument::RegisterLayoutStyles() m_pFoundry->RegisterAllLayouts(); //set initial pagelayout in story for parsing pagelayout - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (m_DivInfo.obj( VO_DIVISIONINFO)); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (m_DivInfo.obj( VO_DIVISIONINFO).get()); LwpPageLayout* pPageLayout = NULL; if(pDivInfo) { - pPageLayout = dynamic_cast<LwpPageLayout*>(pDivInfo->GetInitialLayoutID()->obj(VO_PAGELAYOUT)); + pPageLayout = dynamic_cast<LwpPageLayout*>(pDivInfo->GetInitialLayoutID()->obj(VO_PAGELAYOUT).get()); if(pPageLayout) { //In Ole division, the content of pagelayout is VO_OLEOBJECT - LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj(VO_STORY)); + LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj(VO_STORY).get()); if(pStory) { //add all the pagelayout in order into the pagelayout list; @@ -280,16 +280,16 @@ void LwpDocument::RegisterLayoutStyles() void LwpDocument::RegisterStylesInPara() { //Register all automatic styles in para - LwpHeadContent* pContent = dynamic_cast<LwpHeadContent*> (m_pFoundry->GetContentManager()->GetContentList()->obj()); + LwpHeadContent* pContent = dynamic_cast<LwpHeadContent*> (m_pFoundry->GetContentManager()->GetContentList()->obj().get()); if(pContent) { - LwpStory* pStory = dynamic_cast<LwpStory*>(pContent->GetChildHead()->obj(VO_STORY)); + LwpStory* pStory = dynamic_cast<LwpStory*>(pContent->GetChildHead()->obj(VO_STORY).get()); while(pStory) { //Register the child para pStory->SetFoundry(m_pFoundry); pStory->RegisterStyle(); - pStory = dynamic_cast<LwpStory*>(pStory->GetNext()->obj(VO_STORY)); + pStory = dynamic_cast<LwpStory*>(pStory->GetNext()->obj(VO_STORY).get()); } } } @@ -300,16 +300,16 @@ void LwpDocument::RegisterBulletStyles() { //Register bullet styles LwpDLVListHeadHolder* mBulletHead = dynamic_cast<LwpDLVListHeadHolder*> - (m_pFoundry->GetBulletManagerID()->obj(VO_HEADHOLDER)); + (m_pFoundry->GetBulletManagerID()->obj(VO_HEADHOLDER).get()); if( mBulletHead ) { LwpSilverBullet* pBullet = dynamic_cast<LwpSilverBullet*> - (mBulletHead->GetHeadID()->obj()); + (mBulletHead->GetHeadID()->obj().get()); while(pBullet) { pBullet->SetFoundry(m_pFoundry); pBullet->RegisterStyle(); - pBullet = dynamic_cast<LwpSilverBullet*> (pBullet->GetNext()->obj()); + pBullet = dynamic_cast<LwpSilverBullet*> (pBullet->GetNext()->obj().get()); } } } @@ -319,8 +319,8 @@ void LwpDocument::RegisterBulletStyles() void LwpDocument::RegisterGraphicsStyles() { //Register all graphics styles, the first object should register the next; - LwpObject* pGraphic = m_pFoundry->GetGraphicListHead()->obj(VO_GRAPHIC); - if(pGraphic) + rtl::Reference<LwpObject> pGraphic = m_pFoundry->GetGraphicListHead()->obj(VO_GRAPHIC); + if(pGraphic.is()) { pGraphic->SetFoundry(m_pFoundry); pGraphic->RegisterStyle(); @@ -344,7 +344,7 @@ void LwpDocument::RegisterFootnoteStyles() //Register footnote and endnote configuration for the entire document if(!m_FootnoteOpts.IsNull()) { - LwpFootnoteOptions* pFootnoteOpts = dynamic_cast<LwpFootnoteOptions*>(m_FootnoteOpts.obj()); + LwpFootnoteOptions* pFootnoteOpts = dynamic_cast<LwpFootnoteOptions*>(m_FootnoteOpts.obj().get()); if (pFootnoteOpts) { pFootnoteOpts->SetMasterPage("Endnote"); @@ -356,13 +356,13 @@ void LwpDocument::RegisterFootnoteStyles() LwpDocument* pEndnoteDiv = GetLastDivisionThatHasEndnote(); if(this == pEndnoteDiv) { - LwpDLVListHeadTailHolder* pHeadTail = dynamic_cast<LwpDLVListHeadTailHolder*>(GetPageHintsID()->obj()); + LwpDLVListHeadTailHolder* pHeadTail = dynamic_cast<LwpDLVListHeadTailHolder*>(GetPageHintsID()->obj().get()); if(pHeadTail) { - LwpPageHint* pPageHint = dynamic_cast<LwpPageHint*>(pHeadTail->GetTail()->obj()); + LwpPageHint* pPageHint = dynamic_cast<LwpPageHint*>(pHeadTail->GetTail()->obj().get()); if(pPageHint && !pPageHint->GetPageLayoutID()->IsNull()) { - LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pPageHint->GetPageLayoutID()->obj()); + LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pPageHint->GetPageLayoutID()->obj().get()); if(pPageLayout) { pPageLayout->SetFoundry(GetFoundry()); @@ -386,7 +386,7 @@ void LwpDocument::RegisterDefaultParaStyles() LwpDocument* pFirstDoc = GetFirstDivisionWithContentsThatIsNotOLE(); if(pFirstDoc) { - LwpVerDocument* pVerDoc = dynamic_cast<LwpVerDocument*>(pFirstDoc->GetVerDoc()->obj()); + LwpVerDocument* pVerDoc = dynamic_cast<LwpVerDocument*>(pFirstDoc->GetVerDoc()->obj().get()); if(pVerDoc) { pVerDoc->RegisterStyle(); @@ -403,11 +403,11 @@ void LwpDocument::RegisterDefaultParaStyles() void LwpDocument::ParseDocContent(IXFStream* pOutputStream) { //Parse content in PageLayout - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (m_DivInfo.obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (m_DivInfo.obj().get()); if(pDivInfo==NULL) return; - LwpObject* pLayoutObj = pDivInfo->GetInitialLayoutID()->obj(); - if(pLayoutObj==NULL) + rtl::Reference<LwpObject> pLayoutObj = pDivInfo->GetInitialLayoutID()->obj(); + if(!pLayoutObj.is()) { //master document not supported now. return; @@ -434,7 +434,7 @@ LwpObjectID* LwpDocument::GetValidFootnoteOpts() */ sal_uInt16 LwpDocument::GetEndnoteType() { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj().get()); if (!pDivInfo) return FN_DONTCARE; OUString strClassName = pDivInfo->GetClassName(); @@ -451,10 +451,10 @@ sal_uInt16 LwpDocument::GetEndnoteType() */ LwpDocument* LwpDocument::GetPreviousDivision() { - LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj()); + LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj().get()); if(pDocSock) { - return dynamic_cast<LwpDocument*>(pDocSock->GetPrevious()->obj()); + return dynamic_cast<LwpDocument*>(pDocSock->GetPrevious()->obj().get()); } return NULL; } @@ -463,10 +463,10 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetNextDivision() { - LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj()); + LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj().get()); if(pDocSock) { - return dynamic_cast<LwpDocument*>(pDocSock->GetNext()->obj()); + return dynamic_cast<LwpDocument*>(pDocSock->GetNext()->obj().get()); } return NULL; } @@ -475,10 +475,10 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetParentDivision() { - LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj()); + LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj().get()); if(pDocSock) { - return dynamic_cast<LwpDocument*>(pDocSock->GetParent()->obj()); + return dynamic_cast<LwpDocument*>(pDocSock->GetParent()->obj().get()); } return NULL; } @@ -491,7 +491,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() for (pPrev = GetPreviousDivision(); pPrev; pPrev = pPrev->GetPreviousDivision()) { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pPrev->GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pPrev->GetDivInfoID()->obj().get()); if(pDivInfo && pDivInfo->HasContents()) return pPrev; } @@ -506,7 +506,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() for (pNext = GetNextDivision(); pNext; pNext = pNext->GetNextDivision()) { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pNext->GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pNext->GetDivInfoID()->obj().get()); if(pDivInfo && pDivInfo->HasContents()) return pNext; } @@ -533,7 +533,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetLastDivisionWithContents() { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj().get()); if(pDivInfo && pDivInfo->HasContents()) { return this; @@ -564,7 +564,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() while (pNext) { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pNext->GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(pNext->GetDivInfoID()->obj().get()); if (pDivInfo && pDivInfo->HasContents()) pLast = pNext; pNext = pNext->GetNextInGroup(); @@ -578,9 +578,9 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetLastDivision() { - LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj()); + LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj().get()); if(pDocSock) - return dynamic_cast<LwpDocument*>(pDocSock->GetChildTail()->obj()); + return dynamic_cast<LwpDocument*>(pDocSock->GetChildTail()->obj().get()); return NULL; } @@ -589,9 +589,9 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetFirstDivision() { - LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj()); + LwpDocSock* pDocSock = dynamic_cast<LwpDocSock*>(GetSocket()->obj().get()); if(pDocSock) - return dynamic_cast<LwpDocument*>(pDocSock->GetChildHead()->obj()); + return dynamic_cast<LwpDocument*>(pDocSock->GetChildHead()->obj().get()); return NULL; } @@ -614,7 +614,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpDocument* LwpDocument::GetFirstDivisionWithContentsThatIsNotOLE() { - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(GetDivInfoID()->obj().get()); if(pDivInfo && pDivInfo->HasContents() && !pDivInfo->IsOleDivision()) return this; @@ -653,7 +653,7 @@ LwpDocument* LwpDocument::GetPreviousDivision() */ LwpVirtualLayout* LwpDocument::GetEnSuperTableLayout() { - LwpHeadLayout* pHeadLayout = dynamic_cast<LwpHeadLayout*>(GetFoundry()->GetLayout()->obj()); + LwpHeadLayout* pHeadLayout = dynamic_cast<LwpHeadLayout*>(GetFoundry()->GetLayout()->obj().get()); if(pHeadLayout) { return pHeadLayout->FindEnSuperTableLayout(); @@ -669,7 +669,7 @@ bool LwpDocument::GetNumberOfPages(LwpDocument* pEndDivision, sal_uInt16& nCount if(this == pEndDivision) return true; - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(m_DivInfo.obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(m_DivInfo.obj().get()); if(pDivInfo) { pDivInfo->GetNumberOfPages(nCount); @@ -704,7 +704,7 @@ sal_uInt16 LwpDocument::GetNumberOfPagesBefore() { LwpDocument* pDivision = GetFirstDivision(); - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(m_DivInfo.obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*>(m_DivInfo.obj().get()); if(pDivInfo) nNumPages += pDivInfo->GetMaxNumberOfPages(); while(pDivision) @@ -737,13 +737,13 @@ void LwpDocument::XFConvertFrameInPage(XFContentContainer * pCont) { LwpDocument* pDivision = GetFirstDivision(); - LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (GetDivInfoID()->obj()); + LwpDivInfo* pDivInfo = dynamic_cast<LwpDivInfo*> (GetDivInfoID()->obj().get()); if(pDivInfo) { - LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pDivInfo->GetInitialLayoutID()->obj()); + LwpPageLayout* pPageLayout = dynamic_cast<LwpPageLayout*>(pDivInfo->GetInitialLayoutID()->obj().get()); if(pPageLayout) { - LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj()); + LwpStory* pStory = dynamic_cast<LwpStory*>(pPageLayout->GetContent()->obj().get()); if(pStory) pStory->XFConvertFrameInPage(pCont); } @@ -784,12 +784,12 @@ void LwpDocSock::Read() */ void LwpDocSock::RegisterStyle() { - LwpObject* pDoc = GetNext()->obj(); - if(pDoc) + rtl::Reference<LwpObject> pDoc = GetNext()->obj(); + if(pDoc.is()) pDoc->RegisterStyle(); pDoc = GetChildHead()->obj(); - if(pDoc) + if(pDoc.is()) pDoc->RegisterStyle(); } /** @@ -797,12 +797,12 @@ void LwpDocSock::RegisterStyle() */ void LwpDocSock::Parse(IXFStream* pOutputStream) { - LwpObject* pDoc = GetChildHead()->obj(); - if(pDoc) + rtl::Reference<LwpObject> pDoc = GetChildHead()->obj(); + if(pDoc.is()) pDoc->Parse(pOutputStream); pDoc = GetNext()->obj(); - if(pDoc) + if(pDoc.is()) pDoc->Parse(pOutputStream); } |