diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-02-27 09:02:58 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-02-27 09:02:58 +0000 |
commit | 3da03f5235024f2bec139c9d7a390b0234290f0c (patch) | |
tree | d41e7843acdd176c8f12f159d7559c0cef42f4a7 /bridges | |
parent | dec9aeb53f3b0ce95c3c1cfc16652ca28f8dd8c8 (diff) |
INTEGRATION: CWS ia64port01_DEV300 (1.9.22); FILE MERGED
2008/02/18 10:40:38 cmc 1.9.22.2: #i84999# follow sb's suggested pattern, stage 1, gcc3_linux_*
2008/01/04 19:09:58 cmc 1.9.22.1: first cut at ia64 bridge
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/source/cpp_uno/shared/vtablefactory.cxx | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx b/bridges/source/cpp_uno/shared/vtablefactory.cxx index 605eba8b4815..38532da93bd8 100644 --- a/bridges/source/cpp_uno/shared/vtablefactory.cxx +++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx @@ -4,9 +4,9 @@ * * $RCSfile: vtablefactory.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: vg $ $Date: 2007-09-20 15:30:12 $ + * last change: $Author: obo $ $Date: 2008-02-27 10:02:58 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -266,21 +266,19 @@ void VtableFactory::createVtables( throw std::bad_alloc(); } try { - void ** slots = initializeBlock(block.start) + slotCount; + Slot * slots = initializeBlock(block.start, slotCount); unsigned char * codeBegin = reinterpret_cast< unsigned char * >(slots); unsigned char * code = codeBegin; - sal_Int32 vtableOffset = blocks.size() * sizeof (void **); + sal_Int32 vtableOffset = blocks.size() * sizeof (Slot *); for (typelib_InterfaceTypeDescription const * type2 = type; type2 != 0; type2 = type2->pBaseTypeDescription) { - sal_Int32 functionCount - = bridges::cpp_uno::shared::getLocalFunctions(type2); - slots -= functionCount; code = addLocalFunctions( - slots, code, type2, + &slots, code, type2, baseOffset.getFunctionOffset(type2->aBase.pTypeName), - functionCount, vtableOffset); + bridges::cpp_uno::shared::getLocalFunctions(type2), + vtableOffset); } flushCode(codeBegin, code); blocks.push_back(block); |