diff options
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx index cb6fb6e179db..5fb2bd7e12a3 100644 --- a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx @@ -489,7 +489,7 @@ bridges::cpp_uno::shared::VtableFactory::initializeBlock( //================================================================================================== unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( - Slot ** slots, unsigned char * code, + Slot ** slots, unsigned char * code, sal_PtrDiff writetoexecdiff, typelib_InterfaceTypeDescription const * type, sal_Int32 nFunctionOffset, sal_Int32 functionCount, sal_Int32 nVtableOffset ) { @@ -508,14 +508,14 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( reinterpret_cast<typelib_InterfaceAttributeTypeDescription *>( pTD ); // get method - (s++)->fn = code; + (s++)->fn = code + writetoexecdiff; code = codeSnippet( code, nFunctionOffset++, nVtableOffset, x86_64::return_in_hidden_param( pAttrTD->pAttributeTypeRef ) ); if ( ! pAttrTD->bReadOnly ) { // set method - (s++)->fn = code; + (s++)->fn = code + writetoexecdiff; code = codeSnippet( code, nFunctionOffset++, nVtableOffset, false ); } } @@ -524,7 +524,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( typelib_InterfaceMethodTypeDescription *pMethodTD = reinterpret_cast<typelib_InterfaceMethodTypeDescription *>( pTD ); - (s++)->fn = code; + (s++)->fn = code + writetoexecdiff; code = codeSnippet( code, nFunctionOffset++, nVtableOffset, x86_64::return_in_hidden_param( pMethodTD->pReturnTypeRef ) ); } |