[PATCH 1/4] oleaut32: Don't correct cbSizeInstance for TKIND_ALIAS

Andrew Eikum aeikum at codeweavers.com
Tue Aug 20 09:56:57 CDT 2013


---
 dlls/oleaut32/typelib.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index 118e1f0..b396f17 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -2536,12 +2536,12 @@ static ITypeInfoImpl * MSFT_DoTypeInfo(
     ptiRet->guid = MSFT_ReadGuid(tiBase.posguid, pcx);
     ptiRet->lcid=pLibInfo->set_lcid;   /* FIXME: correct? */
     ptiRet->lpstrSchema=NULL;              /* reserved */
+    ptiRet->typekind=tiBase.typekind & 0xF;
     ptiRet->cbSizeInstance=tiBase.size;
 #ifdef _WIN64
-    if(pLibInfo->syskind == SYS_WIN32)
+    if(pLibInfo->syskind == SYS_WIN32 && ptiRet->typekind != TKIND_ALIAS)
         ptiRet->cbSizeInstance=sizeof(void*);
 #endif
-    ptiRet->typekind=tiBase.typekind & 0xF;
     ptiRet->cFuncs=LOWORD(tiBase.cElement);
     ptiRet->cVars=HIWORD(tiBase.cElement);
     ptiRet->cbAlignment=(tiBase.typekind >> 11 )& 0x1F; /* there are more flags there */
-- 
1.8.3.4





More information about the wine-patches mailing list