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.heini...@yahoo.de> AuthorDate: Thu Jun 11 11:09:02 2020 +0200 Commit: Xisco Fauli <xiscofa...@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.kagan...@collabora.com> Tested-by: Jenkins (cherry picked from commit 345cb192f0bc2fef97ae52ade48efc2d8591a165) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96216 Reviewed-by: Xisco Fauli <xiscofa...@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 ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits