diff options
author | Eike Rathke <erack@redhat.com> | 2018-07-13 19:29:12 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-07-13 21:05:37 +0200 |
commit | a5803a66fd9d71b72521d712ba4391ddd570bffa (patch) | |
tree | e0155db119242e9a88b3a41007e7de91634a01ec /sc/source/core/tool/interpr4.cxx | |
parent | e92dcc0632dbdecbc561a35530c21ea66c04f85a (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.cxx | 8 |
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 ) |