--
v3: gdiplus: Include the newline in the measurement of each line.
gdiplus/tests: Add test for bounds of newline.
win32u: Detect and handle characters that are considered to have no width for GetTextExtentExPoint.
gdi32/tests: Add test for width of carriage return and line feed.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3517
Windows 10 [received support](https://devblogs.microsoft.com/commandline/af_unix-comes-to-window… for AF_UNIX sockets in Insider Build 17063. This merge request adds basic support for AF_UNIX sockets to ws2_32 and wineserver.
Of particular note is the difficulty in handling `sun_path`. Most of the functions that allow for translating Windows paths to Unix paths are not accessible from ws2_32. I considered the following options:
* Pass the Windows path to wineserver and do the conversion there.
* This is, as far as I can tell, not possible without major rearchitecting. wineserver does not have functions to translate Windows paths to Unix paths, for obvious reasons.
* Obtain the current working directory of the requesting process and temporarily change directories to there.
* This only handles relative paths and fails for absolute paths, UNC paths, etc.
* Conditionally change directories based on whether the path is relative or not.
* This is error-prone and wineserver does not have the requisite functions to do this cleanly.
I ultimately decided to pass the translated Unix path to wineserver, which changes directories to `dirname(path)`. It then provides `bind` and `connect` with `basename(path)`. This is not threadsafe, but wineserver is not (currently) multithreaded.
Abstract sockets are not fully supported by this patch, matching the behavior of Windows.
--
v53: ws2_32/tests: Add test for AF_UNIX sockets fix.
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ntdll/unix: Add support for AF_UNIX sockets to multiple functions.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786
It's possible that a state object pointer not in the topology node collection gets passed to
session_get_node_object(). Instead of returning the last node when the object is not found, we
should return a NULL so that the state of the last node is not changed by mistake.
--
v7: mf/tests: Test IMFMediaSession::Start().
mf/tests: Add a create_test_topology() helper.
mf: Add seeking support for IMFMediaSession::Start().
mf: Add a session_flush_nodes() helper.
mf: Make session_get_node_object() more robust.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3572
Force as to emit expected CIE/FDE information for x86_64 CPU
in .debug_frame section.
This has been unveiled by 425bd55b02e375b9ac8f79b254ce3ca5c9e72719
(before this commit, the .cfi directives where not emitted by
winebuild).
x86_64-w64-mingw32-as on x86_64 emits "strange" unwinding
information (from winebuild).
00000000 0000000000000014 ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -8
Return address column: 32
DW_CFA_def_cfa: r7 (rsp) ofs 8
DW_CFA_offset: r32 (xmm15) at cfa-8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
Consequence: in unwinding, xmm15 gets updated, but rip isn't, causing
an infinite loop in dbghelp.
Wine-Bug-Id: https://bugs.winehq.org/show_bug.cgi?id=55560
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3873
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
--
v2: mspatcha: Add support for 32-bit file image patch transforms
mspatcha: Add implementations for GetFilePatchSignature* routines
mspatcha: Add support for 32-bit file normalizing
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
This clears up much of the todo list for mspatcha. GetFilePatchSignature* and NormalizeFileForPatchSignature have now been implemented in these changes.
These changes bring better support for things like the Adobe Acrobat installer without the need for things like the winetricks mspatcha.dll native dll override. Still needed is support for interleaved streams in the LZXD decompression logic, however this is a great start to better supporting software installers that use the Windows interface for creating and applying patches to files.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3870
--
v2: dmime: Pass the DMUS_PMSG through the performance graph.
dmime: Rename DMUS_PMSGToItem to impl_from_DMUS_PMSG.
dmime: Remove unnecessary struct message members.
dmime: Use a struct list to keep performance messages.
dmime: Get rid of the DMUS_PMSGItem typedef.
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
dmime/tests: Test that SendPMsg also converts reference time.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3851
The memory is completely overwritten a few lines later, so there is no
reason to preserve its original contents. Furthermore, _recalloc will
not be available if this DLL switches from ucrtbase to msvcrt, and the
code as written would leak memory if _recalloc failed.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3869
For now, assume all Unicode codepoints in range U+0100 - U+10FFFF
constitute a valid identifier. Note that we already do that for range
U+0080 - U+00FF.
--
v3: wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1170