[Libreoffice-commits] core.git: Branch 'feature/formula-core-rework' - sc/source

Kohei Yoshida kohei.yoshida at gmail.com
Fri May 3 12:44:23 PDT 2013


 sc/source/core/data/column3.cxx |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

New commits:
commit bfe2ddfbee6657008f7a4d1226f0eadbcc8b717a
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Fri May 3 15:46:16 2013 -0400

    Broadcast change on cell deletion.
    
    We don't broadcast in DeleteRange() anymore. The callers of DeleteRange()
    is now responsible for broadcasting the changes.
    
    Change-Id: I515a4237dc8f56d0f65f96184b4fed99a263e4c9

diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 5084c3e..dd22051 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -472,8 +472,19 @@ void ScColumn::DeleteArea(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nDelFlag)
     }
 
     // Delete attributes just now
-    if ((nDelFlag & IDF_ATTRIB) == IDF_ATTRIB) pAttrArray->DeleteArea( nStartRow, nEndRow );
-    else if ((nDelFlag & IDF_ATTRIB) != 0) pAttrArray->DeleteHardAttr( nStartRow, nEndRow );
+    if ((nDelFlag & IDF_ATTRIB) == IDF_ATTRIB)
+        pAttrArray->DeleteArea( nStartRow, nEndRow );
+    else if ((nDelFlag & IDF_ATTRIB) != 0)
+        pAttrArray->DeleteHardAttr( nStartRow, nEndRow );
+
+    // Broadcast the changes.
+    ScHint aHint(SC_HINT_DATACHANGED, ScAddress(nCol, 0, nTab), NULL);
+    for (SCROW i = nStartRow; i <= nEndRow; ++i)
+    {
+        aHint.GetAddress().SetRow(i);
+        aHint.SetBroadcaster(GetBroadcaster(i));
+        pDocument->Broadcast(aHint);
+    }
 }
 
 


More information about the Libreoffice-commits mailing list