widl: Write pointer classes for explicitly declared arrays only if they are top-level parameters.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-10-04 23:43:35 -05:00 committed by Alexandre Julliard
parent fec26c87ff
commit dd35baa8e3
1 changed files with 2 additions and 1 deletions

View File

@ -3611,7 +3611,8 @@ static unsigned int write_type_tfs(FILE *file, const attr_list_t *attrs,
{ {
int ptr_type; int ptr_type;
ptr_type = get_pointer_fc_context(type, attrs, context); ptr_type = get_pointer_fc_context(type, attrs, context);
if (ptr_type != FC_RP || type_array_is_decl_as_ptr(type)) if (type_array_is_decl_as_ptr(type)
|| (ptr_type != FC_RP && context == TYPE_CONTEXT_TOPLEVELPARAM))
{ {
unsigned int absoff = type->typestring_offset; unsigned int absoff = type->typestring_offset;
short reloff = absoff - (*typeformat_offset + 2); short reloff = absoff - (*typeformat_offset + 2);