[PATCH 1/2] widl: Only generate Proxy Stubs when functions have the call_as attribute

Nikolay Sivov bunglehead at gmail.com
Mon Jul 10 00:17:26 CDT 2017


On 10.07.2017 7:43, Alistair Leslie-Hughes wrote:
> Fixes: https://bugs.winehq.org/show_bug.cgi?id=43302
> 
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
>  tools/widl/header.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/widl/header.c b/tools/widl/header.c
> index 7b97158..e48b488 100644
> --- a/tools/widl/header.c
> +++ b/tools/widl/header.c
> @@ -1172,7 +1172,7 @@ static void write_method_proto(FILE *header, const type_t *iface)
>    {
>      const var_t *func = stmt->u.var;
>  
> -    if (!is_local(func->attrs)) {
> +    if (is_callas(func->attrs)) {
>        const char *callconv = get_attrp(func->type->attrs, ATTR_CALLCONV);
>        if (!callconv) callconv = "STDMETHODCALLTYPE";
>        /* proxy prototype */
> 

This is wrong, 'call_as' is used to map different method to be used for
remote calls. Midl certainly does not limit prototype generation like
that. You mentioned 'odl' attribute on bug report, it's irrelevant too.



More information about the wine-devel mailing list