The tests show that the first argument must not be null, that the handle
returned via the fourth argument is not an HTHEME, and that that handle
can be passed to CloseThemeFile without error.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4531
Conflicts with !450 but can probably go upstream before it since backend changes here are minimal.
--
v6: vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader: Rename shader_instruction_array_add_icb() to shader_instruction_array_add_opaque_param().
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/491
push_dc_driver() places drivers based on their priorities, so the newly created driver is not
necessary on top. Thus in windrv_CreateDC(), find_dc_driver() should be used to find the dib
driver instead of assuming the dib driver is the top driver, which could be the path driver because
it has a higher priority.
--
v2: win32u: Find the correct DIB driver in windrv_CreateDC().
https://gitlab.winehq.org/wine/wine/-/merge_requests/4374
If you remove the line "_putenv("cat=")" from the test, it fails the same way on Windows. This implies that native is detecting when the environment has been modified *back* to its initial state and undoing the reallocation in that case. That strikes me as a little insane; do we care about implementing that behaviour?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4552#note_54342
Detecting the host layout languages from their Xkb identifiers, and introducing a new driver interface using the KBDTABLES structure to translate them to Win32.
--
v6: winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Avoid accessing NULL key name string pointer.
win32u: Introduce KbdLayerDescriptor user driver entry.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455
This is a slightly simplified version of a patch submitted by Michael Müller.
There are two major changes relative to that patch:
* The process name is taken from the initial argv, rather than the "normalized"
argv. In practice this means that the executable name may or may not have its
.exe extension, and the user of WINEDEBUG will have to guess. Unfortunately
using the normalized argv requires dbg_init() to be called later, which would
be somewhat unfortunate.
* The original patch had support for a syntax "-process.exe:+channel" that would
allow channels to be toggled for all process *except* one. Since the same can
be done almost as easily with "+channel,process.exe:-channel", I decided this
extra logic was unnecessary.
This proved useful when trying to debug the issue in 4552; I was able to do
WINEDEBUG=+pid,+seh,+msvcrt,wineboot.exe:+heap
whereas enabling +heap for all processes made the log too slow and large.
With that said, in retrospect it would also have been easy to simply hack
something specific and temporary into parse_options(), so if this patch set is
deemed unnecessary I won't care too much.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4553
This is the current proton thread priority implementation by @rbernon rebased for upstream with a few `#ifdef`s added since AFAIK Linux is the only operating system where threads have a unique PID which can be used to set niceness on.
I also ran `./tools/make_requests` on https://gitlab.winehq.org/mzent/wine/-/commit/6705d3481be0409f7e971c1d2c7a3… as well and `autoconf` on https://gitlab.winehq.org/mzent/wine/-/commit/d7bafe40c411753662b2ad97148a6… (which does blow up the line count a bit).
A few tiny changes (with the ready variable for example) are in anticipation for Part 2, which also adds Mach thread priorities and recalculates thread priorities on process priority change.
Since this is a rather large MR, I hope the split here is appropriate (with the second part being slightly smaller), but I think logically it makes the most sense here.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4551