widl: Make sure to generate freeing calls for all non-simple structures with pointers and pointers to user marshalled types.

This commit is contained in:
Rob Shearman 2007-12-10 13:30:36 +00:00 committed by Alexandre Julliard
parent e6f2329676
commit 8ead7fe797
1 changed files with 3 additions and 1 deletions

View File

@ -2601,7 +2601,9 @@ static int needs_freeing(const attr_list_t *attrs, const type_t *t, int out)
(is_user_type(t)
|| (is_ptr(t)
&& (t->ref->type == RPC_FC_IP
|| is_ptr(t->ref))))
|| (is_struct(t->ref->type) && t->ref->type != RPC_FC_STRUCT)
|| is_ptr(t->ref)
|| is_user_type(t->ref))))
|| (out && is_string_type(attrs, t))
|| is_array(t);
}