[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Nov 22 21:01:18 UTC 2018


 sc/source/core/tool/interpr4.cxx |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 8bc69c4a45d1fc4fe73dd579bc5dc828aaa9b1e7
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Thu Nov 22 00:52:40 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Nov 22 22:00:45 2018 +0100

    Resolves: tdf#113898 create JumpMatrix for svExternalDoubleRef scalar values
    
    Change-Id: I45d2a1e573a7e4923aaaf5b69f3c4b39215aacc2
    Reviewed-on: https://gerrit.libreoffice.org/63778
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Jenkins
    (cherry picked from commit 266aab73a88ae5b62fcddaf383107d8e7edc51f2)
    Reviewed-on: https://gerrit.libreoffice.org/63797
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index ecb3bdb95e07..32238916e162 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -1524,7 +1524,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();
@@ -1540,6 +1540,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;


More information about the Libreoffice-commits mailing list