diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-12-10 20:15:31 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-12-11 10:19:42 +0100 |
commit | e1bd0dd9966c0d525477443bc54c1d2bd6f7d30f (patch) | |
tree | 539846240d87e145a0eb29a2b062e6b4d29e11a6 | |
parent | adad3724e6c3e85b1b286ccddaf810f3c782424b (diff) |
tdf#114342 move recursion guard to encompass threaded path too
Change-Id: If815d3faeb72fd8a176225fb80f87ee584ece3ba
Reviewed-on: https://gerrit.libreoffice.org/46195
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Dennis Francis <dennis.francis@collabora.co.uk>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/core/data/formulacell.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index 955be80b4c59..2db3e9cda669 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -4342,6 +4342,12 @@ bool ScFormulaCell::InterpretFormulaGroup() return false; } + // Guard against endless recursion of Interpret() calls, for this to work + // ScFormulaCell::InterpretFormulaGroup() must never be called through + // anything else than ScFormulaCell::Interpret(), same as + // ScFormulaCell::InterpretTail() + RecursionCounter aRecursionCounter( pDocument->GetRecursionHelper(), this); + if (!bThreadingProhibited && !ScCalcConfig::isOpenCLEnabled() && pCode->GetVectorState() == FormulaVectorEnabledForThreading && officecfg::Office::Calc::Formula::Calculation::UseThreadedCalculationForFormulaGroups::get()) @@ -4478,12 +4484,6 @@ bool ScFormulaCell::InterpretFormulaGroup() return false; } - // Guard against endless recursion of Interpret() calls, for this to work - // ScFormulaCell::InterpretFormulaGroup() must never be called through - // anything else than ScFormulaCell::Interpret(), same as - // ScFormulaCell::InterpretTail() - RecursionCounter aRecursionCounter( pDocument->GetRecursionHelper(), this); - // TODO : Disable invariant formula group interpretation for now in order // to get implicit intersection to work. if (mxGroup->mbInvariant && false) |