formula/source/core/api/FormulaCompiler.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
New commits: commit c97dd6e4ffedf4423e091b4c7e9c40c37de171e9 Author: Eike Rathke <[email protected]> AuthorDate: Mon Oct 15 15:20:16 2018 +0200 Commit: Eike Rathke <[email protected]> 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 <[email protected]> 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 : _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
