We currently try to preserve message's lparam value in win32u. This is inherited from user32 and it was needed in the past, but with !493 (and !646), this is mostly covered by leaving win32u out of winproc calls whenever possible. According to tests, native win32k almost never attempts to preserve lparam and copies its content instead (with a few exceptions for messages passing strings). Implementing that in Wine will provide a nice way to fix problem from bug 55152.
This is the first patch in the series that will implement it. Since user callback requirements are different than server communication, the series incrementally decouples them. I created https://gitlab.winehq.org/jacek/wine/-/commits/win32u-msg/ with complete conversion for a better context.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3388
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v4: server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v3: server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
The read and pread syscalls are permitted to return fewer bytes than requested (unlike the fread libc call which will only perform a short read on error or EOF). This is most likely to occur when binaries are located on slower filesystems (e.g. NFS or 9pfs)
ffab9d9 is a relatively recent regression here, but a lot of the code appears to be much older (e.g. the read call in 341b7dc)
In this MR I've focused on ntdll, but I see a lot of similar mishandling of the pread return value in `server/`. I will raise a bug as I don't intend to create a follow up MR at this time.
--
v2: ntdll: Correctly handle pread short reads
https://gitlab.winehq.org/wine/wine/-/merge_requests/3390
The read and pread syscalls are permitted to return fewer bytes than requested (unlike the fread libc call which will only perform a short read on error or EOF). This is most likely to occur when binaries are located on slower filesystems (e.g. NFS or 9pfs)
ffab9d9 is a relatively recent regression here, but a lot of the code appears to be much older (e.g. the read call in 341b7dc)
In this MR I've focused on ntdll, but I see a lot of similar mishandling of the pread return value in `server/`. I will raise a bug as I don't intend to create a follow up MR at this time.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3390