406 lines
20 KiB
Plaintext
406 lines
20 KiB
Plaintext
The Wine development release 5.21 is now available.
|
|
|
|
What's new in this release (see below for details):
|
|
- GDI32 library converted to PE.
|
|
- More fixes for windowless RichEdit.
|
|
- A number of timezone updates.
|
|
- Various bug fixes.
|
|
|
|
The source is available from the following locations:
|
|
|
|
https://dl.winehq.org/wine/source/5.x/wine-5.21.tar.xz
|
|
http://mirrors.ibiblio.org/wine/source/5.x/wine-5.21.tar.xz
|
|
|
|
Binary packages for various distributions will be available from:
|
|
|
|
https://www.winehq.org/download
|
|
|
|
You will find documentation on https://www.winehq.org/documentation
|
|
|
|
You can also get the current source directly from the git
|
|
repository. Check https://www.winehq.org/git for details.
|
|
|
|
Wine is available thanks to the work of many people. See the file
|
|
AUTHORS in the distribution for the complete list.
|
|
|
|
----------------------------------------------------------------
|
|
|
|
Bugs fixed in 5.21 (total 24):
|
|
|
|
22797 'Sample1_DLLEmbedding' example from BoxedApp SDK v3.3.x (native API application virtualization scheme) crashes (needs hookable NtXXXSection API entries / NT syscalls)
|
|
25834 Adobe Reader X and XI cannot open in Protected Mode due to advapi32.dll CreateRestrictedToken being a stub
|
|
33072 dxdiag: can't retrieve network info
|
|
33162 Acrobat Reader 11 crashes on start (native API application virtualization, NtProtectVirtualMemory removes execute page protection on its own code)
|
|
45349 Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V, World of Warcraft)
|
|
45550 League of Legends 8.15+ anticheat fails due to incorrect implementation of NtQuerySystemInformation(SystemModuleInformation)
|
|
45666 Multiple Riot Games' anti-cheat / protection schemes need implementation of NtQuerySystemInformation 'SystemModuleInformationEx' info class (League of Legends 8.15+, Valorant/Vanguard)
|
|
46373 Unknown game crashes in unimplemented function msvcr80.dll._strnset_s in 1.6.2
|
|
46870 League of Legends 8.12+ fails to start a game in Vista+ mode (anticheat engine, SystemExtendedProcessInformation)
|
|
46967 GOG Galaxy doesn't run in virtual desktop
|
|
48203 Far Manager 3 broken appearance
|
|
48204 Wineconsole running Far File Manager 3 crashes as soon as you try to resize its window
|
|
48715 A Wolf RPG game freezes on map transition
|
|
49298 Path of Exile crashes when switching to Vulkan Renderer on RADV. Switching works in proton.
|
|
49449 Terraria Mobile Server (.NET 4.x) crashes with System.NotImplementedException NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection()
|
|
49610 mu online crashes after login
|
|
49739 Microsoft Flight Simulator needs netutils.dll and srvcli.dll
|
|
49785 Linking of some objects sometimes fails with undefined reference to windowscodecs GUIDs
|
|
49813 Implement debugging feedback extensions (VK_EXT_debug_utils/VK_EXT_debug_report) to forward data to Linux impl
|
|
50038 IWbemClassObject::Get method with wszName = NULL crashes inside wbemprox
|
|
50039 Wine 5.18+ fails build on Ubuntu 18.04 with libwine.so Makefile symbolic link
|
|
50049 Fallout 76 opens black screen then crashes on start
|
|
50050 Wine 5.20 build fails on Ubuntu 16.04
|
|
50077 .NET 3.5SP1 installer depends on PEB->Reserved[1] / AtlThunkSListPtr32 being 0 or 1
|
|
|
|
----------------------------------------------------------------
|
|
|
|
Changes since 5.20:
|
|
|
|
Aaron Hill (2):
|
|
qmgr/tests: Fix issues with handling of transient errors.
|
|
qmgr/tests: Test registering an IBackgroundCopyCallback2.
|
|
|
|
Akihiro Sagawa (1):
|
|
gdi32: Fix font rendering issue when child font is used.
|
|
|
|
Alexandre Julliard (54):
|
|
gdi32: Set the font file name directly at creation time.
|
|
gdi32: Move the text metrics cache into the generic font structure.
|
|
gdi32: Move the kerning pairs data into the generic font structure.
|
|
gdi32: Move the fonts directory helper functions out of freetype.c.
|
|
gdi32: Move the Add/RemoveFontResource() implementation out of freetype.c.
|
|
gdi32: Move the AddFontMemResourceEx() implementation out of freetype.c.
|
|
gdi32: Move the loading of system fonts out of freetype.c.
|
|
gdi32: Move the loading of registry fonts out of freetype.c.
|
|
gdi32: Move the loading of filesystem fonts out of freetype.c.
|
|
gdi32: Add a helper to load a font without using a face.
|
|
gdi32: Allocate the backend font data in the load_font() helper.
|
|
gdi32: Move the CreateScalableFontResource() implementation out of freetype.c.
|
|
gdi32: Move part of the GetFontUnicodeRanges() implementation out of freetype.c.
|
|
gdi32: Move part of the GetCharWidthInfo() implementation out of freetype.c.
|
|
gdi32: Move the GSUB table support out of freetype.c.
|
|
gdi32: Store child font objects directly on the child font list.
|
|
gdi32: Move the glyph index mapping for GetGlyphOutline() out of freetype.c.
|
|
gdi32: Add a helper to get the FreeType face and cleanup private data.
|
|
winebuild: Set PE timestamps to a hash of the file name.
|
|
gdi32: Move the font substitution list out of freetype.c.
|
|
gdi32: Move the font family list out of freetype.c.
|
|
gdi32: Move the face data structure out of freetype.c.
|
|
gdi32: Move the loading of font replacements out of freetype.c.
|
|
gdi32: Make the family replacement point to the family object.
|
|
gdi32: Move the font link support out of freetype.c.
|
|
gdi32: Move the creation of the child font list out of freetype.c.
|
|
gdi32: Move the dumping of the font list out of freetype.c.
|
|
gdi32: Add a helper function to create a font from a face.
|
|
gdi32: Move the font enumeration out of freetype.c.
|
|
gdi32: Move the default AA flags handling out of freetype.c.
|
|
gdi32: Move the font list reordering out of freetype.c.
|
|
gdi32: Add a separate backend function to load the font list.
|
|
gdi32: Move the font cache out of freetype.c.
|
|
gdi32: Add a helper function to create a face.
|
|
gdi32: Update the Windows font registry keys only when they have changed.
|
|
gdi32: Move the remove_font() function out of freetype.c.
|
|
gdi32: Add some helper functions for font matching.
|
|
gdi32: Move the handling of font family fallbacks out of freetype.c.
|
|
gdi32: Move the rest of the font matching code out of freetype.c.
|
|
gdi32: Move the SelectFont() implementation out of freetype.c.
|
|
gdi32: Make a few definitions private to font.c.
|
|
gdi32: Don't abort enumeration if a font fails to load.
|
|
gdi32: Store scale as an integer.
|
|
gdi32: Use FT_MulDiv() instead of the kernel32 function.
|
|
gdi32: Use ntdll functions for codepage conversions.
|
|
gdi32: Use ntdll functions for DOS<->Unix path conversions.
|
|
gdi32: Use ntdll functions for locale support.
|
|
gdi32: Use ntdll functions for heap allocations.
|
|
gdi32: Move FreeType support to a new Unix library.
|
|
gdi32: Move OSMesa support to the Unix library.
|
|
gdi32: Build with msvcrt.
|
|
include: Fix setjmp() support with 32-bit ucrtbase.
|
|
gdi32: Use wide-character string literals.
|
|
gdi32: Initialize the font gamma ramp with the other font options.
|
|
|
|
Alistair Leslie-Hughes (5):
|
|
include: Add missing DBPARAM* types and enums.
|
|
include: Add more DBGUID_* defines.
|
|
srvcli: Add stub dll.
|
|
netutils: Add stub dll.
|
|
include: Add DBPROPSTATUSENUM enum values.
|
|
|
|
Anton Baskanov (5):
|
|
amstream: Wait for the state transition to complete in AMMultiMediaStream::SetState.
|
|
amstream: Handle AMMSF_NOCLOCK flag in AMMultiMediaStream::OpenFile.
|
|
amstream: Release filter critical section before calling upstream seeking methods.
|
|
amstream: Implement MediaStreamFilter::WaitUntil.
|
|
amstream: Implement MediaStreamFilter::Flush.
|
|
|
|
Aurimas Fišeras (3):
|
|
po: Update Lithuanian translation.
|
|
po: Update Lithuanian translation.
|
|
po: Update Lithuanian translation.
|
|
|
|
Austin English (10):
|
|
d3d8thk: Add stub dll.
|
|
d3dim700: Add stub dll.
|
|
ddrawex: Add version resource.
|
|
dpwsockx: Add version resource.
|
|
dx8vb: Add version resource.
|
|
ksproxy.ax: Add version resource.
|
|
ksuser: Add version resource.
|
|
qdvd: Add version resource.
|
|
strmdll: Add version resource.
|
|
dpnsvr: Add version resource.
|
|
|
|
Biswapriyo Nath (1):
|
|
mf/evr: Initialize variables which are checked conditionally.
|
|
|
|
Brendan Shanks (4):
|
|
ntdll: Update the PEB structures for newer Windows versions.
|
|
dbghelp: Use PEB->CloudFileFlags instead of PEB->Reserved for debug base address.
|
|
ntdll: Rename PEB->Reserved[1] to AtlThunkSListPtr32.
|
|
include: Force stack alignment on x86_64 with Clang.
|
|
|
|
Damjan Jovanovic (1):
|
|
oleaut32: IFont never had an IPersistStreamInit interface.
|
|
|
|
Daniel Lehman (11):
|
|
wine.inf: Fix SA Eastern Standard Time Zone info.
|
|
tzres: Add Tocantins Standard Time Zone.
|
|
tzres: Add Magallanes Standard Time Zone.
|
|
tzres: Add Saint Pierre Standard Time Zone.
|
|
msvcr110/tests: Use macro to get function address.
|
|
msvcr110: Add _Context::_CurrentContext.
|
|
msvcr120/tests: Add _Context::_CurrentContext tests.
|
|
concrt140/tests: Add _Context::_CurrentContext tests.
|
|
wine.inf: Update Azerbaijan Time Zone.
|
|
wine.inf: Update Caucasus Time Zone.
|
|
wine.inf: Update Pacific SA Time Zone.
|
|
|
|
Derek Lesho (12):
|
|
winegstreamer: Insert videoconvert into decoded-video streams.
|
|
winegstreamer: Insert audioconvert into decoded audio streams.
|
|
winegstreamer: Replace gst_pad_get_current_caps with gst_pad_query_caps.
|
|
winegstreamer: Implement IMFMediaSource::CreatePresentationDescriptor.
|
|
mfreadwrite: Abort ReadSample when unable to request any samples.
|
|
winegstreamer: Implement IMFMediaSource::Start.
|
|
winegstreamer: Implement IMFMediaStream::RequestSample.
|
|
mfmediaengine: Provide the partial topology to the media session.
|
|
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_CANPLAY upon MF_TOPOSTATUS_READY.
|
|
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_PLAYING upon MESessionStarted.
|
|
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_ENDED upon MESessionEnded.
|
|
winegstreamer: Implement IMFMediaStream::GetMediaSource.
|
|
|
|
Eric Kohl (1):
|
|
widl: Add the [allocate] acf attribute.
|
|
|
|
Esme Povirk (2):
|
|
windowscodecs: Move TIFF decoding to unix lib.
|
|
avifil32: Only add the first stream reference to the parent.
|
|
|
|
François Gouget (1):
|
|
oleacc/tests: Fix the window name and keyboard shortcut tests.
|
|
|
|
Georg Lehmann (5):
|
|
winevulkan: Implement VK_EXT_debug_report.
|
|
winevulkan: Don't use comments for object types.
|
|
winevulkan: Remove comment from VkEnumValue.
|
|
winevulkan: Implement VK_EXT_debug_marker.
|
|
winevulkan: Enable VK_EXT_validation_features and VK_EXT_validation_flags.
|
|
|
|
Gijs Vermeulen (8):
|
|
quartz/vmr9: Don't expose IVMRFilterConfig9 from the VMR7.
|
|
quartz/vmr9: Don't expose IVMRMonitorConfig9 from the VMR7.
|
|
quartz/vmr9: Don't expose IVMRMonitorConfig9 in renderless mode.
|
|
quartz/vmr9: Don't expose IVMRFilterConfig from the VMR9.
|
|
quartz/vmr9: Don't expose IVMRMonitorConfig from the VMR9.
|
|
include: Add INetworkEvents and some enums to netlistmgr.idl.
|
|
quartz: Implement IVMRAspectRatioControl9.
|
|
netprofm: Create a connection point object for INetworkEvents.
|
|
|
|
Giovanni Mascellani (3):
|
|
d2d1: Implement D2D1SinCos().
|
|
d2d1: Implement D2D1Tan().
|
|
d2d1: Implement D2D1Vec3Length().
|
|
|
|
Hans Leidekker (10):
|
|
msi: Use wide character string literals in action.c.
|
|
msi: Use wide character string literals in dialog.c.
|
|
msi: Use wide character string literals in msi.c.
|
|
msi: Use wide character string literals in package.c.
|
|
msi: Use wide character string literals in registry.c.
|
|
msi: Use wide character string literals in classes.c.
|
|
msi: Use wide character string literals in the remaining files.
|
|
msi/tests: Use wide character string literals.
|
|
wbemprox/tests: Test more sound device properties.
|
|
jscript: Fix allocation size in BindFunction_call.
|
|
|
|
Huw D. M. Davies (45):
|
|
riched20: Pass a row ptr to the cursor from row function.
|
|
riched20: Use row ptrs in the cursor from virtual co-ords function.
|
|
riched20: Use row and para helpers for the selection function.
|
|
riched20: Use row helpers for Home/End key handling.
|
|
riched20: Use row ptrs in the cursor to co-ordinates function.
|
|
riched20: Use row and para helpers in the extend selection function.
|
|
riched20: Use a run helper in the delete text function.
|
|
riched20: Use a row ptr in the run drawing function.
|
|
riched20: Use row and para ptrs in the ensure visible function.
|
|
riched20: Fix the struct size check in the para fmt retrieval function.
|
|
riched20: Pass para ptrs to the various para selection functions.
|
|
riched20: Use a helper function to find the first row.
|
|
riched20: Use a helper to find the next run.
|
|
riched20: Use the paragraph from the cursor.
|
|
riched20: Use a helper to retrieve the first run.
|
|
riched20: Use para and run ptrs in the table deletion function.
|
|
riched20: Use cell ptrs in the append table row function.
|
|
riched20: Use cell ptrs in the table tab handler.
|
|
riched20: Use paragraph ptrs in the table move from row start function.
|
|
riched20: Remove the table corruption check function.
|
|
riched20: Use a paragraph ptr in the stream in function.
|
|
riched20: Use paragraph ptrs in the selection link check function.
|
|
riched20: Use paragraph ptrs in the enter handler.
|
|
riched20: Use a run ptr in the rtf row handler.
|
|
riched20: Use paragraph and run ptrs in the find text function.
|
|
riched20: Use paragraph ptrs in the WM_CHAR handler.
|
|
riched20: Use a run ptr in the link notify function.
|
|
riched20: Use para and row ptrs in the EM_GETFIRSTVISIBLELINE handler.
|
|
riched20: Return a row ptr from the row from row number function.
|
|
riched20: Use run ptrs in the EM_GETLINECOUNT handler.
|
|
riched20: Use row ptrs in the EM_GETLINELENGTH handler.
|
|
riched20: Use run ptrs in the text retrieval function.
|
|
riched20: Remove unused ME_RowStart().
|
|
riched20: Use para and row ptrs in the row number from offset function.
|
|
riched20: Use a paragraph ptr in the clipboard get text function.
|
|
riched20: Use a paragraph ptr in the rtf writer function.
|
|
riched20: Use a cell helper in the split paragraph undo function.
|
|
riched20: Return a row ptr from the row creation function.
|
|
riched20: Use para_in_table() instead of IsInTable().
|
|
riched20: Pass paragraph ptrs to the para marking function.
|
|
riched20: Use more cell helpers in some of the table functions.
|
|
riched20: Use cell ptrs in the paragraph splitting and joining functions.
|
|
riched20: Use cell ptrs to link the cells.
|
|
riched20: Add next / prev run from cursor helpers.
|
|
riched20: Use paragraph and run ptrs in the cursor structure.
|
|
|
|
Jacek Caban (1):
|
|
mshtml: Ignore attempts to set read only builtin properties in IE9+ mode.
|
|
|
|
Jan Sikorski (1):
|
|
wininet: Prevent use after free in logging.
|
|
|
|
Matteo Bruni (1):
|
|
winemac: Update the stored display settings immediately.
|
|
|
|
Michael Stefaniuc (21):
|
|
wmic: Use wide-char string literals.
|
|
wmiutils: Use wide-char string literals.
|
|
wmp: Use wide-char string literals.
|
|
sapi: Zero terminate some WCHAR strings.
|
|
powrprof: Use wide-char string literals.
|
|
sapi/tests: Use wide-char string literals.
|
|
msxml3/tests: Use wide-char string literals.
|
|
appwiz.cpl: Use wide-char string literals.
|
|
appwiz.cpl: Use zero terminated wide-char strings.
|
|
serialui: Use wide-char string literals.
|
|
mshtml: Use wide-char string literals in struct initialization.
|
|
wscript: Use wide-char string literals.
|
|
wscript: Zero terminate the host version string to avoid random garbage.
|
|
wscript: Use a zero terminated wchar string.
|
|
winedevice: Don't make a variable const just to cast the const away.
|
|
winedevice: Use wide-char string literals.
|
|
svchost: Use wide-char string literals.
|
|
svchost: Inline a simple string.
|
|
pdh: Use wide-char string literals.
|
|
mpr: Use wide-char string literals.
|
|
jscript: Use wide-char string literals in struct initialization.
|
|
|
|
Myah Caron (3):
|
|
include: Introduce MEM_EXTENDED_PARAMETER.
|
|
ntdll: Stub NtAllocateVirtualMemoryEx.
|
|
kernelbase: Implement VirtualAlloc2.
|
|
|
|
Nikolay Sivov (29):
|
|
evr/mixer: Add IMFClockStateSink stub.
|
|
mf/evr: Notify mixer and presenter on clock state changes.
|
|
mf/evr: Implement OnClockSetRate().
|
|
mfplat: Add IMFGetService stub for 2D memory buffer.
|
|
evr: Implement sample allocator.
|
|
include: Remove confusing comment.
|
|
include: Add IMFVideoSampleAllocatorEx.
|
|
evr/tests: Add sample allocator test with surface-backed buffers.
|
|
mfplat: Implement MFCreateDXSurfaceBuffer().
|
|
evr/allocator: Use different buffer implementation for surface buffers.
|
|
evr: Add MFCreateDXSurfaceBuffer() forward.
|
|
evr/presenter: Set mixer output type on type negotiation.
|
|
mf/copier: Move sample copier to its own file.
|
|
mf/evr: Pass incoming samples to the mixer.
|
|
mf/evr: Notify presenter on new input.
|
|
mfplat: Consider first type entry when returning major type for stream descriptors.
|
|
mfreadwrite/tests: And some more tests for ReadSample() and failing requests.
|
|
mfplat: Implement MFFrameRateToAverageTimePerFrame().
|
|
mfmediaengine: Keep "preload" property.
|
|
mfplat: Implement MFMapDXGIFormatToDX9Format().
|
|
mfmediaengine: Add video output topology branch.
|
|
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY on first video sample.
|
|
mfmediaengine: Implement OnVideoStreamTick().
|
|
mfmediaengine: Implement GetNativeVideoSize().
|
|
evr/presenter: Create dedicated thread to handle presentation time.
|
|
evr/presenter: Implement GetCurrentMediaType().
|
|
mfmediaengine: Implement GetVideoAspectRatio().
|
|
mfmediaengine: Handle shutdown state in GetNativeVideoSize().
|
|
evr/sample: Use separate thread for tracking notifications.
|
|
|
|
Olivier F. R. Dierick (1):
|
|
windowscodecs: Include system header png.h before Windows headers.
|
|
|
|
Paul Gofman (3):
|
|
kernel32: Align stack in get_proc_address_wrapper().
|
|
kernelbase: Align stack in GetProcAddress() on x64.
|
|
kernel32: Add string for E_FAIL error.
|
|
|
|
Pengpeng Dong (1):
|
|
wbemprox: Implement Win32_SoundDevice.{DeviceID, PNPDeviceID}.
|
|
|
|
Robert Wilhelm (1):
|
|
vbscript: Allow keywords to be used as function name.
|
|
|
|
Rémi Bernon (4):
|
|
mscoree/tests: Test invalid assembly paths in registry.
|
|
mscoree/tests: Test querying interfaces with generated GUID.
|
|
mscoree: Fallback to assembly name if codebase path is invalid.
|
|
gdi32: Implement GdiDllInitialize stub.
|
|
|
|
Sergei Trofimovich (1):
|
|
aclocal.m4: Fix compatibility with upcoming autoconf-2.70.
|
|
|
|
Vitaly Lipatov (1):
|
|
ncrypt: Add NCryptIsKeyHandle stub.
|
|
|
|
Will Mainio (2):
|
|
msvcrt: Fix scanf with dashes in scanset.
|
|
msvcrt/tests: Add scanf tests for dashes in scanset.
|
|
|
|
Zebediah Figura (6):
|
|
ntdll: Stub NtQuerySystemInformation(SystemExtendedProcessInformation).
|
|
ntdll: Don't check "info" for NULL in NtQuerySystemInformation(SystemModuleInformation).
|
|
ntdll/tests: Add more tests for SystemModuleInformation[Ex].
|
|
ntdll: Semi-stub SystemModuleInformationEx.
|
|
quartz/tests: Add some more tests for seeking formats.
|
|
quartz: Treat a filter as supporting IMediaSeeking only if it supports TIME_FORMAT_MEDIA_TIME.
|
|
|
|
Zhiyi Zhang (12):
|
|
user32/tests: Test changing to a valid depth but zero width and height display mode.
|
|
user32: Use current width or height if a mode specifies zero width or height for ChangeDisplaySettingsExW().
|
|
wined3d: Store a struct wined3d pointer in struct wined3d_swapchain_state.
|
|
winemac.drv: Send HTMENU instead of HTCAPTION to query window activation.
|
|
winex11.drv: Update a comment.
|
|
d3d8/tests: Restore display modes at the end of test_wndproc().
|
|
d3d9/tests: Restore display modes at the end of test_wndproc().
|
|
ddraw/tests: Test display mode restoration.
|
|
d3d8/tests: Test display mode restoration.
|
|
d3d9/tests: Test display mode restoration.
|
|
dxgi/tests: Test display mode restoration.
|
|
wined3d: Restore display modes for all outputs when doing mode restoration.
|
|
|
|
--
|
|
Alexandre Julliard
|
|
julliard@winehq.org
|