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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Aug 22 07:22:05 UTC 2018


 sc/source/core/tool/interpr1.cxx |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

New commits:
commit 886b39fbd4f2401922b1c5af0a06ad09efb59d93
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Mon Aug 20 12:59:59 2018 +0200
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Aug 22 09:21:43 2018 +0200

    Resolves: tdf#119137 treat scalar non-reference non-array argument as matrix
    
    ... of size 1x1 so all further checks are applicable as for any other array.
    
    Change-Id: I0c8926bc56f5e451ca4847e0f0c76a1be97418f2
    Reviewed-on: https://gerrit.libreoffice.org/59317
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 7d785183dda20942459616110bab041f9293a399)
    Reviewed-on: https://gerrit.libreoffice.org/59329
    Tested-by: Jenkins
    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/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index c0558c869ad4..964b9e9e13a4 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -6222,7 +6222,23 @@ void ScInterpreter::IterateParametersIfs( double(*ResultFunc)( const sc::ParamIf
                         nMainTab2 = 0;
                     }
                 break;
+                // Treat a scalar value as 1x1 matrix.
+                case svDouble:
+                    pMainMatrix = GetNewMat(1,1);
+                    nMainCol1 = nMainCol2 = 0;
+                    nMainRow1 = nMainRow2 = 0;
+                    nMainTab1 = nMainTab2 = 0;
+                    pMainMatrix->PutDouble( GetDouble(), 0, 0);
+                break;
+                case svString:
+                    pMainMatrix = GetNewMat(1,1);
+                    nMainCol1 = nMainCol2 = 0;
+                    nMainRow1 = nMainRow2 = 0;
+                    nMainTab1 = nMainTab2 = 0;
+                    pMainMatrix->PutString( GetString(), 0, 0);
+                break;
                 default:
+                    PopError();
                     PushError( FormulaError::IllegalParameter);
                     return;
             }


More information about the Libreoffice-commits mailing list