[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - sc/source

Caolán McNamara caolanm at redhat.com
Tue May 24 16:18:19 UTC 2016


 sc/source/core/data/bcaslot.cxx |    9 +++++++++
 sc/source/core/inc/bcaslot.hxx  |    1 +
 2 files changed, 10 insertions(+)

New commits:
commit a4ca886a6c0febac630761f4e7f685fc96a083ca
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue May 24 13:28:03 2016 +0100

    Resolves: tdf#99733 don't crash on moving range of cells
    
    Reviewed-on: https://gerrit.libreoffice.org/25405
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 0d116ad98d7c25df4ad63839bcf2fd7f152956df)
    
    Change-Id: Ib9afc8ef292e517954b24321100862f5235290e5
    Reviewed-on: https://gerrit.libreoffice.org/25408
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/data/bcaslot.cxx b/sc/source/core/data/bcaslot.cxx
index feee464..38babac 100644
--- a/sc/source/core/data/bcaslot.cxx
+++ b/sc/source/core/data/bcaslot.cxx
@@ -530,7 +530,11 @@ void ScBroadcastAreaSlot::EraseArea( ScBroadcastAreas::iterator& rIter )
         ScBroadcastArea* pArea = (*rIter).mpArea;
         aBroadcastAreaTbl.erase( rIter);
         if (!pArea->DecRef())
+        {
+            if (pBASM->IsInBulkBroadcast())
+                pBASM->RemoveBulkGroupArea(pArea);
             delete pArea;
+        }
     }
 }
 
@@ -1182,6 +1186,11 @@ size_t ScBroadcastAreaSlotMachine::RemoveBulkArea( const ScBroadcastArea* pArea
     return aBulkBroadcastAreas.erase( pArea );
 }
 
+void ScBroadcastAreaSlotMachine::RemoveBulkGroupArea( ScBroadcastArea* pArea )
+{
+    maBulkGroupAreas.erase(pArea);
+}
+
 void ScBroadcastAreaSlotMachine::PushAreaToBeErased( ScBroadcastAreaSlot* pSlot,
         ScBroadcastAreas::iterator& rIter )
 {
diff --git a/sc/source/core/inc/bcaslot.hxx b/sc/source/core/inc/bcaslot.hxx
index 27ff119..3b43a19 100644
--- a/sc/source/core/inc/bcaslot.hxx
+++ b/sc/source/core/inc/bcaslot.hxx
@@ -324,6 +324,7 @@ public:
     bool                InsertBulkArea( const ScBroadcastArea* p );
 
     void InsertBulkGroupArea( ScBroadcastArea* pArea, const ScRange& rRange );
+    void RemoveBulkGroupArea( ScBroadcastArea* pArea );
     void BulkBroadcastGroupAreas();
 
     /// @return: how many removed


More information about the Libreoffice-commits mailing list