sc/source/core/data/column4.cxx | 7 ++++++- sc/source/core/data/table3.cxx | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-)
New commits: commit 59e7789744c99b6431461f14694b6f9ab2492a80 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Thu Sep 18 12:13:13 2014 -0400 fdo#83764: Ensure that the row position is below MAXROW. When attempting to split formula groups, else multi_type_vector would try to locate a block outside its logical range. Change-Id: I424ede112138de459b5ba3bff5e021c4407ccf3d (cherry picked from commit 0ef6263ed2b31b8f9e431971e6c5e8928996c1c8) Reviewed-on: https://gerrit.libreoffice.org/11518 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index 3f26db1..93fca48 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -916,11 +916,16 @@ public: void ScColumn::SplitFormulaGroupByRelativeRef( const ScRange& rBoundRange ) { + if (rBoundRange.aStart.Row() >= MAXROW) + // Nothing to split. + return; + std::vector<SCROW> aBounds; // Cut at row boundaries first. aBounds.push_back(rBoundRange.aStart.Row()); - aBounds.push_back(rBoundRange.aEnd.Row()+1); + if (rBoundRange.aEnd.Row() < MAXROW) + aBounds.push_back(rBoundRange.aEnd.Row()+1); sc::SharedFormulaUtil::splitFormulaCellGroups(maCells, aBounds); RelativeRefBoundChecker aFunc(rBoundRange); diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 613cb1f..c5bfe75 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -772,8 +772,11 @@ void ScTable::SortReorderByColumn( sc::CellStoreType& rCells = aCol[nCol].maCells; sc::CellStoreType::position_type aPos = rCells.position(nRow1); sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); - aPos = rCells.position(aPos.first, nRow2+1); - sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); + if (nRow2 < MAXROW) + { + aPos = rCells.position(aPos.first, nRow2+1); + sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); + } } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits