This merge request restores `DIPROP_AUTOCENTER` support to the SDL and udev input backends. It also
* adds an `Autocenter` registry app key that lets the default `DIPROP_AUTOCENTER` setting to be set on a per device and per application and device level,
* logs a warning on acquisition when `DIPROP_AUTOCENTER` hasn't been checked or set that that is the case and the default can be changed via the 'Autocenter' app key if required.
Together these two should provide a robust solution for the issues some where having with autocenter being incorrectly on for some programs and devices.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8744
Inverting left/right trigger usages and Y values, so that WGI doesn't
need to mess with axes order.
--
v2: winebus: Use a vendor specific usage for gamepad guide buttons.
windows.gaming.input: Use a generic dinput device data format.
winebus: Improve gamepad report compatibility with XUSB / GIP.
windows.gaming.input: Only create Gamepad instances for XInput devices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8746
Support filter expressions consisting of basic comparison operators in DevGetObjects(Ex).
--
v9: cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
cfgmgr32: Implement DevFindProperty.
cfgmgr32: Add stub for DevFindProperty.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8723
uiLengthDrawn should represent the number of characters that have been processed.
However, the original implementation uses len (the count of displayed characters
in the current line), which is not accurate.
When text requires line breaks or special processing (such as adding an ellipsis),
the actual number of processed characters may differ from the number of displayed
characters.
When the DT_CALCRECT flag is absent, len gets decremented to 0 during the drawing loop.
Consequently, uiLengthDrawn becomes inaccurate since it relies on len's value for statistics.
--
v6: user32: Fix uiLengthDrawn calculation in DrawTextExW().
https://gitlab.winehq.org/wine/wine/-/merge_requests/8178
uiLengthDrawn should represent the number of characters that have been processed.
However, the original implementation uses len (the count of displayed characters
in the current line), which is not accurate.
When text requires line breaks or special processing (such as adding an ellipsis),
the actual number of processed characters may differ from the number of displayed
characters.
When the DT_CALCRECT flag is absent, len gets decremented to 0 during the drawing loop.
Consequently, uiLengthDrawn becomes inaccurate since it relies on len's value for statistics.
--
v5: user32: Fix uiLengthDrawn calculation in DrawTextExW().
user32/tests: Add some tests for uiLengthDrawn calculation in DrawTextExW().
https://gitlab.winehq.org/wine/wine/-/merge_requests/8178
On Sun Aug 10 10:13:54 2025 +0000, JiangYi Chen wrote:
> If the `(LPWSTR)` cast in `(LPWSTR)L"a 1\tb2c3"` is removed, the
> compilation warning shown in the image below will appear during
> compilation. I don't want to add constant string definitions like
> `tabstring[]` inside the test_DrawTextCalcRect() function, so I directly
> used the `(LPWSTR)` cast.
> 
Okay. Let's keep it then.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8178#note_112570