[Libreoffice-commits] core.git: sc/source

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Tue Feb 23 16:48:31 UTC 2021


 sc/source/core/data/column3.cxx |   35 +----------------------------------
 1 file changed, 1 insertion(+), 34 deletions(-)

New commits:
commit f826d72cdf8bd243bba5b8b4f3ebdd5c3a3375a3
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Feb 23 13:52:56 2021 +0100
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Feb 23 17:47:30 2021 +0100

    Revert ""delete" also empty Calc cells if it helps mdds (tdf#139820)"
    
    It's much simpler to just delete in reverse order.
    
    This reverts commit 2ac0ab976f814e97a38a9685bc23b7255cfef2f2.
    
    Change-Id: I310ebb7d517cbfbb7a22206d3c04660097d4ae1f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111394
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index c3eb06afc497..14d1ebdc09c4 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -812,11 +812,6 @@ class DeleteAreaHandler
     bool mbDateTime:1;
     ScColumn& mrCol;
 
-    SCROW mLastToDeleteRow1;
-    SCROW mLastToDeleteRow2;
-    SCROW mLastEmptyRow1;
-    SCROW mLastEmptyRow2;
-
 public:
     DeleteAreaHandler(ScDocument& rDoc, InsertDeleteFlags nDelFlag, ScColumn& rCol) :
         mrDoc(rDoc),
@@ -825,12 +820,7 @@ public:
         mbString(nDelFlag & InsertDeleteFlags::STRING),
         mbFormula(nDelFlag & InsertDeleteFlags::FORMULA),
         mbDateTime(nDelFlag & InsertDeleteFlags::DATETIME),
-        mrCol(rCol),
-        mLastToDeleteRow1(-1),
-        mLastToDeleteRow2(-1),
-        mLastEmptyRow1(-1),
-        mLastEmptyRow2(-1)
-        {}
+        mrCol(rCol) {}
 
     void operator() (const sc::CellStoreType::value_type& node, size_t nOffset, size_t nDataSize)
     {
@@ -867,20 +857,6 @@ public:
             }
             break;
             case sc::element_type_empty:
-            {
-                // See usage below.
-                if( mLastToDeleteRow1 >= 0 )
-                {
-                    SCROW nRow1 = node.position + nOffset;
-                    SCROW nRow2 = nRow1 + nDataSize - 1;
-                    if( nRow1 == mLastToDeleteRow2 + 1 )
-                    {
-                        mLastEmptyRow1 = nRow1;
-                        mLastEmptyRow2 = nRow2;
-                    }
-                }
-                return;
-            }
             default:
                 return;
         }
@@ -888,16 +864,7 @@ public:
         // Tag these cells for deletion.
         SCROW nRow1 = node.position + nOffset;
         SCROW nRow2 = nRow1 + nDataSize - 1;
-        // tdf#139820: Decide whether to include 'empty' cells in the range to delete.
-        // This may make sense because if the column contains a mix of empty and non-empty
-        // cells, then deleting a range of those cells would normally make mdds operate
-        // on ranges of such cells, event though it could simply delete them all in one go.
-        if( mLastEmptyRow1 >= 0 && nRow1 == mLastEmptyRow2 + 1 )
-            nRow1 = mLastEmptyRow1;
         maDeleteRanges.set(nRow1, nRow2, true);
-        mLastToDeleteRow1 = nRow1;
-        mLastToDeleteRow2 = nRow2;
-        mLastEmptyRow1 = mLastEmptyRow2 = -1;
     }
 
     void deleteNumeric(const sc::CellStoreType::value_type& node, size_t nOffset, size_t nDataSize)


More information about the Libreoffice-commits mailing list