[PATCH 3/5] widl: Fix nested parameterized types C / short name output.

Bernhard Kölbl besentv at gmail.com
Tue Jan 25 11:53:35 CST 2022


Am Di., 25. Jan. 2022 um 10:13 Uhr schrieb Rémi Bernon
<rbernon at codeweavers.com>:
> @@ -1218,8 +1229,9 @@ type_t *type_parameterized_type_specialize_declare(type_t *type, typeref_list_t
>      new_type->namespace = type->namespace;
>      new_type->name = format_parameterized_type_name(type, params);
>      reg_type(new_type, new_type->name, new_type->namespace, 0);
> -    new_type->c_name = format_parameterized_type_c_name(type, params, "");
> +    new_type->c_name = format_parameterized_type_c_name(type, params, "", "_C");
>      new_type->short_name = format_parameterized_type_short_name(type, params, "");
> +    new_type->param_name = format_parameterized_type_c_name(type, params, "", "__C");
>
>      if (new_type->type_type == TYPE_DELEGATE)
>      {

The patch works great, but declared types from imported IDLs aren't
found. (E.g. IVectorView<HSTRING > from windows.foundation.idl)
To fix this add
     new_type->signature = format_parameterized_type_signature(type, params);
here.

Bernhard



More information about the wine-devel mailing list