[Libreoffice-commits] core.git: sw/source
Caolán McNamara
caolanm at redhat.com
Thu Jul 6 13:17:41 UTC 2017
sw/source/filter/ww8/ww8graf.cxx | 4 ++--
sw/source/filter/ww8/ww8par.cxx | 23 +++++++++++------------
sw/source/filter/ww8/ww8par.hxx | 2 +-
sw/source/filter/ww8/ww8par5.cxx | 20 ++++++++++----------
4 files changed, 24 insertions(+), 25 deletions(-)
New commits:
commit fb7c1d512f26a40a3829464cad520a88eb8bebba
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Jul 6 10:15:45 2017 +0100
ofz: fix some leaks
Change-Id: I908114f12257fdd287cce9a108d5fb2dc7b6a8bf
Reviewed-on: https://gerrit.libreoffice.org/39636
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx
index 934c7952c0b9..4932fee0776b 100644
--- a/sw/source/filter/ww8/ww8graf.cxx
+++ b/sw/source/filter/ww8/ww8graf.cxx
@@ -572,7 +572,7 @@ void SwWW8ImplReader::InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp,
paragraph mark as part of the paragraph text.
*/
WW8ReaderSave aSave(this);
- m_xPlcxMan.reset(new WW8PLCFMan(m_pSBase, eType, nStartCp, true));
+ m_xPlcxMan.reset(new WW8PLCFMan(m_xSBase.get(), eType, nStartCp, true));
WW8_CP nStart = m_xPlcxMan->Where();
WW8_CP nNext, nStartReplace=0;
@@ -870,7 +870,7 @@ sal_Int32 SwWW8ImplReader::GetRangeAsDrawingString(OUString& rString, long nStar
else if (nStartCp < nEndCp)
{
// read the text: can be split into multiple pieces
- const sal_Int32 nLen = m_pSBase->WW8ReadString(*m_pStrm, rString,
+ const sal_Int32 nLen = m_xSBase->WW8ReadString(*m_pStrm, rString,
nStartCp + nOffset, nEndCp - nStartCp, GetCurrentCharSet());
OSL_ENSURE(nLen, "+where's the text graphic (8)?");
if (nLen>0)
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 322d14e22b2a..155ae68b304e 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -2012,7 +2012,7 @@ WW8ReaderSave::WW8ReaderSave(SwWW8ImplReader* pRdr ,WW8_CP nStartCp) :
if (nStartCp != -1)
{
- pRdr->m_xPlcxMan.reset(new WW8PLCFMan(pRdr->m_pSBase,
+ pRdr->m_xPlcxMan.reset(new WW8PLCFMan(pRdr->m_xSBase.get(),
mxOldPlcxMan->GetManType(), nStartCp));
}
@@ -2586,7 +2586,7 @@ bool SwWW8ImplReader::ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
// Table is considered to be imported into a fly frame and we
// know where the end of the table is.
bool bIsUnicode;
- WW8_FC nFc = m_pSBase->WW8Cp2Fc(pPap->Where(), &bIsUnicode);
+ WW8_FC nFc = m_xSBase->WW8Cp2Fc(pPap->Where(), &bIsUnicode);
sal_uInt64 nPos = m_pStrm->Tell();
m_pStrm->Seek(nFc);
sal_uInt16 nUChar = 0;
@@ -2931,7 +2931,7 @@ bool SwWW8ImplReader::ReadPlainChars(WW8_CP& rPos, sal_Int32 nEnd, sal_Int32 nCp
if (nRequestedStrLen <= 0)
return true;
- sal_Int32 nRequestedPos = m_pSBase->WW8Cp2Fc(nCpOfs+rPos, &m_bIsUnicode);
+ sal_Int32 nRequestedPos = m_xSBase->WW8Cp2Fc(nCpOfs+rPos, &m_bIsUnicode);
bool bValidPos = checkSeek(*m_pStrm, nRequestedPos);
OSL_ENSURE(bValidPos, "Document claimed to have more text than available");
if (!bValidPos)
@@ -3459,7 +3459,7 @@ bool SwWW8ImplReader::ReadChar(long nPosCp, long nCpOfs)
// Reset Unicode flag and correct FilePos if needed.
// Note: Seek is not expensive, as we're checking inline whether or not
// the correct FilePos has already been reached.
- std::size_t nRequestedPos = m_pSBase->WW8Cp2Fc(nCpOfs+nPosCp, &m_bIsUnicode);
+ std::size_t nRequestedPos = m_xSBase->WW8Cp2Fc(nCpOfs+nPosCp, &m_bIsUnicode);
if (!checkSeek(*m_pStrm, nRequestedPos))
return false;
@@ -3786,7 +3786,7 @@ long SwWW8ImplReader::ReadTextAttr(WW8_CP& rTextPos, long nTextEnd, bool& rbStar
}
}
- sal_Int32 nRequestedPos = m_pSBase->WW8Cp2Fc(m_xPlcxMan->GetCpOfs() + rTextPos, &m_bIsUnicode);
+ sal_Int32 nRequestedPos = m_xSBase->WW8Cp2Fc(m_xPlcxMan->GetCpOfs() + rTextPos, &m_bIsUnicode);
bool bValidPos = checkSeek(*m_pStrm, nRequestedPos);
SAL_WARN_IF(!bValidPos, "sw.ww8", "Document claimed to have text at an invalid position, skip attributes for region");
@@ -3930,7 +3930,7 @@ bool SwWW8ImplReader::ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
m_bSpec = false;
m_bPgSecBreak = false;
- m_xPlcxMan.reset(new WW8PLCFMan(m_pSBase, nType, nStartCp));
+ m_xPlcxMan.reset(new WW8PLCFMan(m_xSBase.get(), nType, nStartCp));
long nCpOfs = m_xPlcxMan->GetCpOfs(); // Offset for Header/Footer, Footnote
WW8_CP nNext = m_xPlcxMan->Where();
@@ -3938,7 +3938,7 @@ bool SwWW8ImplReader::ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
sal_uInt8 nDropLines = 0;
SwCharFormat* pNewSwCharFormat = nullptr;
const SwCharFormat* pFormat = nullptr;
- m_pStrm->Seek( m_pSBase->WW8Cp2Fc( nStartCp + nCpOfs, &m_bIsUnicode ) );
+ m_pStrm->Seek(m_xSBase->WW8Cp2Fc(nStartCp + nCpOfs, &m_bIsUnicode));
WW8_CP l = nStartCp;
const WW8_CP nMaxPossible = WW8_CP_MAX-nStartCp;
@@ -4143,7 +4143,6 @@ SwWW8ImplReader::SwWW8ImplReader(sal_uInt8 nVersionPara, SotStorage* pStorage,
, m_pPostProcessAttrsInfo(nullptr)
, m_pWwFib(nullptr)
, m_pLstManager(nullptr)
- , m_pSBase(nullptr)
, m_aTextNodesHavingFirstLineOfstSet()
, m_aTextNodesHavingLeftIndentSet()
, m_pAktColl(nullptr)
@@ -5010,7 +5009,7 @@ ErrCode SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss)
if (!m_vColl.empty())
SetOutlineStyles();
- m_pSBase = new WW8ScannerBase(m_pStrm,m_pTableStream,m_pDataStream,m_pWwFib);
+ m_xSBase.reset(new WW8ScannerBase(m_pStrm,m_pTableStream,m_pDataStream,m_pWwFib));
static const SvxNumType eNumTA[16] =
{
@@ -5022,7 +5021,7 @@ ErrCode SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss)
SVX_NUM_ARABIC, SVX_NUM_ARABIC
};
- if (m_pSBase->AreThereFootnotes())
+ if (m_xSBase->AreThereFootnotes())
{
static const SwFootnoteNum eNumA[4] =
{
@@ -5040,7 +5039,7 @@ ErrCode SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss)
aInfo.nFootnoteOffset = m_xWDop->nFootnote - 1;
m_rDoc.SetFootnoteInfo( aInfo );
}
- if( m_pSBase->AreThereEndnotes() )
+ if (m_xSBase->AreThereEndnotes())
{
SwEndNoteInfo aInfo;
aInfo = m_rDoc.GetEndNoteInfo(); // Same as for Footnote
@@ -5244,7 +5243,7 @@ ErrCode SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss)
GrafikDtor();
DELETEZ( m_pMSDffManager );
m_xHdFt.reset();
- DELETEZ( m_pSBase );
+ m_xSBase.reset();
m_xWDop.reset();
m_xFonts.reset();
delete m_pAtnNames;
diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx
index 5c4e29f40979..94aaf66325e0 100644
--- a/sw/source/filter/ww8/ww8par.hxx
+++ b/sw/source/filter/ww8/ww8par.hxx
@@ -1197,7 +1197,7 @@ private:
std::unique_ptr<WW8Fonts> m_xFonts;
std::unique_ptr<WW8Dop> m_xWDop;
WW8ListManager* m_pLstManager;
- WW8ScannerBase* m_pSBase;
+ std::unique_ptr<WW8ScannerBase> m_xSBase;
std::shared_ptr<WW8PLCFMan> m_xPlcxMan;
std::map<short, OUString> m_aLinkStringMap;
diff --git a/sw/source/filter/ww8/ww8par5.cxx b/sw/source/filter/ww8/ww8par5.cxx
index e982db6f8b9b..26191ca0ca20 100644
--- a/sw/source/filter/ww8/ww8par5.cxx
+++ b/sw/source/filter/ww8/ww8par5.cxx
@@ -160,7 +160,7 @@ long SwWW8ImplReader::Read_Book(WW8PLCFManResult*)
nLen = MAX_FIELDLEN;
long nOldPos = m_pStrm->Tell();
- m_pSBase->WW8ReadString( *m_pStrm, aVal, pB->GetStartPos(), nLen,
+ m_xSBase->WW8ReadString( *m_pStrm, aVal, pB->GetStartPos(), nLen,
m_eStructCharSet );
m_pStrm->Seek( nOldPos );
@@ -904,7 +904,7 @@ long SwWW8ImplReader::Read_Field(WW8PLCFManResult* pRes)
bHasHandler = false;
sal_uInt64 nOldPos = m_pStrm->Tell();
OUString aStr;
- aF.nLCode = m_pSBase->WW8ReadString(*m_pStrm, aStr, m_xPlcxMan->GetCpOfs() + aF.nSCode, aF.nLCode, m_eTextCharSet);
+ aF.nLCode = m_xSBase->WW8ReadString(*m_pStrm, aStr, m_xPlcxMan->GetCpOfs() + aF.nSCode, aF.nLCode, m_eTextCharSet);
m_pStrm->Seek(nOldPos);
WW8ReadFieldParams aReadParam(aStr);
@@ -933,7 +933,7 @@ long SwWW8ImplReader::Read_Field(WW8PLCFManResult* pRes)
long nOldPos = m_pStrm->Tell();
OUString aStr;
- aF.nLCode = m_pSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs()+
+ aF.nLCode = m_xSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs()+
aF.nSCode, aF.nLCode, m_eTextCharSet );
m_pStrm->Seek( nOldPos );
@@ -967,12 +967,12 @@ long SwWW8ImplReader::Read_Field(WW8PLCFManResult* pRes)
if ( aF.nId == 6 && aF.bCodeNest )
{
// TODO Extract the whole code string using the nested codes
- aF.nLCode = m_pSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs() +
+ aF.nLCode = m_xSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs() +
aF.nSCode, aF.nSRes - aF.nSCode - 1, m_eTextCharSet );
}
else
{
- aF.nLCode = m_pSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs()+
+ aF.nLCode = m_xSBase->WW8ReadString( *m_pStrm, aStr, m_xPlcxMan->GetCpOfs()+
aF.nSCode, aF.nLCode, m_eTextCharSet );
}
@@ -1117,7 +1117,7 @@ long SwWW8ImplReader::Read_F_Tag( WW8FieldDesc* pF )
nL = MAX_FIELDLEN; // MaxLength, by quoting
// max. 4 times as big
OUString sFText;
- m_pSBase->WW8ReadString( *m_pStrm, sFText,
+ m_xSBase->WW8ReadString( *m_pStrm, sFText,
m_xPlcxMan->GetCpOfs() + nStart, nL, m_eStructCharSet);
OUString aTagText;
@@ -1181,7 +1181,7 @@ OUString SwWW8ImplReader::GetFieldResult( WW8FieldDesc* pF )
// max. 4 times as big
OUString sRes;
- m_pSBase->WW8ReadString( *m_pStrm, sRes, m_xPlcxMan->GetCpOfs() + nStart,
+ m_xSBase->WW8ReadString( *m_pStrm, sRes, m_xPlcxMan->GetCpOfs() + nStart,
nL, m_eStructCharSet );
m_pStrm->Seek( nOldPos );
@@ -2514,7 +2514,7 @@ eF_ResT SwWW8ImplReader::Read_F_DBField( WW8FieldDesc* pF, OUString& rStr )
aField.SetFieldCode( rStr );
OUString aResult;
- m_pSBase->WW8ReadString( *m_pStrm, aResult, m_xPlcxMan->GetCpOfs()+
+ m_xSBase->WW8ReadString( *m_pStrm, aResult, m_xPlcxMan->GetCpOfs()+
pF->nSRes, pF->nLRes, m_eTextCharSet );
aResult = aResult.replace( '\xb', '\n' );
@@ -3637,7 +3637,7 @@ void SwWW8ImplReader::Read_FieldVanish( sal_uInt16, const sal_uInt8*, short nLen
WW8_CP nStartCp = m_xPlcxMan->Where() + m_xPlcxMan->GetCpOfs();
OUString sFieldName;
- sal_Int32 nFieldLen = m_pSBase->WW8ReadString( *m_pStrm, sFieldName, nStartCp,
+ sal_Int32 nFieldLen = m_xSBase->WW8ReadString( *m_pStrm, sFieldName, nStartCp,
nChunk, m_eStructCharSet );
nStartCp+=nFieldLen;
@@ -3663,7 +3663,7 @@ void SwWW8ImplReader::Read_FieldVanish( sal_uInt16, const sal_uInt8*, short nLen
if (nFnd != -1)
break;
OUString sTemp;
- nFieldLen = m_pSBase->WW8ReadString( *m_pStrm, sTemp,
+ nFieldLen = m_xSBase->WW8ReadString( *m_pStrm, sTemp,
nStartCp, nChunk, m_eStructCharSet );
sFieldName+=sTemp;
nStartCp+=nFieldLen;
More information about the Libreoffice-commits
mailing list