diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 244baeafd45bcd3e24cd7afab8a01df58edef2f3..32a0b1692a1cc06a44000134b3a6b6761e558481 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -4055,12 +4055,15 @@ void assign_stub_out_args( FILE *file, int indent, const var_t *func, const char case TGT_ENUM: case TGT_POINTER: case TGT_RANGE: + case TGT_IFACE_POINTER: print_file(file, indent, "%s_W%u = 0;\n", local_var_prefix, i); break; + case TGT_USER_TYPE: + print_file(file, indent, "memset(&%s_W%u, 0, sizeof(%s_W%u));\n", + local_var_prefix, i, local_var_prefix, i); + break; case TGT_STRUCT: case TGT_UNION: - case TGT_USER_TYPE: - case TGT_IFACE_POINTER: case TGT_ARRAY: case TGT_CTXT_HANDLE: case TGT_CTXT_HANDLE_POINTER: