summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-11 18:35:39 +0200
committerEike Rathke <erack@redhat.com>2014-07-11 18:41:37 +0200
commite463de2a56453a0d2cb0b5b58e96f7639f37cdd1 (patch)
treec5d9771c2baa8bc941e75ede12ba9f4bb98156ca
parentbce99945d8bf764bfd40183a709142e0ea6b36ac (diff)
resolved fdo#79441 keep 3D references intact during sort
Change-Id: I9e96d8e7cb99a3c280dd24495eefb9efd6d10888
-rw-r--r--sc/inc/formulacell.hxx2
-rw-r--r--sc/source/core/data/formulacell.cxx4
-rw-r--r--sc/source/core/data/table3.cxx3
3 files changed, 5 insertions, 4 deletions
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index 9e55aec7fd99..e13e2bb78a76 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -160,7 +160,7 @@ public:
virtual ~ScFormulaCell();
ScFormulaCell* Clone() const;
- ScFormulaCell* Clone( const ScAddress& rPos ) const;
+ ScFormulaCell* Clone( const ScAddress& rPos, int nCloneFlags ) const;
ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos );
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index c1fbfab03553..44d080741445 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -829,9 +829,9 @@ ScFormulaCell* ScFormulaCell::Clone() const
return new ScFormulaCell(*this, *pDocument, aPos);
}
-ScFormulaCell* ScFormulaCell::Clone( const ScAddress& rPos ) const
+ScFormulaCell* ScFormulaCell::Clone( const ScAddress& rPos, int nCloneFlags ) const
{
- return new ScFormulaCell(*this, *pDocument, rPos);
+ return new ScFormulaCell(*this, *pDocument, rPos, nCloneFlags);
}
size_t ScFormulaCell::GetHash() const
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 959a91953af7..72a066cf9e03 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -679,7 +679,8 @@ void ScTable::SortReorderByRow( ScSortInfoArray* pArray, ScProgress* pProgress )
{
assert(rCell.mpAttr);
size_t n = rCellStore.size();
- sc::CellStoreType::iterator itBlk = rCellStore.push_back(rCell.maCell.mpFormula->Clone(aCellPos));
+ sc::CellStoreType::iterator itBlk = rCellStore.push_back( rCell.maCell.mpFormula->Clone(
+ aCellPos, SC_CLONECELL_DEFAULT | SC_CLONECELL_ADJUST3DREL));
// Join the formula cells as we fill the container.
size_t nOffset = n - itBlk->position;