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

Eike Rathke erack at redhat.com
Thu Aug 20 07:59:25 PDT 2015


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

New commits:
commit 3dee14a0386c67868748b21226ad871a95cef4a0
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Aug 18 11:33:44 2015 +0200

    Resolves: tdf#92749 invalidate lookup caches after initial hard recalc
    
    ... because the caches are not setup as listeners during when the
    document's hard recalc state is active.
    
    Change-Id: Ie7ec84ee64d046e3e55ce26b92824e94a2f660e9
    (cherry picked from commit f7e493229bd949066b4d8984dce7678b8687d1ae)
    Reviewed-on: https://gerrit.libreoffice.org/17830
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index e00a5cc..153b77f 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3780,6 +3780,14 @@ void ScDocument::CalcAll()
         if (*it)
             (*it)->CalcAll();
     ClearFormulaTree();
+
+    // In hard recalc state caches were not added as listeners, invalidate them
+    // so the next non-CalcAll() normal lookup will not be presented with
+    // outdated data.
+    /* TODO: come up with more detailed hard recalc states so we can
+     * differentiate between hard recalc after load and others. */
+    if (GetHardRecalcState())
+        ClearLookupCaches();
 }
 
 void ScDocument::CompileAll()


More information about the Libreoffice-commits mailing list