sc/source/core/tool/interpr4.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
New commits: commit 1ed6f4ba6fcae232705d005de6fcbdcc8769585f Author: Eike Rathke <er...@redhat.com> AuthorDate: Mon Oct 16 20:35:13 2023 +0200 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Sat Oct 21 17:31:48 2023 +0200 Resolves: tdf#157797 Let GetCellValue() propagate previous error, if any Change-Id: I27ee8d19e4f45bef81e133c82ac17b825790208f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158064 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins (cherry picked from commit aa2632885d8b169016ce8f888cc04796544213b0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158040 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 45ae430f5025..29072181bd91 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -180,7 +180,9 @@ double ScInterpreter::GetCellValue( const ScAddress& rPos, ScRefCellValue& rCell FormulaError nErr = nGlobalError; nGlobalError = FormulaError::NONE; double nVal = GetCellValueOrZero(rPos, rCell); - if ( nGlobalError == FormulaError::NONE || nGlobalError == FormulaError::CellNoValue ) + // Propagate previous error, if any; nGlobalError==CellNoValue is not an + // error here, preserve previous error or non-error. + if (nErr != FormulaError::NONE || nGlobalError == FormulaError::CellNoValue) nGlobalError = nErr; return nVal; }