summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-05-03 15:46:16 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-05-09 13:34:32 -0400
commit3c5cc7d56f6185ea0bf7593a0cd8e73232d97ddb (patch)
tree8f70ee2c11753cd3d420e7c403deab56d2467c90 /sc
parentc86014f5c6340a97bcea600ae3bd31d5f54feebb (diff)
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
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/column3.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 5084c3ef292e..dd2205135936 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);
+ }
}