Module: wine Branch: master Commit: c73988178f834ba7fb9ca40f3da05d26d6a7a5c7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c73988178f834ba7fb9ca40f3...
Author: Zebediah Figura z.figura12@gmail.com Date: Sun Mar 31 23:31:15 2019 -0500
rpcrt4: Handle TKIND_ALIAS in more places.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/rpcrt4/ndr_typelib.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/rpcrt4/ndr_typelib.c b/dlls/rpcrt4/ndr_typelib.c index f182f1a..963a119 100644 --- a/dlls/rpcrt4/ndr_typelib.c +++ b/dlls/rpcrt4/ndr_typelib.c @@ -220,6 +220,8 @@ static BOOL type_pointer_is_iface(ITypeInfo *typeinfo, TYPEDESC *tdesc) || attr->typekind == TKIND_DISPATCH || attr->typekind == TKIND_COCLASS) ret = TRUE; + else if (attr->typekind == TKIND_ALIAS) + ret = type_pointer_is_iface(refinfo, &attr->tdescAlias);
ITypeInfo_ReleaseTypeAttr(refinfo, attr); ITypeInfo_Release(refinfo); @@ -280,6 +282,8 @@ static unsigned char get_array_fc(ITypeInfo *typeinfo, TYPEDESC *desc) fc = FC_LGFARRAY; else if (attr->typekind == TKIND_RECORD && get_struct_fc(refinfo, attr) == FC_STRUCT) fc = FC_LGFARRAY; + else if (attr->typekind == TKIND_ALIAS) + fc = get_array_fc(refinfo, &attr->tdescAlias); else fc = FC_BOGUS_ARRAY;
@@ -493,6 +497,9 @@ static size_t write_type_tfs(ITypeInfo *typeinfo, unsigned char *str, case TKIND_RECORD: off = write_struct_tfs(refinfo, str, len, attr); break; + case TKIND_ALIAS: + off = write_type_tfs(refinfo, str, len, &attr->tdescAlias, toplevel, onstack); + break; default: FIXME("unhandled kind %u\n", attr->typekind); off = *len;