If multiple threads are creating and releasing the factory, these
accesses are racy and can result in callers of
DXCoreCreateAdapterFactory getting a null pointer or a pointer to
freed memory.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8949
This fixes Trials Fusion often crashing when disconnecting a controller while there are more still connected.
--
v14: ntoskrnl/tests: Use the 'Nt' version of the CancelIo APIs.
ntoskrnl/tests: Test the thread ID the cancellation routine runs from.
ntoskrnl/tests: Add more cancellation tests.
ntoskrnl/tests: Fix tests on current Windows 10 / 11.
ntdll/tests: Test IOSB values of the cancel operation.
ntdll/tests: Add more NtCancelIoFile[Ex]() tests.
ntdll: Wait for all asyncs to handle cancel in NtCancelIoFile().
server: Factor out a cancel_async() function.
server: Introduce a find_async_from_user helper.
ntdll: Factor out a cancel_io() function.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7797
winex11.drv: Fixing an issue where the window size was not saved after switching from full-screen mode
When switching from maximized window to windowed mode, the window retains the size of the entire screen. This bug is reproducible in xfce. Upon closer examination of the logs, I noticed that xfce was duplicating ConfigureNotify requests. The duplicate requests had the send_event=TRUE flag. These requests caused the window to resize incorrectly. The current implementation of wine uses the asynchronous ConfigureNotify event notification method - NtUserPosteMessage with the WM_WINE_WINDOW_STATE_CHANGED flag. I suggest returning to the synchronous method using Send_message. This bug is a regression. This issue first appeared in commit 0f1d999b, which moved the handling of GetWindowStateUpdates in win32u/message.c to the handle_internal_message function via NtUserPostMessage. I decided to revert the handling logic to before this patch was applied, adapting it to the current handling of GetWindowStateUpdates in win32u/message.c
This solution was tested in xfce, mate, and a number of different programs. Everything worked correctly
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8931