sc/source/core/data/column3.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
New commits: commit 6d9f0ed332aeb421d71b8cf1fb8baf9f8bededce Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Mon Jul 8 10:15:27 2013 -0400 Re-group formula cells in DeleteRow(). Change-Id: Ic67af048baa55cf1aee118ec741f140831127a95 diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index f39d1f8..e363ab0 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -296,9 +296,14 @@ void ScColumn::DeleteRow( SCROW nStartRow, SCSIZE nSize ) maCells.erase(nStartRow, nEndRow); maCells.resize(MAXROWCOUNT); + // Get the position again after the container change. + aPos = maCells.position(nStartRow); + // Shift the formula cell positions below the start row. ShiftFormulaPosHandler aShiftFormulaFunc; - sc::ProcessFormula(maCells.begin(), maCells, nStartRow, MAXROW, aShiftFormulaFunc); + sc::ProcessFormula(aPos.first, maCells, nStartRow, MAXROW, aShiftFormulaFunc); + + JoinFormulaCellAbove(aPos); // Single cell broadcasts on deleted cells. BroadcastCells(aDeleteRowsFunc.getNonEmptyRows()); @@ -307,7 +312,6 @@ void ScColumn::DeleteRow( SCROW nStartRow, SCSIZE nSize ) maCellTextAttrs.erase(nStartRow, nEndRow); maCellTextAttrs.resize(MAXROWCOUNT); - RegroupFormulaCells(nStartRow); CellStorageModified(); if (!bShiftCells) @@ -598,8 +602,6 @@ void ScColumn::JoinFormulaCellAbove( const sc::CellStoreType::position_type& aPo // cell is not a formula cell. return; - SCROW nRow = aPos.first->position + aPos.second; - ScFormulaCell& rPrev = *sc::formula_block::at(*aPos.first->data, aPos.second-1); ScFormulaCell& rCell = *sc::formula_block::at(*aPos.first->data, aPos.second); sc::CellStoreType::position_type aPosPrev = aPos; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits