diff options
author | Eike Rathke <erack@redhat.com> | 2015-04-20 18:37:49 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-04-20 18:39:44 +0200 |
commit | b756a907eadb803c8014c7a875bb0b0ee32c50b3 (patch) | |
tree | adfd19927d1e2acce3203b8757db8b825d5b1bdb | |
parent | 2fcd8c2c40481a95bf0cf59b1dd314d84226226c (diff) |
error handling per element and propagate, tdf#88547 follow-up
Change-Id: Ic7171f3b0c0931e476d8419257b33c760c6283a6
-rw-r--r-- | sc/source/core/tool/interpr3.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx index b97dad5f38a3..1dd07f5efc8e 100644 --- a/sc/source/core/tool/interpr3.cxx +++ b/sc/source/core/tool/interpr3.cxx @@ -3736,9 +3736,24 @@ void ScInterpreter::GetNumberSequenceArray( sal_uInt8 nParamCount, vector<double OUString aStr = pMat->GetString( i ).getString(); if ( aStr.getLength() > 0 ) { + sal_uInt16 nErr = nGlobalError; + nGlobalError = 0; double fVal = ConvertStringToValue( aStr ); if ( !nGlobalError ) + { rArray.push_back( fVal ); + nGlobalError = nErr; + } + else + { + rArray.push_back( CreateDoubleError( errNoValue)); + // Propagate previous error if any, else + // the current #VALUE! error. + if (nErr) + nGlobalError = nErr; + else + nGlobalError = errNoValue; + } } } } |