diff options
author | Eike Rathke <erack@redhat.com> | 2015-10-28 22:30:24 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-11-03 20:29:41 +0000 |
commit | 61a7e6f039294103a1721ec95724d067cf205d0b (patch) | |
tree | 58857b21104fbe9a446a268e2c2e36f668d0a256 | |
parent | e0b9abe1f9cfcf6b43ea3bfc7ae47f649c0992bb (diff) |
... and not already if the function has a (ReferenceOr)ForceArray type
parameter somewhere else in the parameter list.
Regression triggered by commit 01eea7fe40c939311bf1920b6e8b4391a93c2e82
for MATCH, HLOOKUP and VLOOKUP first parameter, but behavior already
present since OOo for LOOKUP; FORECAST in its first parameter, PROB,
LINEST, LOGEST and TTEST in the last two parameters.
Change-Id: I4a30ea3362f86274a048b0e3f47fa12da3001a3a
(cherry picked from commit b5cd11b4b02a85a83db77ba9d8d1763f0cd88cb1)
Reviewed-on: https://gerrit.libreoffice.org/19660
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/core/tool/interpr4.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index f4158f05ec57..6ebeed7a6099 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -1655,7 +1655,13 @@ bool ScInterpreter::ConvertMatrixParameters() ScParameterClassification::Type eType = ScParameterClassification::GetParameterType( pCur, nParams - i); if ( eType != ScParameterClassification::Reference && - eType != ScParameterClassification::ReferenceOrForceArray) + eType != ScParameterClassification::ReferenceOrForceArray && + // For scalar Value: convert to Array/JumpMatrix + // only if in array formula context, else (function + // has ForceArray or ReferenceOrForceArray + // parameter *somewhere else*) pick a normal + // position dependent implicit intersection later. + (eType != ScParameterClassification::Value || bMatrixFormula)) { SCCOL nCol1, nCol2; SCROW nRow1, nRow2; |