diff options
author | Andreas Bregas <ab@openoffice.org> | 2010-07-20 12:50:30 +0200 |
---|---|---|
committer | Andreas Bregas <ab@openoffice.org> | 2010-07-20 12:50:30 +0200 |
commit | 42893428c4396619359aaaa7bdbad521ccb553a1 (patch) | |
tree | 4adae0b1cd19a736015ef5a738dd491521d7e93e /basic | |
parent | b57b872f1b0252da4d1622edfaca32ef0c51cbd8 (diff) |
mib17: #162900# Support parameters for Property Get calls
Diffstat (limited to 'basic')
-rwxr-xr-x | basic/source/classes/sb.cxx | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index 9012471cac0a..e28b0a304f28 100755 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -599,7 +599,28 @@ void SbClassModuleObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType { SbxValues aVals; aVals.eType = SbxVARIANT; - pMeth->Get( aVals ); + + SbxArray* pArg = pVar->GetParameters(); + USHORT nVarParCount = (pArg != NULL) ? pArg->Count() : 0; + if( nVarParCount > 1 ) + { + SbxArrayRef xMethParameters = new SbxArray; + xMethParameters->Put( pMeth, 0 ); // Method as parameter 0 + for( USHORT i = 1 ; i < nVarParCount ; ++i ) + { + SbxVariable* pPar = pArg->Get( i ); + xMethParameters->Put( pPar, i ); + } + + pMeth->SetParameters( xMethParameters ); + pMeth->Get( aVals ); + pMeth->SetParameters( NULL ); + } + else + { + pMeth->Get( aVals ); + } + pVar->Put( aVals ); } } |