diff options
Diffstat (limited to 'formula/source/core/api/FormulaCompiler.cxx')
-rw-r--r-- | formula/source/core/api/FormulaCompiler.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx index 0ee613dcd8f0..715a2608c7ea 100644 --- a/formula/source/core/api/FormulaCompiler.cxx +++ b/formula/source/core/api/FormulaCompiler.cxx @@ -2606,9 +2606,11 @@ void FormulaCompiler::ForceArrayOperator( FormulaTokenRef const & rCurr ) else if (eType == formula::ParamClass::ReferenceOrForceArray) { // Inherit further only if the return class of the nested function is - // not Reference. + // not Reference. Else flag as suppressed. if (GetForceArrayParameter( rCurr.get(), SAL_MAX_UINT16) != ParamClass::Reference) rCurr->SetInForceArray( eType); + else + rCurr->SetInForceArray( formula::ParamClass::SuppressedReferenceOrForceArray); return; } @@ -2622,6 +2624,8 @@ void FormulaCompiler::ForceArrayOperator( FormulaTokenRef const & rCurr ) { if (GetForceArrayParameter( rCurr.get(), SAL_MAX_UINT16) != ParamClass::Reference) rCurr->SetInForceArray( eType); + else + rCurr->SetInForceArray( formula::ParamClass::SuppressedReferenceOrForceArray); } } } |