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
If the read ProgID only has a CurVer key and no CLSID key, it will directly return CO_E_CCLASSSTRING, causing the program to fail to continue running.
Add the key value for finding CurVer.
--
v9: combase:clsid_from_string_reg() add read of CurVer key value.
ole32/tests:add the find CurVer test in CLSIDFromProgID.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7539
--
v9: maintainers: Add a section for Windows.Devices.Enumeration.
windows.devices.enumeration: Create DEVPROP_FILTER_EXPRESSIONs from AQS filter strings and pass them to DevGetObjects.
windows.devices.enumeration: Support parsing AQS filters in IDeviceInformationStatics::FindAllAsyncAqsFilter.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8890
Giving this one final shot. If this is not deemed acceptable, I will abandon the effort and just move on to other things, no hard feelings.
This is IMO a cleaner, more conservative/less invasive change.
What is fixed:
- Bug #56381, "TYPE c:\windows\winhelp.exe >foo", i.e. binary mode operation. I would probably consider this the main reason for this change. I'm trying to get the compiler mentioned in the bug report working.
- Ctrl-Z termination of TYPE output to the console.
- "TYPE con >foo", with Ctrl-Z handling, functionally equivalent to "COPY con foo".
--
v4: cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
cmd: Refactor WCMD_copy_loop out of WCMD_ManualCopy, and stop copy loop at EOF for /a mode.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8920