diff options
author | Joachim Lingner <jl@openoffice.org> | 2000-10-19 12:22:20 +0000 |
---|---|---|
committer | Joachim Lingner <jl@openoffice.org> | 2000-10-19 12:22:20 +0000 |
commit | eee529cb39b243511149469b0c613431114f123c (patch) | |
tree | a2733efbcb873aaa2c182d3cf5e52ec4de2fe8b1 /extensions/source/ole | |
parent | cdbcbba7680c87249327761a04e8cfb344a2bc35 (diff) |
bug in invokeWithDispIdUnoTlb prevented the use of mixed in and out parameters
Diffstat (limited to 'extensions/source/ole')
-rw-r--r-- | extensions/source/ole/oleobjw.cxx | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/extensions/source/ole/oleobjw.cxx b/extensions/source/ole/oleobjw.cxx index b37c72a8e800..58bf953d576c 100644 --- a/extensions/source/ole/oleobjw.cxx +++ b/extensions/source/ole/oleobjw.cxx @@ -2,9 +2,9 @@ * * $RCSfile: oleobjw.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: jl $ $Date: 2000-10-16 12:56:07 $ + * last change: $Author: jl $ $Date: 2000-10-19 13:22:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -481,7 +481,7 @@ Any IUnknownWrapper_Impl::invokeWithDispIdUnoTlb(DISPID dispID, { pVarParamsRef= new CComVariant[ outParameterCount]; // build up the parameters for IDispatch::Invoke - sal_Int32 inParamIndex=0; +// sal_Int32 inParamIndex=0; sal_Int32 outParamIndex=0; for( i= 0; i < parameterCount; i++) @@ -490,7 +490,7 @@ Any IUnknownWrapper_Impl::invokeWithDispIdUnoTlb(DISPID dispID, // In parameter if( pMethod->pParams[i].bIn == sal_True && ! pMethod->pParams[i].bOut) { - bConvOk= anyToVariant( &pVarParams[parameterCount - i -1], Params[inParamIndex++]); + bConvOk= anyToVariant( &pVarParams[parameterCount - i -1], Params.getConstArray()[i]); } // Out parameter + in/out parameter else if( pMethod->pParams[i].bOut == sal_True) @@ -634,13 +634,13 @@ Any IUnknownWrapper_Impl::invokeWithDispIdUnoTlb(DISPID dispID, } else // it is an JScriptObject { - sal_Int32 inParamIndex= 0; +// sal_Int32 inParamIndex= 0; for( sal_Int32 i= 0; i< parameterCount; i++) { // In parameter if( pMethod->pParams[i].bIn == sal_True && ! pMethod->pParams[i].bOut) { - bConvOk= anyToVariant( &pVarParams[parameterCount - i -1], Params[inParamIndex++]); + bConvOk= anyToVariant( &pVarParams[parameterCount - i -1], Params.getConstArray()[i]); } // Out parameter + in/out parameter else if( pMethod->pParams[i].bOut == sal_True) @@ -658,7 +658,7 @@ Any IUnknownWrapper_Impl::invokeWithDispIdUnoTlb(DISPID dispID, if( pMethod->pParams[i].bIn == sal_True ) // in / out { CComVariant varParam; - bConvOk= anyToVariant( &varParam, Params[ inParamIndex++]); + bConvOk= anyToVariant( &varParam, Params.getConstArray()[i]); if( bConvOk) { CComDispatchDriver dispDriver( pDisp); |