First change is to avoid creating and mapping windows concurrently, this is completely racy and can cause random results later on depending on which window ends up being focused and depending on the X11 events. In addition, FVWM focus tracking suffers from various race conditions already, which only makes it worse.
Second change is to avoid failing the tests because of spurious window resize messages on the dummy window. I'm not sure what the window is for exactly but I believe it's not meaningful in the message sequence as it never appears there. As it is maximized, the window is sometimes resized by some WMs when the display mode changes, which cause the spurious WM_SIZE messages.
--
v2: d3d8/tests: Use static class for the dummy window.
d3d8/tests: Avoid creating visible windows concurrently.
d3d9/tests: Use static class for the dummy window.
d3d9/tests: Avoid creating visible windows concurrently.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6700
We will need to inform wineserver of the available monitor physical/virtual rects and dpi in order for it to be able to correctly find windows from mouse input position, as well as for desktop clipping rectangles, so keep the monitors in a list until we've listed them all.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6725
On Wed Oct 23 04:23:48 2024 +0000, Zhiyi Zhang wrote:
> It's not clear to me how to fix this properly. I also wonder why Wine
> doesn't encounter this error.
> It seems that MIDL maps `boolean` to `bool`. Please see
> https://github.com/tpn/winsdk-10/blob/9b69fd26ac0c7d0b83d378dba01080e93349c…
> ```
> struct __declspec(uuid("3c00fd60-2950-5939-a21a-2d12c5a01b8a"))
> IReference<bool> :
> IReference_impl<ABI::Windows::Foundation::Internal::AggregateType<bool,
> boolean>> {
> static const wchar_t* z_get_rc_name_impl() {
> return L"Windows.Foundation.IReference`1<Boolean>"; }
> };
> typedef IReference<bool> __FIReference_1_boolean_t;
> #define ____FIReference_1_boolean_FWD_DEFINED__
> #define __FIReference_1_boolean ABI::Windows::Foundation::__FIReference_1_boolean_t
> ```
> So this might be a bug in WIDL? @jacek @rbernon
It's probably specific to the C++ generated code, which should output `bool` in place of `boolean`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6594#note_85838
On Sat Oct 12 06:40:19 2024 +0000, Zhiyi Zhang wrote:
> I don't think this is a bug in Wine. Native headers have both
> `Windows.Foundation.IReference<BYTE>` and
> `Windows.Foundation.IReference<boolean>` and no conflicts.
It's not clear to me how to fix this properly. I also wonder why Wine doesn't encounter this error.
It seems that MIDL maps `boolean` to `bool`. Please see https://github.com/tpn/winsdk-10/blob/9b69fd26ac0c7d0b83d378dba01080e93349c…
```
struct __declspec(uuid("3c00fd60-2950-5939-a21a-2d12c5a01b8a"))
IReference<bool> : IReference_impl<ABI::Windows::Foundation::Internal::AggregateType<bool, boolean>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IReference`1<Boolean>"; }
};
typedef IReference<bool> __FIReference_1_boolean_t;
#define ____FIReference_1_boolean_FWD_DEFINED__
#define __FIReference_1_boolean ABI::Windows::Foundation::__FIReference_1_boolean_t
```
So this might be a bug in WIDL? @jacek @rbernon
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6594#note_85837
--
v3: ntdll/tests: Add tests for completion port signaling.
kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.
server: Signal completion port waits on handle close.
ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
https://gitlab.winehq.org/wine/wine/-/merge_requests/6630
--
v2: ntdll/tests: Add tests for completion port signaling.
kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.
server: Signal completion port waits on handle close.
ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
ntdll: Assign completion to thread when wait for completion is satisfied.
ntdll: Introduce a separate per-thread object for internal completion waits.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6630