[Libreoffice-commits] core.git: formula/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Oct 15 14:19:11 UTC 2018


 formula/source/core/api/FormulaCompiler.cxx |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit c97dd6e4ffedf4423e091b4c7e9c40c37de171e9
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Mon Oct 15 15:20:16 2018 +0200
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Mon Oct 15 16:18:47 2018 +0200

    Resolves: tdf#102257 RANDBETWEEN() volatile like RAND(), ScRecalcMode::ALWAYS
    
    Change-Id: I01698e6b9981d7dd15bf42fcb69a7bd4778d1798
    Reviewed-on: https://gerrit.libreoffice.org/61792
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Jenkins

diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index db32c1de0ff1..8addeeed34e2 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1452,10 +1452,18 @@ void FormulaCompiler::Factor()
                 case ocConvertOOo :
                 case ocDde:
                 case ocMacro:
-                case ocExternal:
                 case ocWebservice:
                     pArr->AddRecalcMode( ScRecalcMode::ONLOAD_LENIENT );
                 break;
+                    // RANDBETWEEN() is volatile like RAND(). Other Add-In
+                    // functions may have to be recalculated or not, we don't
+                    // know, classify as ONLOAD_LENIENT.
+                case ocExternal:
+                    if (mpToken->GetExternal() == "com.sun.star.sheet.addin.Analysis.getRandbetween")
+                        pArr->SetExclusiveRecalcModeAlways();
+                    else
+                        pArr->AddRecalcMode( ScRecalcMode::ONLOAD_LENIENT );
+                break;
                     // If the referred cell is moved the value changes.
                 case ocColumn :
                 case ocRow :


More information about the Libreoffice-commits mailing list