Huw Davies : oleaut32: Mask off the lsb from the vtbl offset. This is set when the user specifies an offset in ICreateTypeInfo.
Alexandre Julliard
julliard at winehq.org
Thu Apr 7 07:36:54 CDT 2011
Module: wine
Branch: stable
Commit: 8217a8aef76db84f84cef64afbd97bb04d37b523
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8217a8aef76db84f84cef64afbd97bb04d37b523
Author: Huw Davies <huw at codeweavers.com>
Date: Thu Feb 24 09:42:58 2011 +0000
oleaut32: Mask off the lsb from the vtbl offset. This is set when the user specifies an offset in ICreateTypeInfo.
(cherry picked from commit 060c8daf7facf6947e2b52e06a7d2ce771ba77b3)
---
dlls/oleaut32/typelib.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index 7a56e93..07099b4 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -1945,7 +1945,7 @@ MSFT_DoFuncs(TLBContext* pcx,
(*pptfd)->funcdesc.callconv = (pFuncRec->FKCCIC) >> 8 & 0xF;
(*pptfd)->funcdesc.cParams = pFuncRec->nrargs ;
(*pptfd)->funcdesc.cParamsOpt = pFuncRec->nroargs ;
- (*pptfd)->funcdesc.oVft = pFuncRec->VtableOffset;
+ (*pptfd)->funcdesc.oVft = pFuncRec->VtableOffset & ~1;
(*pptfd)->funcdesc.wFuncFlags = LOWORD(pFuncRec->Flags) ;
MSFT_GetTdesc(pcx,
@@ -3514,7 +3514,7 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
(*ppFuncDesc)->funcdesc.callconv = pFunc->nacc & 0x7;
(*ppFuncDesc)->funcdesc.cParams = pFunc->nacc >> 3;
(*ppFuncDesc)->funcdesc.cParamsOpt = (pFunc->retnextopt & 0x7e) >> 1;
- (*ppFuncDesc)->funcdesc.oVft = pFunc->vtblpos;
+ (*ppFuncDesc)->funcdesc.oVft = pFunc->vtblpos & ~1;
if(pFunc->magic & SLTG_FUNCTION_FLAGS_PRESENT)
(*ppFuncDesc)->funcdesc.wFuncFlags = pFunc->funcflags;
More information about the wine-cvs
mailing list