Zebediah Figura : widl: Use IsSimpleRef only for explicitly declared arrays.
Alexandre Julliard
julliard at winehq.org
Wed May 29 15:50:37 CDT 2019
Module: wine
Branch: master
Commit: 02976b655a5d9ad8ee25dbfb2051acb5b7431381
URL: https://source.winehq.org/git/wine.git/?a=commit;h=02976b655a5d9ad8ee25dbfb2051acb5b7431381
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Wed May 29 00:24:05 2019 -0500
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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tools/widl/typegen.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c
index e5fb20c..9137712 100644
--- a/tools/widl/typegen.c
+++ b/tools/widl/typegen.c
@@ -1064,9 +1064,16 @@ 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;
+ if (!is_in && is_out) server_size = type_memsize( ref );
+ break;
case TGT_ARRAY:
- *flags |= IsSimpleRef | MustFree;
- *typestring_offset = ref->typestring_offset;
+ *flags |= MustFree;
+ 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 );
break;
case TGT_STRING:
More information about the wine-cvs
mailing list