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

Change-Id: I17283fc5e39da2d7222c302dd63522df69d0ad96
(cherry picked from commit d46203b55d92185ab2c1d3ac79761100d26aaee3)
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index b37fbaa3..9079d56 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -1551,15 +1551,24 @@ void ScFormulaCell::Interpret()
    }
    else
    {
#if DEBUG_CALCULATION
        aDC.enterGroup();
#endif
        bool bGroupInterpreted = InterpretFormulaGroup();
#if DEBUG_CALCULATION
        aDC.leaveGroup();
#endif
        if (!bGroupInterpreted)
        // 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
            aDC.enterGroup();
            bool bGroupInterpreted = InterpretFormulaGroup();
            aDC.leaveGroup();
            if (!bGroupInterpreted)
                InterpretTail( SCITP_NORMAL);
#else
            if (!InterpretFormulaGroup())
                InterpretTail( SCITP_NORMAL);
#endif
        }
    }

    // While leaving a recursion or iteration stack, insert its cells to the