widl: Add special handling for pointers to arrays in the typelib generator.
This commit is contained in:
parent
5af9acadb6
commit
7d1e3691ab
|
@ -1131,6 +1131,9 @@ static int encode_var(
|
||||||
|
|
||||||
if (target_type & 0x80000000) {
|
if (target_type & 0x80000000) {
|
||||||
mix_field = ((target_type >> 16) & 0x3fff) | VT_BYREF;
|
mix_field = ((target_type >> 16) & 0x3fff) | VT_BYREF;
|
||||||
|
} else if (is_array(ref)) {
|
||||||
|
type_t *element_type = type_alias_get_aliasee(type_array_get_element(ref));
|
||||||
|
mix_field = get_type_vt(element_type) | VT_ARRAY | VT_BYREF;
|
||||||
} else {
|
} else {
|
||||||
typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][target_type];
|
typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][target_type];
|
||||||
mix_field = ((typedata[0] >> 16) == 0x7fff)? 0x7fff: 0x7ffe;
|
mix_field = ((typedata[0] >> 16) == 0x7fff)? 0x7fff: 0x7ffe;
|
||||||
|
|
Loading…
Reference in New Issue