summaryrefslogtreecommitdiff
path: root/sc/source/core/tool/interpr4.cxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2018-07-13 19:29:12 +0200
committerEike Rathke <erack@redhat.com>2018-07-13 21:05:37 +0200
commita5803a66fd9d71b72521d712ba4391ddd570bffa (patch)
treee0155db119242e9a88b3a41007e7de91634a01ec /sc/source/core/tool/interpr4.cxx
parente92dcc0632dbdecbc561a35530c21ea66c04f85a (diff)
Rework FormulaTokenArray ScRecalcMode in preparation for tdf#94925
Strictly order the exclusive bits by priority, let AddRecalcMode() handle all sets except forced ALWAYS or NORMAL. Introduce ONLOAD_LENIENT and ONLOAD_MUST splitting ONLOAD to be able to distinguish later during OOXML import. Change-Id: I188de2d53a2d54df32d24eeeb148c4f9e87e7cfc Reviewed-on: https://gerrit.libreoffice.org/57402 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
Diffstat (limited to 'sc/source/core/tool/interpr4.cxx')
-rw-r--r--sc/source/core/tool/interpr4.cxx8
1 files changed, 2 insertions, 6 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 6194fa5abe02..138ee8c14f1b 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -2645,8 +2645,7 @@ void ScInterpreter::ScExternal()
else
{
// enable asyncs after loading
- if ( rArr.IsRecalcModeNormal() )
- rArr.SetExclusiveRecalcModeOnLoad();
+ rArr.AddRecalcMode( ScRecalcMode::ONLOAD_LENIENT );
// assure identical handler with identical call?
double nErg = 0.0;
ppParam[0] = &nErg;
@@ -3006,10 +3005,7 @@ void ScInterpreter::ScExternal()
if ( aCall.HasVarRes() ) // handle async functions
{
- if ( rArr.IsRecalcModeNormal() )
- {
- rArr.SetExclusiveRecalcModeOnLoad();
- }
+ rArr.AddRecalcMode( ScRecalcMode::ONLOAD_LENIENT );
uno::Reference<sheet::XVolatileResult> xRes = aCall.GetVarRes();
ScAddInListener* pLis = ScAddInListener::Get( xRes );
if ( !pLis )