summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2018-11-22 00:52:40 +0100
committerEike Rathke <erack@redhat.com>2018-11-22 12:33:33 +0100
commit266aab73a88ae5b62fcddaf383107d8e7edc51f2 (patch)
treefade3fc6e9ba4f75335227e935b387f9d5d00df1 /sc
parent85acc270fc670443cd700c471d9b495e12d4e6dc (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')
-rw-r--r--sc/source/core/tool/interpr4.cxx11
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;