diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 295cac3ddc1a33a66700d21d7e59dfcb9e214364..725bf2f739d7b3f67274cb3f5a4713d493300679 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -2310,6 +2310,8 @@ MSFT_DoFuncs(TLBContext* pcx, /* size without argument data */ optional = reclength - pFuncRec->nrargs*sizeof(MSFT_ParameterInfo); + if (pFuncRec->FKCCIC & 0x1000) + optional -= pFuncRec->nrargs * sizeof(INT); if (optional > FIELD_OFFSET(MSFT_FuncRecord, HelpContext)) ptfd->helpcontext = pFuncRec->HelpContext;