sc/source/core/tool/formularesult.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
New commits: commit 93dcfa7ee157dd865f5d266d1f877014462eac72 Author: Eike Rathke <er...@redhat.com> Date: Wed Jun 20 18:07:54 2018 +0200 Related: tdf#117049 treat yet unknown result as initial 0.0 For the first =A1+B1 in B1 with iterations the result could had been #VALUE! depending on string conversion calculation settings. Change-Id: I8d7a745d67ba7a20f7a66e8aa143642d08ea5111 Reviewed-on: https://gerrit.libreoffice.org/56173 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins diff --git a/sc/source/core/tool/formularesult.cxx b/sc/source/core/tool/formularesult.cxx index c1ed01516113..ad10f51a36ba 100644 --- a/sc/source/core/tool/formularesult.cxx +++ b/sc/source/core/tool/formularesult.cxx @@ -274,7 +274,12 @@ namespace { inline bool isValue( formula::StackVar sv ) { return sv == formula::svDouble || sv == formula::svError - || sv == formula::svEmptyCell; + || sv == formula::svEmptyCell + // The initial unitialized result value is double 0.0, even if the type + // is unknown, so the interpreter asking for it gets that double + // instead of having to convert a string which may result in #VALUE! + // (otherwise the unknown would be neither error nor double nor string) + || sv == formula::svUnknown; } inline bool isString( formula::StackVar sv ) @@ -457,6 +462,8 @@ double ScFormulaResult::GetDouble() const ; // nothing } } + // Note that we reach here also for the default ctor and + // formula::svUnknown from GetType(). return 0.0; } if (mbEmpty) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits