I'm not completely sure what the expectations are regarding these registry key paths, but @afrantzis said Wayland reports adapters in an arbitrary order and this would let us find the right adapter config and their current settings based on their unique name instead.
Other drivers simply format the numeric ID themselves, though might not be 0-based index anymore.
--
v2: win32u: Use named sources instead of struct gdi_adapter.
win32u: Rename struct adapter to struct source.
win32u: Use a symlink for the logically indexed adapter config key.
win32u: Split writing adapter to registry to a separate helper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5137
The Windows 11 message failure only seems to reproduce in a full test run, so we have to make an MR to investigate. I think it's clear with current results that just adjusting the expected sequence isn't going to be a solution.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5408
See also https://bugs.winehq.org/show_bug.cgi?id=56361
This patch makes piped commands work like for example "echo os get version|wmic" or "type file.txt | wmic" where file.txt contains some commands.
(probably used by program in aforementioned bugreport)
Also support interactive mode (wine wmic.exe)
Marked for now as draft.
--
v7: wmic.exe: Support interactive mode and piped commands.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5402
Fixes Sim City 3000 Building Architect.
--
v5: ddraw/tests: Add tests for multiple devices.
ddraw: Support multiple devices per ddraw object.
ddraw: Sync wined3d render target in d3d_device_sync_rendertarget().
ddraw: Store wined3d state in d3d_device.
wined3d: Factor out wined3d_texture_set_lod() function.
ddraw: Don't apply state in ddraw_surface_blt().
ddraw: Store matrix handle in the global table.
ddraw: Store surface handles in the global table.
ddraw: Store material handles in the global table.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5329
Udev monitor monitors the whole input subsystem, but not all devices
in the input subsystem have devnodes associated to them.
This MR makes the event processing ignore such devices.
All device handling assumes devices have devnodes, so here we just
simply ignore all devices which do not have one. They are irrelevant.
Previously, udev bus thread aborted when an event for a device without
a devnode was processed:
```
10111.330:0068:0084:trace:hid:process_monitor_event Received action "remove" for udev device (null)
10111.330:0068:0084:warn:hid:bus_main_thread L"UDEV" bus wait returned status 0xc0000005
```
Just plugging in and out a normal mouse was enough cause this.
This was because root input devices (which do not have devnodes) were
handled too and `find_device_from_devnode()` choked on NULL argument.
--
v5: winebus: ignore udev events of devices which do not have devnodes
https://gitlab.winehq.org/wine/wine/-/merge_requests/5385