widl: Use IsSimpleRef only for explicitly declared arrays.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47285 Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
ffe9fee151
commit
02976b655a
|
@ -1064,9 +1064,16 @@ static unsigned char get_parameter_fc( const var_t *var, int is_return, unsigned
|
||||||
case TGT_UNION:
|
case TGT_UNION:
|
||||||
case TGT_USER_TYPE:
|
case TGT_USER_TYPE:
|
||||||
case TGT_RANGE:
|
case TGT_RANGE:
|
||||||
|
*flags |= MustFree;
|
||||||
|
if (!is_in && is_out) server_size = type_memsize( ref );
|
||||||
|
break;
|
||||||
case TGT_ARRAY:
|
case TGT_ARRAY:
|
||||||
*flags |= IsSimpleRef | MustFree;
|
*flags |= MustFree;
|
||||||
*typestring_offset = ref->typestring_offset;
|
if (!type_array_is_decl_as_ptr(ref))
|
||||||
|
{
|
||||||
|
*flags |= IsSimpleRef;
|
||||||
|
*typestring_offset = ref->typestring_offset;
|
||||||
|
}
|
||||||
if (!is_in && is_out) server_size = type_memsize( ref );
|
if (!is_in && is_out) server_size = type_memsize( ref );
|
||||||
break;
|
break;
|
||||||
case TGT_STRING:
|
case TGT_STRING:
|
||||||
|
|
Loading…
Reference in New Issue