summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-04-06 12:43:16 +0100
committerAndras Timar <andras.timar@collabora.com>2016-04-21 11:01:37 +0200
commite0a4630c13e06c4f409b9a40e1bedeee7a8d74bd (patch)
treeb5ddc701df7f78ce24457be4c9f307532267e26d /sc/source
parent8d210398f65a6e96ae8a27fe7bc243fea3c8286a (diff)
(re)broadcast if value replaces cell of grouped formulas, tdf#97897 related
Replacing a grouped formula cell with a different content may lead to the remaining cells of the group not being recalculated if they listen to a range that contains the current position. For example A1: 1 A2: =SUM($A$1:$A1) => 1 A3: =SUM($A$1:$A2) => 2 Enter 2 in A2 => A3 should be 3 but is not recalculated. Loading http://bugs.documentfoundation.org/attachment.cgi?id=122714 of tdf#97897 exhibits that behavior. Change-Id: I10b91e77549a7534143be3d6e3cc03026cdaa764 (cherry picked from commit ce28d83912d14bc81c455af64893842de78a8c8d) Reviewed-on: https://gerrit.libreoffice.org/23856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit 066db95acf6e6259ca954254fff4836a7d9d220c)
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/document.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 0b86d38c8e98..119d04f4d438 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3286,6 +3286,11 @@ bool ScDocument::SetString( SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString&
SetNeedsListeningGroups(aGroupPos);
StartNeededListeners();
+
+ // Listeners may just have been setup that are affected by the current
+ // position thus were not notified by a ScColumn::BroadcastNewCell()
+ // during ScTable::SetString(), so do it here.
+ Broadcast( ScHint( SC_HINT_DATACHANGED, aPos));
}
else
{