diff options
author | Eike Rathke <erack@redhat.com> | 2014-07-11 18:35:39 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2014-07-11 18:41:37 +0200 |
commit | e463de2a56453a0d2cb0b5b58e96f7639f37cdd1 (patch) | |
tree | c5d9771c2baa8bc941e75ede12ba9f4bb98156ca | |
parent | bce99945d8bf764bfd40183a709142e0ea6b36ac (diff) |
resolved fdo#79441 keep 3D references intact during sort
Change-Id: I9e96d8e7cb99a3c280dd24495eefb9efd6d10888
-rw-r--r-- | sc/inc/formulacell.hxx | 2 | ||||
-rw-r--r-- | sc/source/core/data/formulacell.cxx | 4 | ||||
-rw-r--r-- | sc/source/core/data/table3.cxx | 3 |
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; |