Before https://gitlab.winehq.org/wine/wine/-/merge_requests/140, and to avoid a situation in the future where we might decide to implement this, and where the callback would be called asynchronously as they are supposed to, without the ASF reader filter supporting it.
--
v2: winegstreamer: Make IWMReader state transitions asynchronous.
winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/393
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v6: cabinet: Implement GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
This doesn't implement the listeners (needs wine-gecko notification). Also "media" seems to return somewhat different strings on gecko in some cases, so some of the tests are todo_wine because of that, but I'm not sure if it's worth replicating in practice.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/568
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