Commit 736beff9 authored by Sebastian Lackner's avatar Sebastian Lackner Committed by Alexandre Julliard

widl: When adding an interface typedef do check whether it has been already…

widl: When adding an interface typedef do check whether it has been already added while resolving the parent interface. Signed-off-by: 's avatarSebastian Lackner <sebastian@fds-team.de> Signed-off-by: 's avatarDmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent a3f943f0
...@@ -2078,6 +2078,10 @@ static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface) ...@@ -2078,6 +2078,10 @@ static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface)
add_interface_typeinfo(typelib, inherit); add_interface_typeinfo(typelib, inherit);
} }
/* check typelib_idx again, it could have been added while resolving the parent interface */
if (-1 < interface->typelib_idx)
return;
interface->typelib_idx = typelib->typelib_header.nrtypeinfos; interface->typelib_idx = typelib->typelib_header.nrtypeinfos;
msft_typeinfo = create_msft_typeinfo(typelib, TKIND_INTERFACE, interface->name, interface->attrs); msft_typeinfo = create_msft_typeinfo(typelib, TKIND_INTERFACE, interface->name, interface->attrs);
msft_typeinfo->typeinfo->size = pointer_size; msft_typeinfo->typeinfo->size = pointer_size;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment