diff options
author | Eike Rathke <erack@redhat.com> | 2016-05-02 16:25:01 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-05-02 16:31:58 +0200 |
commit | a0b9fa819c9193dee1405cee13690adf00e2d9b9 (patch) | |
tree | 321ab985ded4d519a1d05afdf80185ae0409edd3 /sc | |
parent | 6cc547b33bf3ba250b1f08dc94fd7da91860a985 (diff) |
Resolves: tdf#99417 explicitly track formula cells for BROADCAST_BROADCASTERS
Change-Id: I717fc6d1d7c2bc01ed2a256f6fc08a055be24e4b
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/column.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index df0afc54b0f2..faf7f3a215df 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -3173,7 +3173,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; } |