wine/tools
Rémi Bernon 6698a2ef7f widl: Output interface C names in method argument list.
This fixes WinRT interface generation where only simple names were used
instead of the C interface names.

With the previous sample idl:

    #ifdef __WIDL__
    #pragma winrt ns_prefix
    #endif

    import "wtypes.idl";

    namespace Windows {
        [object]
        interface IFoo {}

        [object]
        interface IBar { HRESULT DoBar([in] IFoo *foo); }
    }

$ widl -o windows.foo.h windows.foo.idl

Generated file diff before/after:

    diff --git a/windows.foo.h b/windows.foo.h
    index 3790dc7..65151cb 100644
    --- a/windows.foo.h
    +++ b/windows.foo.h
    @@ -123,7 +123,7 @@ typedef struct __x_ABI_CWindows_CIBarVtbl {
         /*** IBar methods ***/
         HRESULT (STDMETHODCALLTYPE *DoBar)(
             __x_ABI_CWindows_CIBar *This,
    -        IFoo *foo);
    +        __x_ABI_CWindows_CIFoo *foo);

         END_INTERFACE
     } __x_ABI_CWindows_CIBarVtbl;
    @@ -138,7 +138,7 @@ interface __x_ABI_CWindows_CIBar {
     #define __x_ABI_CWindows_CIBar_DoBar(This,foo) (This)->lpVtbl->DoBar(This,foo)
     #else
     /*** IBar methods ***/
    -static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,IFoo *foo) {
    +static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,__x_ABI_CWindows_CIFoo *foo) {
         return This->lpVtbl->DoBar(This,foo);
     }
     #endif

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
..
sfnt2fon sfnt2fon: Directly store the codepage tables for the few encodings we need. 2020-01-27 14:37:54 +01:00
widl widl: Output interface C names in method argument list. 2020-09-07 21:07:00 +02:00
winapi winapi: Update win16.api. 2020-08-18 21:41:04 +02:00
winebuild ntdll: Clear the syscall frame on return instead of popping the previous one. 2020-08-27 12:14:35 +02:00
winedump winedump: Fix the dumping of arm64 packed float restoration. 2020-08-28 19:28:24 +02:00
winegcc winegcc: Try using msvc file align syntax if mingw-style is not supported. 2020-08-01 10:00:18 +02:00
winemaker winemaker: Fix --single-target option parsing. 2019-03-13 23:40:39 +01:00
wmc wmc: Add Null facility. 2020-08-25 19:31:43 +02:00
wrc wrc: Remove some dead code. 2020-04-30 12:37:27 +02:00
buildimage buildimage: Convert the XML parser to use XML::LibXML. 2017-10-19 16:53:50 +02:00
c2man.pl c2man.pl: Move WineHQ URLs to https. 2017-12-01 09:29:41 +01:00
config.guess tools: Upgrade the config.guess/config.sub scripts. 2020-08-14 22:04:03 +02:00
config.sub tools: Upgrade the config.guess/config.sub scripts. 2020-08-14 22:04:03 +02:00
examine-relay
findfunc
install-sh tools: Upgrade the autoconf scripts. 2019-12-18 17:56:21 +01:00
make_announce make_announce: Update version number parsing for the new versioning scheme. 2017-01-31 15:58:43 +01:00
make_makefiles make_makefiles: Allow running from a separate worktree. 2020-03-24 19:43:38 +01:00
make_requests server: Remove no longer needed fill_console_output request. 2020-07-14 18:27:59 +02:00
make_specfiles api-ms: Redirect com-private to combase. 2020-09-02 16:30:04 +02:00
make_unicode dwrite: Add properties for recently added scripts. 2020-06-01 22:10:28 +02:00
make_xftmpl.c include: Add a generic available ARRAY_SIZE(). 2018-07-04 10:39:15 +02:00
makedep.c makefiles: Don't implicitly import the module itself when -nodefaultlibs is used. 2020-08-24 22:14:44 +02:00
Makefile.in makefiles: Always build .in files. 2015-11-10 18:28:28 +09:00
runtest makefiles: Default to building test modules as PE. 2019-04-09 15:45:59 +02:00
wineapploader.in tools: Allow running installed builtin apps even when the 32-bit loader is missing. 2015-12-04 21:56:20 +09:00
winewrapper winewrapper: In 64 bit trees the loader is called wine64. 2014-09-02 20:54:48 +02:00