diff options
-rw-r--r-- | basic/qa/basic_coverage/test_empty_parameter.vb | 22 | ||||
-rw-r--r-- | basic/source/runtime/runtime.cxx | 2 |
2 files changed, 23 insertions, 1 deletions
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 ); } |