summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArul Michael <arul71.m@gmail.com>2017-05-11 17:52:40 +0530
committerEike Rathke <erack@redhat.com>2017-05-12 01:01:03 +0200
commit970b431f1a7b6b96c4c9536657ce4fe9d8f5b585 (patch)
treeabf2bdc88d34679272e8ad8dd5130a16e04c8d4f
parent9e92527f500a20de838a93201718a761278d8f8d (diff)
tdf#93171 Subtotal function with function indexes don't update
Calling InerpretTail during Hide rows by SfxHintId::ScDataChanged broadcast Change-Id: Ie78170bb6d49933a49d828a18637cb410796dc06 Reviewed-on: https://gerrit.libreoffice.org/37509 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r--sc/inc/column.hxx1
-rw-r--r--sc/source/core/data/column3.cxx10
-rw-r--r--sc/source/core/data/table5.cxx4
3 files changed, 15 insertions, 0 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 564b6ff8114a..e163a1e295a1 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -588,6 +588,7 @@ public:
void Broadcast( SCROW nRow );
void BroadcastCells( const std::vector<SCROW>& rRows, SfxHintId nHint );
+ void BroadcastRows( SCROW nStartRow, SCROW nEndRow );
// cell notes
ScPostIt* GetCellNote( SCROW nRow );
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index c0a6e2923d38..97759267945d 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -88,6 +88,16 @@ void ScColumn::BroadcastCells( const std::vector<SCROW>& rRows, SfxHintId nHint
}
}
+void ScColumn::BroadcastRows( SCROW nStartRow, SCROW nEndRow )
+{
+ sc::SingleColumnSpanSet aSpanSet;
+ aSpanSet.scan(*this, nStartRow, nEndRow);
+ std::vector<SCROW> aRows;
+ aSpanSet.getRows(aRows);
+ BroadcastCells(aRows, SfxHintId::ScDataChanged);
+}
+
+
struct DirtyCellInterpreter
{
void operator() (size_t, ScFormulaCell* p)
diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx
index d0d26d2855d9..9342a7401a06 100644
--- a/sc/source/core/data/table5.cxx
+++ b/sc/source/core/data/table5.cxx
@@ -593,6 +593,10 @@ bool ScTable::SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
{
if (IsStreamValid())
SetStreamValid(false);
+ for (SCCOL i = 0; i < aCol.size(); i++)
+ {
+ aCol[i].BroadcastRows(nStartRow, nEndRow);
+ }
}
return bChanged;