[Libreoffice-commits] .: sw/source
Michael Stahl
mst at kemper.freedesktop.org
Wed Jun 20 15:27:07 PDT 2012
sw/source/core/doc/doc.cxx | 5 +++--
sw/source/core/doc/docnew.cxx | 18 +++++++++---------
sw/source/core/unocore/unotext.cxx | 2 +-
sw/source/filter/basflt/shellio.cxx | 5 ++++-
4 files changed, 17 insertions(+), 13 deletions(-)
New commits:
commit d3fe01de1e004ecf1af1d28d48cc53cf25457e72
Author: Michael Stahl <mstahl at redhat.com>
Date: Thu Jun 21 00:20:03 2012 +0200
fix problems in 1015cd4ff73ee25e55b4da8c8bc55a41e652da87:
- inverted check in SwDoc::RemoveInvisibleContent
- various too short end positions in DeleteAndDestroy calls in
SwDoc::~SwDoc and SwDoc::ClearDoc
- std::copy to begin() of empty vector in SwReader::Read replaced
with std::back_inserter; the vector is used as a set here so the
end position should work just as well
Change-Id: Ib2ddd788fade4ee1a8beb702d5321c503985fba4
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index cd2804d..bdacd9a 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -2245,8 +2245,9 @@ bool SwDoc::RemoveInvisibleContent()
pParent = pTmp;
}
- SwSectionFmts::iterator it = std::find( aSectFmts.begin(), aSectFmts.end(), pSect->GetFmt() );
- if ( it != aSectFmts.end() )
+ SwSectionFmts::iterator it = std::find(
+ aSectFmts.begin(), aSectFmts.end(), pSect->GetFmt() );
+ if (it == aSectFmts.end())
aSectFmts.insert( aSectFmts.begin(), pSect->GetFmt() );
}
if( pSect->GetCondition().Len() )
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index e8b60c3..d95cbaa 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -632,14 +632,14 @@ SwDoc::~SwDoc()
// array, we should delete it as the last. With this we avoid
// remangling the Formats all the time!
if( 2 < pTxtFmtCollTbl->size() )
- DeleteAndDestroy( *pTxtFmtCollTbl, 2, pTxtFmtCollTbl->size()-2 );
- DeleteAndDestroy( *pTxtFmtCollTbl, 1, pTxtFmtCollTbl->size()-1 );
+ DeleteAndDestroy(*pTxtFmtCollTbl, 2, pTxtFmtCollTbl->size());
+ DeleteAndDestroy(*pTxtFmtCollTbl, 1, pTxtFmtCollTbl->size());
delete pTxtFmtCollTbl;
OSL_ENSURE( pDfltGrfFmtColl == (*pGrfFmtCollTbl)[0],
"DefaultGrfCollection must always be at the start" );
- DeleteAndDestroy( *pGrfFmtCollTbl, 1, pGrfFmtCollTbl->size()-1 );
+ DeleteAndDestroy(*pGrfFmtCollTbl, 1, pGrfFmtCollTbl->size());
// Is the result anyway - no _DEL array!
// pGrfFmtCollTbl->Remove( 0, n );
delete pGrfFmtCollTbl;
@@ -876,20 +876,20 @@ void SwDoc::ClearDoc()
// array, we should delete it as the last. With this we avoid
// remangling the Formats all the time!
if( 2 < pTxtFmtCollTbl->size() )
- DeleteAndDestroy( *pTxtFmtCollTbl, 2, pTxtFmtCollTbl->size()-2 );
- DeleteAndDestroy( *pTxtFmtCollTbl, 1, pTxtFmtCollTbl->size()-1 );
- DeleteAndDestroy( *pGrfFmtCollTbl, 1, pGrfFmtCollTbl->size()-1 );
- DeleteAndDestroy( *pCharFmtTbl, 1, pCharFmtTbl->size()-1 );
+ DeleteAndDestroy(*pTxtFmtCollTbl, 2, pTxtFmtCollTbl->size());
+ DeleteAndDestroy(*pTxtFmtCollTbl, 1, pTxtFmtCollTbl->size());
+ DeleteAndDestroy(*pGrfFmtCollTbl, 1, pGrfFmtCollTbl->size());
+ DeleteAndDestroy(*pCharFmtTbl, 1, pCharFmtTbl->size());
if( pCurrentView )
{
// search the FrameFormat of the root frm. This is not allowed to delete
pFrmFmtTbl->erase( std::find( pFrmFmtTbl->begin(), pFrmFmtTbl->end(), pCurrentView->GetLayout()->GetFmt() ) );
- DeleteAndDestroy( *pFrmFmtTbl, 1, pFrmFmtTbl->size()-1 );
+ DeleteAndDestroy(*pFrmFmtTbl, 1, pFrmFmtTbl->size());
pFrmFmtTbl->push_back( pCurrentView->GetLayout()->GetFmt() );
}
else //swmod 071029//swmod 071225
- DeleteAndDestroy( *pFrmFmtTbl, 1, pFrmFmtTbl->size()-1 );
+ DeleteAndDestroy(*pFrmFmtTbl, 1, pFrmFmtTbl->size());
xForbiddenCharsTable.clear();
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index a1043ef..c61db33 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -1668,7 +1668,7 @@ throw (lang::IllegalArgumentException, uno::RuntimeException)
// see if there are frames already anchored to this node
std::vector<SwFrmFmt*> aAnchoredFrames;
- for (int i = 0; i < (int)m_pImpl->m_pDoc->GetSpzFrmFmts()->size(); ++i)
+ for (size_t i = 0; i < m_pImpl->m_pDoc->GetSpzFrmFmts()->size(); ++i)
{
SwFrmFmt* pFrmFmt = (*m_pImpl->m_pDoc->GetSpzFrmFmts())[i];
const SwFmtAnchor& rAnchor = pFrmFmt->GetAnchor();
diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx
index 7cfe5e3..72eeeb3 100644
--- a/sw/source/filter/basflt/shellio.cxx
+++ b/sw/source/filter/basflt/shellio.cxx
@@ -168,7 +168,10 @@ sal_uLong SwReader::Read( const Reader& rOptions )
// Speicher mal alle Fly's
if( pCrsr )
- std::copy( pDoc->GetSpzFrmFmts()->begin(), pDoc->GetSpzFrmFmts()->end(), aFlyFrmArr.begin() );
+ {
+ std::copy(pDoc->GetSpzFrmFmts()->begin(),
+ pDoc->GetSpzFrmFmts()->end(), std::back_inserter(aFlyFrmArr));
+ }
xub_StrLen nSttCntnt = pPam->GetPoint()->nContent.GetIndex();
More information about the Libreoffice-commits
mailing list