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

Huw Davies huw at codeweavers.com
Mon Jul 10 04:37:17 CDT 2017


On Mon, Jul 10, 2017 at 08:17:26AM +0300, Nikolay Sivov wrote:
> 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.

Are you sure about this, the patch looks correct to me?

I now understand why [2/2 is needed.  The problem is the build breaks
after [1/2], so either the order needs changing or the patches need
combining.

Huw.



More information about the wine-devel mailing list