sc/source/core/data/column3.cxx | 22 ---------------------- 1 file changed, 22 deletions(-)
New commits: commit 9d8f8074edbb63db467cc451c0596585e2f0422c Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Thu May 22 20:56:04 2014 -0400 fdo#78903: Don't broadcast prematurely during cell deletion. We need to wait until all the affected cells get marked dirty at the end of the deletion process. Change-Id: I49618fcc386ec2209f5f0267d50257ecb8dd21d1 (cherry picked from commit cb167ac784f9b16944da4494b65e56b2a5b66bb7) Reviewed-on: https://gerrit.libreoffice.org/9443 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index cbb38d7..c7b157e 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -169,11 +169,6 @@ public: maRows.push_back(i + nTopRow); } - void endFormulas() - { - mrDoc.EndListeningFormulaCells(maFormulaCells); - } - const std::vector<SCROW>& getNonEmptyRows() const { return maRows; @@ -266,12 +261,6 @@ void ScColumn::DeleteRow( SCROW nStartRow, SCSIZE nSize ) sc::AutoCalcSwitch aACSwitch(*pDocument, false); - // Parse all non-empty cells in the range to pick up their row positions, - // and end all formula cells. - DeleteRowsHandler aDeleteRowsFunc(*pDocument); - sc::ProcessFormula(itCell, maCells, nStartRow, nEndRow, aDeleteRowsFunc, aDeleteRowsFunc); - aDeleteRowsFunc.endFormulas(); - // Remove the cells. maCells.erase(nStartRow, nEndRow); maCells.resize(MAXROWCOUNT); @@ -285,22 +274,11 @@ void ScColumn::DeleteRow( SCROW nStartRow, SCSIZE nSize ) sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); - // Single cell broadcasts on deleted cells. - BroadcastCells(aDeleteRowsFunc.getNonEmptyRows(), SC_HINT_DATACHANGED); - // Shift the text attribute array too (before the broadcast). maCellTextAttrs.erase(nStartRow, nEndRow); maCellTextAttrs.resize(MAXROWCOUNT); CellStorageModified(); - - if (!bShiftCells) - return; - - // Do area broadcast on the old non-empty cell ranges prior to the shift. - sc::SingleColumnSpanSet::SpansType aSpans; - aNonEmptySpans.getSpans(aSpans); - std::for_each(aSpans.begin(), aSpans.end(), RangeBroadcaster(*pDocument, nTab, nCol)); } sc::CellStoreType::iterator ScColumn::GetPositionToInsert( SCROW nRow ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits