Kaydet (Commit) 14096319 authored tarafından Eike Rathke's avatar Eike Rathke

Resolves: tdf#95748 no group interpreter when calculations are running

Change-Id: I17283fc5e39da2d7222c302dd63522df69d0ad96
(cherry picked from commit d46203b5)
üst a63a29ed
...@@ -1551,15 +1551,24 @@ void ScFormulaCell::Interpret() ...@@ -1551,15 +1551,24 @@ void ScFormulaCell::Interpret()
} }
else else
{ {
// Do not attempt to interpret a group when calculations are already
// running, otherwise we may run into a circular reference hell. See
// tdf#95748
if (rRecursionHelper.GetRecursionCount())
InterpretTail( SCITP_NORMAL);
else
{
#if DEBUG_CALCULATION #if DEBUG_CALCULATION
aDC.enterGroup(); aDC.enterGroup();
#endif bool bGroupInterpreted = InterpretFormulaGroup();
bool bGroupInterpreted = InterpretFormulaGroup(); aDC.leaveGroup();
#if DEBUG_CALCULATION if (!bGroupInterpreted)
aDC.leaveGroup(); InterpretTail( SCITP_NORMAL);
#else
if (!InterpretFormulaGroup())
InterpretTail( SCITP_NORMAL);
#endif #endif
if (!bGroupInterpreted) }
InterpretTail( SCITP_NORMAL);
} }
// While leaving a recursion or iteration stack, insert its cells to the // While leaving a recursion or iteration stack, insert its cells to the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment