Kaydet (Commit) 1da07a28 authored tarafından Eike Rathke's avatar Eike Rathke Kaydeden (comit) Andras Timar

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 f7e49322)
Reviewed-on: https://gerrit.libreoffice.org/17829Reviewed-by: 's avatarNorbert Thiebaud <nthiebaud@gmail.com>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 7744d182
...@@ -3780,6 +3780,14 @@ void ScDocument::CalcAll() ...@@ -3780,6 +3780,14 @@ void ScDocument::CalcAll()
if (*it) if (*it)
(*it)->CalcAll(); (*it)->CalcAll();
ClearFormulaTree(); 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() void ScDocument::CompileAll()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment