summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-07-15 03:27:36 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-07-15 03:44:02 +0200
commit42cb26ba2b69cc4b10c28f07da4ee3f1e63c6af3 (patch)
tree054d036c43a86edb4ad1c09d5c3495c85393c8e8
parent146b507f9f52daa7378aaeddf6725b9ab129af61 (diff)
Revert "don't delete ScPatternAttr from doc pool for swap, i#118877"
-rw-r--r--sc/inc/attarray.hxx3
-rw-r--r--sc/inc/column.hxx1
-rw-r--r--sc/source/core/data/attarray.cxx15
-rw-r--r--sc/source/core/data/column.cxx5
-rw-r--r--sc/source/core/data/table3.cxx6
5 files changed, 4 insertions, 26 deletions
diff --git a/sc/inc/attarray.hxx b/sc/inc/attarray.hxx
index 6ce325a7c092..9b81440b668d 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 49ab8143e11a..6f776e1cc810 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 e166ea233c68..6cf487fb612b 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 adc5eb2c6074..db994622f3cb 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 6a140cdaf0a4..85354f3bb27d 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);
}
}
}