summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-11 18:35:39 +0200
committerKohei Yoshida <libreoffice@kohei.us>2014-07-14 14:53:46 +0000
commit2d5e4e5a551ac7c2329f21327ff4c4aa8582d154 (patch)
tree236e0a690f28313383bd182de0d3a11d481cb54b
parentb8d8ec78c3e242d94963beef5aff6335f047ef59 (diff)
resolved fdo#79441 keep 3D references intact during sort
Change-Id: I9e96d8e7cb99a3c280dd24495eefb9efd6d10888 (cherry picked from commit e463de2a56453a0d2cb0b5b58e96f7639f37cdd1) Reviewed-on: https://gerrit.libreoffice.org/10240 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Kohei Yoshida <libreoffice@kohei.us>
-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;