Fixes Escape of Monkey Islands crashing on start with two monitors (it enumerates too many devices and accesses something out of bound, while better caps let it filter out unneeded devices).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2008
To avoid a crash on DLL unload if it wasn't initialized.
Found while running the kernel32:loader tests with warn+heap (somehow?). The dwrite DLL is unloaded before the list has been initialized and it crashes, failing some tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2005
SPIR-V doesn't support parallelisation in patch constant functions.
Merging into one phase allows generation of a single patch constant
function and normalises to the shader model 6 pattern.
--
v6: vkd3d-shader/spirv: Pass a parser pointer to spirv_compiler_generate_spirv().
vkd3d-shader/sm4: Use the instruction array interface in compile_dxbc_tpf().
vkd3d-shader/glsl: Use the instruction array interface in vkd3d_glsl_generator_generate().
vkd3d-shader: Use the instruction array interface in scan_with_parser().
vkd3d-shader/trace: Use the instruction array interface in vkd3d_dxbc_binary_to_text().
vkd3d-shader: Initialise the instruction array in vkd3d_shader_parser_init().
vkd3d-shader/sm4: Store parsed instructions in an array.
vkd3d-shader/sm1: Store parsed instructions in an array.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/60
Today, the Rich Edit control handles the WM_IME_STARTCOMPOSITION message
by the computing the composition start position (imeStartIndex) _before_
calling ME_DeleteSelection(), which shifts the character positions after
the range of deletion. If the selection were not empty, imeStartIndex
immediately becomes stale, since it does not take into account the
number of deleted characters before it.
Fix this by computing imeStartIndex after the ME_DeleteSelection() call.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54318
cc/ @aricstewart (has no Developer access to wine/wine; cannot be assigned as a reviewer yet)
--
v2: riched20: Obtain the composition start index after deleting selection.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2001
The pointer might be freed by RPC NdrPointerFree, which will try to use
a dedicated free call for the array elements, and fail.
Found by running advapi32:service test with warn+heap.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2007