Module: wine Branch: stable Commit: 8217a8aef76db84f84cef64afbd97bb04d37b523 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8217a8aef76db84f84cef64afb...
Author: Huw Davies huw@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;