summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-11 18:35:39 +0200
committerCaolán McNamara <caolanm@redhat.com>2014-07-22 14:01:43 +0000
commit8c215cdd57dac801a255c84c41c9fd8be5ff8f19 (patch)
tree6eb8a81ee81967e15cabdd5daeb2333a921128db
parent9e83928e4dd65a1cf570f9cea65f456bd089ea33 (diff)
resolved fdo#79441 keep 3D references intact during sort
Change-Id: I9e96d8e7cb99a3c280dd24495eefb9efd6d10888 (cherry picked from commit e463de2a56453a0d2cb0b5b58e96f7639f37cdd1) Reviewed-on: https://gerrit.libreoffice.org/10241 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Reviewed-by: Muthu Subramanian K <muthusuba@gmail.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.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 326c4b8e9f11..2d25c9b576bb 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -160,7 +160,7 @@ public:
~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 d4324a39f2c5..139737238784 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -837,9 +837,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 5fceab25c78c..6a169ef2e335 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -682,7 +682,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;