In preparation for moving display placement to win32u, for https://gitlab.winehq.org/wine/wine/-/merge_requests/551.
The idea for win32u to enumerate and work with full modes, with driver extra data, to do the display placement logic and validation, and pass the modes array for all adapters at once to the driver to apply them.
--
v3: winex11.drv: Constify set_current_mode DEVMODEW parameter.
winex11.drv: Iterate display settings using dmDriverExtra.
winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
winex11.drv: Update devmode dmPosition instead of new_rect.
winex11.drv: Use DM_POSITION field bit to mark placed displays.
winex11.drv: Use a local desired_rect variable when placing displays.
https://gitlab.winehq.org/wine/wine/-/merge_requests/561
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v2: cabinet.dll: implement DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
>
> #undef query_mode_field
>
> + ret = query_reg_value( hkey, driver_extraW, value, sizeof(value_buf) ) &&
> + value->Type == REG_BINARY;
> + if (ret && value->DataLength <= mode->dmDriverExtra)
> + memcpy( mode + 1, value->Data, mode->dmDriverExtra );
Hi, R��mi. This is causing a new Coverity report. In NtUserChangeDisplaySettings(), default_mode is passed to read_registry_settings(), which eventually calls read_adapter_mode() and then writes to the mode + 1. This is out of bound access because default_mode is not an array. I think the correct fix is to not set dmDriverExtra for ENUM_REGISTRY_SETTINGS.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/406#note_5410
In preparation for moving display placement to win32u, for https://gitlab.winehq.org/wine/wine/-/merge_requests/551.
The idea for win32u to enumerate and work with full modes, with driver extra data, to do the display placement logic and validation, and pass the modes array for all adapters at once to the driver to apply them.
--
v2: winex11.drv: Constify set_current_mode DEVMODEW parameter.
winex11.drv: Iterate display settings using dmDriverExtra.
winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
winex11.drv: Update devmode dmPosition instead of new_rect.
winex11.drv: Use DM_POSITION field bit to mark placed displays.
winex11.drv: Use a local desired_rect variable when placing displays.
https://gitlab.winehq.org/wine/wine/-/merge_requests/561
The following patches fix sending of the LVN_ODSTATECHANGED notification for
LVS_OWNERDATA list views, adding more refined tests in the process and
fixing various bugs.
This is v5, with the added comment in 3/6 as requested on the mailing list.
These are the patches sent as a response to v4 by Zhiyi Zhang on the mailing list, unmodified apart from 3/6 or f24f4b7fd.
---
Warning: I have had access to the Windows Research Kernel (WRK) 1.2
~10 years ago. These changes are regarding comctrl32 & tests which are NOT
part of the WRK. As outlined in https://wiki.winehq.org/Developer_FAQ this
should therefore satisfy the requirement of ONLY submitting patches to
components I have NOT had access to.
--
v4: comctl32/tests: Add more ownerdata listview tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/550