[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - sc/source

Eike Rathke erack at redhat.com
Thu Dec 3 04:22:05 PST 2015


 sc/source/core/data/formulacell.cxx |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit e389e2b2d9bc87e451628e6f3f227d0eb781cf8b
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Dec 1 14:09:02 2015 +0100

    Resolves: tdf#95748 no group interpreter when calculations are running
    
    (cherry picked from commit d46203b55d92185ab2c1d3ac79761100d26aaee3)
    
    Conflicts:
    	sc/source/core/data/formulacell.cxx
    
    Change-Id: I17283fc5e39da2d7222c302dd63522df69d0ad96
    Reviewed-on: https://gerrit.libreoffice.org/20328
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 1bb5e4c..11d56f3 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -1479,8 +1479,16 @@ void ScFormulaCell::Interpret()
     }
     else
     {
-        if ( ! InterpretFormulaGroup() )
+        // 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 (!InterpretFormulaGroup())
+                InterpretTail( SCITP_NORMAL);
+        }
     }
 
     // While leaving a recursion or iteration stack, insert its cells to the


More information about the Libreoffice-commits mailing list