[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Fri May 23 13:07:38 PDT 2014


 sc/source/core/data/column3.cxx |   22 ----------------------
 1 file changed, 22 deletions(-)

New commits:
commit 9d8f8074edbb63db467cc451c0596585e2f0422c
Author: Kohei Yoshida <kohei.yoshida at 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 <erack at redhat.com>
    Tested-by: Eike Rathke <erack at 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 )


More information about the Libreoffice-commits mailing list