summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-04-20 18:37:49 +0200
committerEike Rathke <erack@redhat.com>2015-04-20 18:39:44 +0200
commitb756a907eadb803c8014c7a875bb0b0ee32c50b3 (patch)
treeadfd19927d1e2acce3203b8757db8b825d5b1bdb
parent2fcd8c2c40481a95bf0cf59b1dd314d84226226c (diff)
error handling per element and propagate, tdf#88547 follow-up
Change-Id: Ic7171f3b0c0931e476d8419257b33c760c6283a6
-rw-r--r--sc/source/core/tool/interpr3.cxx15
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;
+ }
}
}
}