[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - sc/source

Eike Rathke erack at redhat.com
Tue Apr 12 14:07:44 UTC 2016


 sc/source/core/data/document.cxx |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 066db95acf6e6259ca954254fff4836a7d9d220c
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 6 12:43:16 2016 +0100

    (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 at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 69909e4..57d0ca5 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3271,6 +3271,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
     {


More information about the Libreoffice-commits mailing list