diff options
author | Eike Rathke <erack@redhat.com> | 2014-07-11 18:35:39 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-07-15 16:05:55 +0000 |
commit | 8073e91a9f89ab313ae4de86b5909ff3a16594e5 (patch) | |
tree | 819bbcbef25eeaaba90938cd685ab9006b779d60 | |
parent | bf1ca8bbbf94fe9ca6251b56388415dfdf26f605 (diff) |
resolved fdo#79441 keep 3D references intact during sort
Change-Id: I9e96d8e7cb99a3c280dd24495eefb9efd6d10888
(cherry picked from commit e463de2a56453a0d2cb0b5b58e96f7639f37cdd1)
Reviewed-on: https://gerrit.libreoffice.org/10239
Reviewed-by: Muthu Subramanian K <muthusuba@gmail.com>
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-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 11c5cb1ecf3c..49b20b120f72 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 af6aed4f12f0..2ff6079e4e35 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -841,9 +841,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 b5447116834e..1b2f86cc10e1 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -683,7 +683,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; |