summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-05-02 16:25:01 +0200
committerCaolán McNamara <caolanm@redhat.com>2016-05-03 09:32:38 +0000
commitf6d54d43fc9c7b353a97162d026d58402bfbab20 (patch)
tree84f6a45534497090a821fa6d01c1a4b2e7f90d19
parent9a425218aae218356421df9e62bf9dd5d1d809bb (diff)
Resolves: tdf#99417 explicitly track formula cells for BROADCAST_BROADCASTERS
Change-Id: I717fc6d1d7c2bc01ed2a256f6fc08a055be24e4b (cherry picked from commit a0b9fa819c9193dee1405cee13690adf00e2d9b9) Reviewed-on: https://gerrit.libreoffice.org/24592 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sc/source/core/data/column.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 8e835b9c66fa..596e3381ae7c 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -3169,7 +3169,14 @@ void ScColumn::SetDirty( SCROW nRow1, SCROW nRow2, BroadcastMode eMode )
sc::ProcessFormula(maCells.begin(), maCells, nRow1, nRow2, aHdl);
// Broadcast all broadcasters in range.
ScHint aHint( SC_HINT_DATACHANGED, ScAddress( nCol, nRow1, nTab));
- BroadcastBroadcasters( nRow1, nRow2, aHint);
+ if (BroadcastBroadcasters( nRow1, nRow2, aHint))
+ {
+ // SetDirtyOnRangeHandler implicitly tracks notified
+ // formulas via ScDocument::Broadcast(), which
+ // BroadcastBroadcastersHandler doesn't, so explicitly
+ // track them here.
+ pDocument->TrackFormulas();
+ }
}
break;
}