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