Module: wine Branch: master Commit: 323cff8f634a910cde0490c6580a9ded383ca30b URL: https://gitlab.winehq.org/wine/wine/-/commit/323cff8f634a910cde0490c6580a9de...
Author: Alexandre Julliard julliard@winehq.org Date: Wed May 1 12:39:44 2024 +0200
widl: Fix correlation offset for unencapsulated unions in interpreted mode.
---
tools/widl/typegen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 608867659ab..9bfec7c5000 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -2618,7 +2618,7 @@ static void write_member_type(FILE *file, const type_t *cont, if (type_get_type(type) == TYPE_UNION && is_attr(attrs, ATTR_SWITCHIS)) { absoff = *corroff; - *corroff += 8; + *corroff += interpreted_mode ? 10 : 8; } else { @@ -2708,7 +2708,7 @@ static void write_descriptors(FILE *file, type_t *type, unsigned int *tfsoff) if (!fc) fc = FC_LONG;
if (is_attr(ft->attrs, ATTR_SWITCHTYPE)) - absoff += 8; /* we already have a corr descr, skip it */ + absoff += interpreted_mode ? 10 : 8; /* we already have a corr descr, skip it */ print_file(file, 0, "/* %d */\n", *tfsoff); print_file(file, 2, "0x%x,\t/* FC_NON_ENCAPSULATED_UNION */\n", FC_NON_ENCAPSULATED_UNION); print_file(file, 2, "0x%x,\t/* %s */\n", fc, string_of_type(fc));