summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-12-10 20:15:31 +0000
committerMichael Meeks <michael.meeks@collabora.com>2017-12-11 11:08:50 +0100
commita63e8a7fa3b0f98501e8bc20a1adf6ca235a7dd1 (patch)
tree236f7e166446e64b98bf8f92a2029dd3c39dd5dc
parentab283b90dc66eee3acf0dd356acc2cf909d9041d (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.cxx12
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)