summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--formula/source/core/api/token.cxx7
-rw-r--r--sc/source/core/tool/token.cxx2
2 files changed, 8 insertions, 1 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 4649732a1eb1..c18ca4fdc8de 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -328,7 +328,12 @@ bool FormulaTokenArray::Fill(const uno::Sequence< sheet::FormulaToken >& _aSeque
const sal_Int32 nCount = _aSequence.getLength();
for (sal_Int32 nPos=0; nPos<nCount; nPos++)
{
- bError |= AddFormulaToken( _aSequence[nPos] ,_pRef);
+ bool bOneError = AddFormulaToken( _aSequence[nPos] ,_pRef);
+ if (bOneError)
+ {
+ AddOpCode( ocErrName); // add something that indicates an error
+ bError = true;
+ }
}
return bError;
}
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 00e17c092779..c7e936753aad 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1162,6 +1162,8 @@ bool ScTokenArray::AddFormulaToken(const com::sun::star::sheet::FormulaToken& _a
AddRangeName(aTokenData.Index, aTokenData.Global);
else if (eOpCode == ocDBArea)
AddDBRange(aTokenData.Index);
+ else
+ bError = true;
}
else if ( aType.equals( cppu::UnoType<sheet::ExternalReference>::get() ) )
{