This MR introduces a few minor changes to widl to support generating proxy code for WinRT's parameterized interfaces:
* Use the mangled, C-friendly interface name for naming variables `FormatStringOffsetTable`, `StubThunkTable`, etc) in proxy and stub code.
* Use the default interface of a runtime class while creating type format strings in `write_ip_tfs`.
* When proxy generation is enabled, also compute UUIDs for all specialized parameterized interface declarations in imported files.
Finally, I have also enabled proxy generation and registration for wintypes.dll as an example. We use the `PROXY_CLSID_IS` define as WinRT IDLs cannot use `coclass` to declare the `PSFactoryBuffer` class for the DLL.
--
v3: wintypes: Register proxies for interfaces.
include: Add size and length annotations for IVector(View) and IIterator method params.
include: Remove duplicate interface declarations.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8910
NtSetEventBoostPriority stub regression fixes for:
https://bugs.winehq.org/show_bug.cgi?id=58688
Regressive commit: ed9f31120b68e7d684c1544c05d94c38b25cb759
Other stubs were also changed by regress commit and may still be broken.
I'll test the other stubs and fix if necessary.
In the meantime I'm submitting this merge for review in case I missed anything that may be needed for the other stub fixes.
--
v7: ntdll/tests: NtSetEventBoostPriority() tests added for bug #58688
ntdll: NtSetEventBoostPriority() implemented for bug #58688
https://gitlab.winehq.org/wine/wine/-/merge_requests/8955
NtSetEventBoostPriority stub regression fixes for:
https://bugs.winehq.org/show_bug.cgi?id=58688
Regressive commit: ed9f31120b68e7d684c1544c05d94c38b25cb759
Other stubs were also changed by regress commit and may still be broken.
I'll test the other stubs and fix if necessary.
In the meantime I'm submitting this merge for review in case I missed anything that may be needed for the other stub fixes.
--
v6: ntdll/tests: Add tests for NtSetEventBoostPriority().
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8955
NtSetEventBoostPriority stub regression fixes for:
https://bugs.winehq.org/show_bug.cgi?id=58688
Regressive commit: ed9f31120b68e7d684c1544c05d94c38b25cb759
Other stubs were also changed by regress commit and may still be broken.
I'll test the other stubs and fix if necessary.
In the meantime I'm submitting this merge for review in case I missed anything that may be needed for the other stub fixes.
--
v5: Call NtSetEvent from NtSetEventBoostPriority unconditionally
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8955
win32u: change the stretch mode of dst hdc from BlackOnWhite to ColorOnColor when using StretchBlt in TransparentBlt.
In NtGdiTransparentBlt function, the StretchBlt mode of dst hdc is not set. The Default StretchBlt Mode in wine is BlackOnWhite. It is not correct to use this StretchBltMode in TransparentBlt dealing with color bitmap. According to MSDN, it should be converted to ColorOnColor.
My test code shows that, the image converted by wine generates a lot of chromatic noise.
[test_blt.c](/uploads/26101bc7bdb27400d02c8ff5bf741864/test_blt.c)
[test_blt.exe](/uploads/98ee3ab7ce0d590e1511bd8a5fb5a1bb/test_blt.exe)



--
v3: win32u: change the stretch mode of dst hdc from BlackOnWhite to ColorOnColor when using StretchBlt in TransparentBlt.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8988