sc/inc/attarray.hxx | 3 --- sc/inc/column.hxx | 1 - sc/source/core/data/attarray.cxx | 15 --------------- sc/source/core/data/column.cxx | 5 ----- sc/source/core/data/table3.cxx | 6 ++++-- sc/source/filter/html/htmlpars.cxx | 1 + 6 files changed, 5 insertions(+), 26 deletions(-)
New commits: commit 0d21d9ddbe0561f45419ae4fc376c312565b413b Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sun Jul 15 03:42:27 2012 +0200 prevent double delete in calc's html parser, fdo#52107 Change-Id: I0a203a39697d3b12304e4b9dc99714cd7b2a008c diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 7bdd8d2..d913865 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -554,6 +554,7 @@ void ScHTMLLayoutParser::Adjust() nCurRow = pS->nCurRow; } delete pS; + pS = NULL; nTab = pE->nTab; if (pTables) { commit 42cb26ba2b69cc4b10c28f07da4ee3f1e63c6af3 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sun Jul 15 03:27:36 2012 +0200 Revert "don't delete ScPatternAttr from doc pool for swap, i#118877" This reverts commit 902082656655aeab559c0b5781907ff004179468. diff --git a/sc/inc/attarray.hxx b/sc/inc/attarray.hxx index 6ce325a..9b81440 100644 --- a/sc/inc/attarray.hxx +++ b/sc/inc/attarray.hxx @@ -131,9 +131,6 @@ public: void SetPattern( SCROW nRow, const ScPatternAttr* pPattern, bool bPutToPool = false ); void SetPatternArea( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr* pPattern, bool bPutToPool = false, ScEditDataArray* pDataArray = NULL ); - - //swap two column patterns without adding and removing them from the pool - void SwapPattern( ScAttrArray& pArray2, SCROW nRow1, SCROW nRow2, const ScPatternAttr* pPattern1, const ScPatternAttr* pPattern2 ); void ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, ScStyleSheet* pStyle ); void ApplyCacheArea( SCROW nStartRow, SCROW nEndRow, SfxItemPoolCache* pCache, ScEditDataArray* pDataArray = NULL ); diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 49ab814..6f776e1 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -307,7 +307,6 @@ public: ScEditDataArray* pDataArray = NULL ); bool SetAttrEntries(ScAttrEntry* pData, SCSIZE nSize); void SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr, bool bPutToPool = false ); - void SwapPattern( ScColumn& rCol, SCROW nRow1, SCROW nRow2, const ScPatternAttr& rPatAttr1, const ScPatternAttr& rPatAttr2 ); void SetPatternArea( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr& rPatAttr, bool bPutToPool = false ); void ApplyPatternIfNumberformatIncompatible( const ScRange& rRange, diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx index e166ea2..6cf487f 100644 --- a/sc/source/core/data/attarray.cxx +++ b/sc/source/core/data/attarray.cxx @@ -483,21 +483,6 @@ void ScAttrArray::SetPatternArea(SCROW nStartRow, SCROW nEndRow, const ScPattern #endif } -void ScAttrArray::SwapPattern( ScAttrArray& rArray2, SCROW nRow1, SCROW nRow2, const ScPatternAttr* pPattern1, const ScPatternAttr* pPattern2) -{ - if(!VALIDROW(nRow1) || !VALIDROW(nRow2)) - return; - - SCSIZE nIndex1 = 0; - SCSIZE nIndex2 = 0; - Search(nRow1, nIndex1); - rArray2.Search(nRow2, nIndex2); - pData[nIndex1].pPattern = pPattern1; - rArray2.pData[nIndex2].pPattern = pPattern2; - - if (pDocument->IsStreamValid(nTab)) - pDocument->SetStreamValid(nTab, false); -} void ScAttrArray::ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, ScStyleSheet* pStyle ) { diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index adc5eb2..db99462 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -652,11 +652,6 @@ void ScColumn::SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr, bool bPutT pAttrArray->SetPattern( nRow, &rPatAttr, bPutToPool ); } -void ScColumn::SwapPattern( ScColumn& rCol2, SCROW nRow1, SCROW nRow2, const ScPatternAttr& rPatAttr1, const ScPatternAttr& rPatAttr2 ) -{ - pAttrArray->SwapPattern( *rCol2.pAttrArray, nRow1, nRow2, &rPatAttr1, &rPatAttr2 ); -} - void ScColumn::SetPatternArea( SCROW nStartRow, SCROW nEndRow, const ScPatternAttr& rPatAttr, bool bPutToPool ) diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 6a140cd..85354f3 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -571,7 +571,8 @@ void ScTable::SwapCol(SCCOL nCol1, SCCOL nCol2) const ScPatternAttr* pPat2 = GetPattern(nCol2, nRow); if (pPat1 != pPat2) { - aCol[nCol1].SwapPattern(aCol[nCol2], nRow, nRow, *pPat1, *pPat2); + SetPattern(nCol1, nRow, *pPat2, true); + SetPattern(nCol2, nRow, *pPat1, true); } } } @@ -622,7 +623,8 @@ void ScTable::SwapRow(SCROW nRow1, SCROW nRow2) const ScPatternAttr* pPat2 = GetPattern(nCol, nRow2); if (pPat1 != pPat2) { - aCol[nCol].SwapPattern(aCol[nCol], nRow1, nRow2, *pPat1, *pPat2); + SetPattern(nCol, nRow1, *pPat2, true); + SetPattern(nCol, nRow2, *pPat1, true); } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits