[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