summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-11 18:35:39 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-07-15 16:05:55 +0000
commit8073e91a9f89ab313ae4de86b5909ff3a16594e5 (patch)
tree819bbcbef25eeaaba90938cd685ab9006b779d60
parentbf1ca8bbbf94fe9ca6251b56388415dfdf26f605 (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.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 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;