summaryrefslogtreecommitdiff
path: root/basic/source/runtime/methods1.cxx
diff options
context:
space:
mode:
authorAndreas Heinisch <andreas.heinisch@yahoo.de>2020-10-06 19:22:44 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2020-10-16 12:31:02 +0200
commitd6b7cc3f7c07b98c90194e8b33cf44b94804b525 (patch)
tree7d7add8a22f0c5ab05c0357c980176156aabdaf5 /basic/source/runtime/methods1.cxx
parente1a47ddab37e70c400de254251be38e844117cc1 (diff)
tdf#123025 - ReDim Preserve fails if array is filled by Split
The Split function sets the datatype of the array to SbxVARIANT instead of SbxSTRING preventing any subsequent assignments to the array and to the elements itself. Change-Id: Ib099eee7bfd222c97520ac8970352bcf2b44bc3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104039 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'basic/source/runtime/methods1.cxx')
-rw-r--r--basic/source/runtime/methods1.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx
index 807806e4cea8..1dee293ef3cf 100644
--- a/basic/source/runtime/methods1.cxx
+++ b/basic/source/runtime/methods1.cxx
@@ -1627,13 +1627,15 @@ void SbRtl_Split(StarBASIC *, SbxArray & rPar, bool)
}
}
- SbxDimArray* pArray = new SbxDimArray( SbxVARIANT );
+ // tdf#123025 - split returns an array of substrings
+ SbxDimArray* pArray = new SbxDimArray( SbxSTRING );
pArray->unoAddDim32( 0, nArraySize-1 );
// insert parameter(s) into the array
for(sal_Int32 i = 0 ; i < nArraySize ; i++ )
{
- SbxVariableRef xVar = new SbxVariable( SbxVARIANT );
+ // tdf#123025 - split returns an array of substrings
+ SbxVariableRef xVar = new SbxVariable( SbxSTRING );
xVar->PutString( vRet[i] );
pArray->Put32( xVar.get(), &i );
}