diff options
author | Eike Rathke <erack@redhat.com> | 2018-11-22 00:52:40 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-11-22 12:33:33 +0100 |
commit | 266aab73a88ae5b62fcddaf383107d8e7edc51f2 (patch) | |
tree | fade3fc6e9ba4f75335227e935b387f9d5d00df1 /sc/source | |
parent | 85acc270fc670443cd700c471d9b495e12d4e6dc (diff) |
Resolves: tdf#113898 create JumpMatrix for svExternalDoubleRef scalar values
Change-Id: I45d2a1e573a7e4923aaaf5b69f3c4b39215aacc2
Reviewed-on: https://gerrit.libreoffice.org/63778
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/tool/interpr4.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 070510deb1f6..cc3672cbdbeb 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -1527,7 +1527,7 @@ bool ScInterpreter::ConvertMatrixParameters() case svExternalDoubleRef: { formula::ParamClass eType = ScParameterClassification::GetParameterType( pCur, nParams - i); - if (eType == formula::ParamClass::Array) + if (eType == formula::ParamClass::Value || eType == formula::ParamClass::Array) { sal_uInt16 nFileId = p->GetIndex(); OUString aTabName = p->GetString().getString(); @@ -1543,6 +1543,15 @@ bool ScInterpreter::ConvertMatrixParameters() ScMatrixRef pMat = pTemp->GetMatrix(); if (pMat) { + if (eType == formula::ParamClass::Value) + { // only if single value expected + SCSIZE nC, nR; + pMat->GetDimensions( nC, nR); + if (nJumpCols < nC) + nJumpCols = nC; + if (nJumpRows < nR) + nJumpRows = nR; + } formula::FormulaToken* pNew = new ScMatrixToken( pMat); pNew->IncRef(); pStack[ sp - i ] = pNew; |