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