--
v3: vkd3d: Append CopyTileMappings() commands to the command queue op array.
vkd3d: Append UpdateTileMappings() commands to the command queue op array.
vkd3d: Add missing const attributes to ID3D12CommandQueue::UpdateTileMappings() parameters.
vkd3d: Validate plane count for tiled textures.
vkd3d: Validate tiled resources tier for 3D textures.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/216
Huw Davies (@huw) commented about dlls/mmdevapi/client.c:
> extern void sessions_unlock(void) DECLSPEC_HIDDEN;
>
> +extern HRESULT get_audio_session(const GUID *sessionguid, IMMDevice *device, UINT channels,
> + struct audio_session **out) DECLSPEC_HIDDEN;
> extern struct audio_session_wrapper *session_wrapper_create(struct audio_client *client) DECLSPEC_HIDDEN;
>
> +static HANDLE main_loop_thread;
> +
> +void stop_main_loop(void)
> +{
> + if (main_loop_thread) {
> + WaitForSingleObject(main_loop_thread, INFINITE);
> + CloseHandle(main_loop_thread);
> + }
> +}
> +
There's a lot of new things going on here and in subsequent commits. They need to be split like you've just done for the main_loop bits.
It may be better to reduce the scope of this MR to just the main_loop stuff.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3027#note_35263
Huw Davies (@huw) commented about dlls/winecoreaudio.drv/mmdevdrv.c:
> +
> DeleteCriticalSection(&g_sessions_lock);
> break;
> }
> return TRUE;
> }
>
> +static DWORD CALLBACK main_loop_func(void *event)
> +{
> + struct main_loop_params params;
> +
> + SetThreadDescription(GetCurrentThread(), L"coreaudio_main");
> +
> + params.event = event;
> +
> + ALSA_CALL(main_loop, ¶ms);
```suggestion:-0+0
UNIX_CALL(main_loop, ¶ms);
```
(and in the next commit)
But also there seem to be a lot of small pointless differences (mainly in whitespace) between the new implementations in the non-pulse drivers and the existing one in the pulse driver. That means the merge commits have unnecessary changes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3027#note_35262
This is to prevent NULL pointers when creating a TextService with no rows in it.
This NULL pointers doesn't happen when creating a richedit windows, because
it sets an empty text when the richedit window procedure handles the WM_CREATE event.
--
v8: riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2941
[5/5] is actually not relevant to this serial, but my next serial will depend on it, so I submit it by the way first, so that I can avoid maintaining too many patches locally. :D
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3028