diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-12-10 20:15:31 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2017-12-11 11:08:50 +0100 |
commit | a63e8a7fa3b0f98501e8bc20a1adf6ca235a7dd1 (patch) | |
tree | 236f7e166446e64b98bf8f92a2029dd3c39dd5dc | |
parent | ab283b90dc66eee3acf0dd356acc2cf909d9041d (diff) |
tdf#114342 move recursion guard to encompass threaded path too
Change-Id: If815d3faeb72fd8a176225fb80f87ee584ece3ba
Reviewed-on: https://gerrit.libreoffice.org/46215
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.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 2f541d8514c7..06c3bb70eb76 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) |