[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - basic/qa basic/source

Andreas Heinisch (via logerrit) logerrit at kemper.freedesktop.org
Tue Jun 16 13:14:46 UTC 2020


 basic/qa/basic_coverage/test_empty_parameter.vb |   22 ++++++++++++++++++++++
 basic/source/runtime/runtime.cxx                |    2 +-
 2 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit e398fe3a61688676054cc81ef41dc71564618339
Author:     Andreas Heinisch <andreas.heinisch at yahoo.de>
AuthorDate: Thu Jun 11 11:09:02 2020 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Tue Jun 16 15:14:13 2020 +0200

    tdf#132563 - Convert parameters of type SbxEMPTY
    
    During the construction of the parameter list of a method,
    convert parameters of type SbxEMPTY to their requested type,
    since missing parameters are handled differently in StepEMPTY,
    where separate parameter information (SbxMISSING) is added.
    
    Change-Id: Ie1e027cfdd652404ec29bd3d05e7daf533468936
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96088
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Jenkins
    (cherry picked from commit 345cb192f0bc2fef97ae52ade48efc2d8591a165)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96216
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/basic/qa/basic_coverage/test_empty_parameter.vb b/basic/qa/basic_coverage/test_empty_parameter.vb
new file mode 100644
index 000000000000..fe6e2651c094
--- /dev/null
+++ b/basic/qa/basic_coverage/test_empty_parameter.vb
@@ -0,0 +1,22 @@
+'
+' This file is part of the LibreOffice project.
+'
+' This Source Code Form is subject to the terms of the Mozilla Public
+' License, v. 2.0. If a copy of the MPL was not distributed with this
+' file, You can obtain one at http://mozilla.org/MPL/2.0/.
+'
+
+Sub assignVar(v As Variant)
+    v = 1
+End Sub
+
+Function doUnitTest() As Integer
+    ' tdf#132563 - check if empty parameters are converted to their respective types
+    anEmptyVar = Empty
+    assignVar(anEmptyVar)
+    If (anEmptyVar = 1 And TypeName(anEmptyVar) = "Integer") Then
+        doUnitTest = 1
+    Else
+        doUnitTest = 0
+    End If
+End Function
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index afe6c21790a1..ff5d7936247b 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -686,7 +686,7 @@ void SbiRuntime::SetParameters( SbxArray* pParams )
             {
                 bByVal |= ( p->eType & SbxBYREF ) == 0;
                 // tdf#79426, tdf#125180 - don't convert missing arguments to the requested parameter type
-                if ( t != SbxEMPTY && !IsMissing( v, 1 ) )
+                if ( !IsMissing( v, 1 ) )
                 {
                     t = static_cast<SbxDataType>( p->eType & 0x0FFF );
                 }


More information about the Libreoffice-commits mailing list