diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index f320f57789a..fbc9f3cc5bd 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -1064,7 +1064,8 @@ static unsigned char get_parameter_fc( const var_t *var, int is_return, unsigned case TGT_UNION: case TGT_USER_TYPE: case TGT_RANGE: - *flags |= MustFree; + *flags |= MustFree | IsSimpleRef; + *typestring_offset = ref->typestring_offset; if (!is_in && is_out) server_size = type_memsize( ref ); break; case TGT_ARRAY: