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

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


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

New commits:
commit 358d7c5630e0a3b5c1afe5a2aef4c0ec0f54fd34
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Thu Nov 22 00:52:40 2018 +0100
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Thu Nov 22 19:04:51 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/63794

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;


More information about the Libreoffice-commits mailing list