Dmitry Timoshkov : widl: Generate name for a tagless union.
Module: wine Branch: master Commit: 8d0f8da652c7547af1348a06b1e690c1502eec30 URL: https://source.winehq.org/git/wine.git/?a=commit;h=8d0f8da652c7547af1348a06b... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Fri Feb 14 20:56:12 2020 +0800 widl: Generate name for a tagless union. Otherwise widl crashes while generating a typelib for typedef struct _s { int type; union { int field; } u; } s; Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- tools/widl/write_msft.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c index 3a11d2ddd7..b70057eda1 100644 --- a/tools/widl/write_msft.c +++ b/tools/widl/write_msft.c @@ -2208,6 +2208,9 @@ static void add_union_typeinfo(msft_typelib_t *typelib, type_t *tunion) if (-1 < tunion->typelib_idx) return; + if (!tunion->name) + tunion->name = gen_name(); + tunion->typelib_idx = typelib->typelib_header.nrtypeinfos; msft_typeinfo = create_msft_typeinfo(typelib, TKIND_UNION, tunion->name, tunion->attrs); msft_typeinfo->typeinfo->size = 0;
participants (1)
-
Alexandre Julliard