The Wine development release 4.3 is now available.
What's new in this release (see below for details):
- Reimplementation of XAudio2 using the FAudio library.
- Mono engine updated to the latest upstream.
- More modern handling of iconic windows.
- Improved handling of kernel objects.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.3.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 4.3 (total 45):
1719 MDI child window minimize problem in Delphi VCL applications
7287 Redundant "tabs" appear with tabbed MDI (test with LTSpice)
8226 DlgDirListComboBox does not fail properly on bad path spec argument
15703 LEGO Star Wars controller options
18496 BREW simulator always shows a black display
19777 Ad Astra game runs very slow
21023 SetupDiOpenDevRegKey() returns wrong HKEY
26653 Multiple VB6 applications need oleaut32 VarRound to support VT_DECIMAL
31954 Second Sight hangs with a black screen after the intro videos
32374 List box with LBS_NODATA set, has very low performance, depending on items count.
35516 Microworlds EX hangs when clicking toolbar button
37705 Heroes of Might and Magic VI Shades of Darkness Textures Fail to Display in Most Campaign Maps
38488 Wrong traces in functions *_invalidate_location
39932 bat-script with quotes cann't be called using CreateProcess
41670 BattlEye launcher stuck at 'Starting BattlEye Service...' (PUBG, Planetside2, H1Z1: King of the Kill, Tibia 11)
43395 Wine intermittently crashes after any program terminates
43659 Jurassic Park: Operation Genesis crashes inside winegstreamer (disabling winegstreamer is a workaround)
44300 Windows Media Player 7.1 fails to play media due to unimplemented function wmvcore.dll.WMCheckURLExtension
45149 Provide mscoree.dll.CorIsLatestSvc stub with diagnostic message to tell native MS .NET CLR bootstrapper must be used (dll override)
45631 League of Legends client crashes when joining a lobby with other players
45632 Garena client v2.0.x crashes on startup ('ntdll.NtQueryVirtualMemory' needs to validate 'MemoryInformationLength' before writing to buffer)
45841 Battleye's BEDaisy.sys requires that PsThreadType and PsProcessType are defined
46105 TopoEdit crashes with unimplemented function mf.dll.MFCreateSequencerSource
46245 V-sync setting does not work (Direct3D 12)
46318 vbscript doesn't parse if identifier is also keyword token
46319 32-bit IL-only executable launched as 32-bit subprocess on Wine and 64-bit subprocess on Windows
46442 FormatCurrency(9) returns .9.00 (period in front)
46481 strftime has a buffer overflow
46493 Functions ilogb* are not implemented
46583 LINE latest version doesn't work
46623 Game controller behaves incorrectly
46638 dotnet40 no longer installs using winetricks
46639 LoadLibraryShim fails in wow64
46654 dotnet35sp1 fails to install with winetricks
46678 Width of latin characters is wrong with some fonts.
46681 TopoEdit crashes with unimplemented function mf.dll.MFCreateTopologyNode
46691 comctl32/tests/propsheet.c shows uninitalized memory use
46708 Photoline crashed right after start, no problem with wine 3.0.4
46717 TopoEdit crashes with unimplemented function mf.dll.MFCreateTopoLoader
46719 iTunes crashes during the installation
46724 Call of Juarez: Bound in Blood crashes on startup when using FAudio
46727 Alekhine's Gun crashes on startup when using FAudio
46728 dotnet35sp1 fails to complete with install via winetricks
46729 Wine directx not detecting Intel HD Graphics 620 (Rev 02) chipset
46732 BleachBit-2.0 crashes at startup
----------------------------------------------------------------
Changes since 4.2:
Alexandre Julliard (12):
kernel32/tests: Add a test to check some fields in fake dlls.
winebuild: Align resource data to dword boundaries even on 64-bit.
winebuild: Make thiscall an entry point flag instead of a function type.
winebuild: Add support for fastcall entry points.
ntdll: Support relay debugging of fastcall entry points.
ntdll: Use the fastcall flag for RtlInterlockedPushListSList.
hal: Specify fastcall entry points using the appropriate spec file flag.
ntoskrnl.exe: Specify fastcall entry points using the appropriate spec file flag.
kernel32/tests: Use GetTempFileName() instead of hardcoding directory names.
winebuild: Use stdcall for fastcall wrappers.
winebuild: Make relay entry points hot-patchable.
wrc: Don't map version block names to the target language.
Alistair Leslie-Hughes (8):
oleaut32: Support VT_DECIMAL in VarRound.
mf: Add IMFSequencerSource stub.
kernel32: Correct GetCurrencyFormatW/A spec entries.
oleaut32: Correctly get the Currency separator in VarFormatCurrency.
oleaut32: Correctly get the thousands separator in VarFormatCurrency.
oleaut32: Correctly get the Grouping separator.
include: Add more DB_E_* defines.
vbscript: Move variable declaration outside of for.
Andrew Eikum (1):
xaudio2: IXAPO::Process out parameter should not be const.
Andrey Gusev (11):
ext-ms-win-ntuser-windowclass-l1-1-0: Add dll.
ext-ms-win-ntuser-window-l1-1-0: Add dll.
ext-ms-win-ntuser-window-l1-1-4: Update spec file.
ext-ms-win-gdi-dc-create-l1-1-0: Add dll.
ext-ms-win-gdi-draw-l1-1-0: Add dll.
ext-ms-win-ntuser-gui-l1-1-0: Add dll.
ext-ms-win-gdi-font-l1-1-0: Add dll.
ext-ms-win-gdi-font-l1-1-1: Add dll.
ext-ms-win-ntuser-dialogbox-l1-1-0: Add dll.
ext-ms-win-ntuser-message-l1-1-0: Add dll.
ext-ms-win-ntuser-misc-l1-1-0: Add dll.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
comctl32: Fix a memory leak (valgrind).
Brendan McGrath (2):
vbscript: Allow most keywords to be used as 'dot' identifiers.
vbscript: Add todo test for 'rem' as 'dot' identifier.
Byeong-Sik Jeon (1):
gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.
Daniel Lehman (1):
kernel32/tests: Add tests for SpecialCasing.
Dmitry Timoshkov (8):
windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.
windowscodecs/tests: Add a test for 8bpp indexed TIFF format.
windowscodecs: Fix the SupportsTransparency flag value for various pixel formats.
windowscodecs: Fail earlier in TIFF decoder's Initialize method for unsupported pixel formats.
windowscodecs: Avoid redundant checks when reading a TIFF tile.
windowscodecs: Add support for CMYK to BGR conversion.
windowscodecs: Move JPEG frame image data initialization from Frame::CopyPixels to Decoder::Initialize.
wpcap: Fix compilation with recent pcap/pcap.h versions.
Ethan Lee (3):
xaudio2: Rewrite to use FAudio.
xaudio2: Fix uninitialized variable access (Valgrind).
xaudio2: IXAudio23 needs its own interface, for XAUDIO23_VOICE_SENDS parameters.
Gabriel Ivăncescu (22):
comctl32/listbox: Use a helper to retrieve item height by index.
comctl32/listbox: Use a helper to set item height by index.
comctl32/listbox: Move the item data insertion into a separate function.
comctl32/listbox: Move the item data removal into a separate function.
comctl32/listbox: Implement LBS_NODATA for single-selection listboxes.
comctl32/tests: Test negative counts in LB_SETCOUNT.
user32/listbox: Use a helper to retrieve item height by index.
user32/listbox: Use a helper to set item height by index.
user32/listbox: Move the item data insertion into a separate function.
user32/listbox: Move the item data removal into a separate function.
user32/listbox: Implement LBS_NODATA for single-selection listboxes.
user32/tests: Test negative counts in LB_SETCOUNT.
comctl32/listbox: Use is_item_selected in GetSelCount and GetSelItems.
user32/listbox: Use is_item_selected in GetSelCount and GetSelItems.
comctl32/listbox: Use a helper to set item data by index.
comctl32/listbox: Rewrite FindString to use helpers and avoid the macro.
comctl32/listbox: Use a helper to get the size of an item.
comctl32/listbox: Implement LBS_NODATA for multi-selection listboxes.
user32/listbox: Use a helper to set item data by index.
user32/listbox: Rewrite FindString to use helpers and avoid the macro.
user32/listbox: Use a helper to get the size of an item.
user32/listbox: Implement LBS_NODATA for multi-selection listboxes.
Gijs Vermeulen (2):
ntdll: Validate len in NtQueryVirtualMemory.
mfplat: Implement MFHeap[Alloc|Free].
Hans Leidekker (13):
msi: Don't use delay imports.
winhttp: Include URL extra info in the path unless the caller asks for it separately.
winhttp: Introduce a structure to describe URL components.
secur32: Fix the username fallback in get_key_container_path.
ws2_32: Always set overlapped status in AcceptEx.
mscms: Add a partial implementation of WcsOpenColorProfileA/W.
mscms: Map BM_KYMCQUADS to TYPE_KYMC_8.
mscms: Set last error on insufficient buffer in EnumColorProfilesA/W.
msi: Don't use globals to manage assembly cache state.
fusion: Use bcrypt to compute the assembly token.
dnsapi: Add support for DNS_TYPE_OPT records.
dnsapi: Fix data length returned for records that contain Unicode strings.
dnsapi: No longer prefer native.
Henri Verbeet (1):
wined3d: Get rid of unused wined3d_blit_op enum elements.
Huw D. M. Davies (4):
server: Add new pipe servers to the end of the servers list.
ntoskrnl.exe: Add stubs for PsSuspendProcess() and PsResumeProcess().
comctl32/listbox.c Use helper functions for item initialization.
user32/listbox: Use helper functions for item initialization.
Isira Seneviratne (8):
wordpad: Update STRING_TEXT_FILES_UNICODE_TXT string to plural format.
po: Add Tamil translation.
po: Update Sinhala translation.
po: Update Sinhala translation.
kernel32: Add the Sinhala NLS file.
kernel32: Fix LOCALE_SSCRIPTS value for Sinhala.
po: Update Sinhala translation.
po: Update German translation.
Jacek Caban (19):
include: Add atlthunk.h.
atlthunk: Add stub DLL.
atlthunk: Implement AtlThunk functions.
atlthunk/tests: Add tests.
ntdll/tests: Introduce test_object_type helper.
server: Support process object type.
server: Support thread object type.
server: Support token object type.
server: Return proper object type for mailslot and device files.
ntoskrnl.exe/tests: Add object reference tests.
ntoskrnl.exe: Export object type values.
ntoskrnl.exe: Introduce common kernel object allocator and use it for driver object.
ntoskrnl.exe: Use kernel object allocators for device object.
ntoskrnl.exe: Add missing ObReferenceObject call to ObReferenceObjectByName.
ntoskrnl.exe: Use kernel object allocators for file object.
ntoskrnl.exe: Add partial ObReferenceObjectByHandle implementation.
ntoskrnl.exe: Implement ObReferenceObject and ObDereferenceObject.
ntoskrnl.exe: Implement file object constructor.
jscript: Use flatten string in create_regexp debug traces.
Jactry Zeng (1):
mfplat: Add MFCreateMFByteStreamOnStreamEx() stub.
Józef Kucia (14):
wined3d: Add new registry setting to select shader backend.
d3d11: Use better name for current entry variable in validate_stream_output_entries().
dxgi/tests: Run test_swapchain_present() on D3D12.
dxgi: Always use user images instead of using Vulkan swapchain directly.
dxgi: Re-create swapchain on VK_ERROR_OUT_OF_DATE_KHR.
dxgi: Set Vulkan swapchain size according to VkSurfaceCapabilitiesKHR.
dxgi: Use VK_FILTER_LINEAR for swapchain blits if dimensions don't match.
d3d12/tests: Add test for swapchain and window sizes mismatch.
dxgi: Implement 0 sync interval for D3D12 swapchains.
dxgi: Recreate Vulkan swapchain only when current buffer index is 0.
d3d12/tests: Add test for backbuffer index after changing sync interval.
wined3d: Rename ShaderBackend registry setting to shader_backend.
wined3d: Add GPU information for Intel HD Graphics 620.
winevulkan: Use VkBase{In, Out}Structure instead of custom structure.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (2):
ole32: Add CoEnableCallCancellation stub.
ole32: Add CoDisableCallCancellation stub.
Mark Jansen (2):
msi: Do not leak rootkey.
msi: Prevent uninitialized variable usage.
Matteo Bruni (10):
d3dx9: Simplify get_parameter_by_name().
d3d8/tests: Add a test for Reset() with bound DEFAULT resources.
d3d9/tests: Add a D3D9Ex test for Reset() with bound resources.
d3d9/tests: Fix device tests on Windows 10.
d3d8/tests: Fix device tests on Windows 10.
d3d9: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d8: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d9/tests: Add a test for drawing with released buffers.
d3d8/tests: Add a test for drawing with released buffers.
d3dx9: Get rid of the ID3DXEffectImpl #define.
Michael Stefaniuc (37):
oleaut32/tests: Propagate the const instead of casting it away.
hnetcfg: Remove redundant "not NULL" check (coccinellery).
winmm/tests: Floating point numeric constants are by default doubles.
secur32: Use offsetof() instead of pointer substraction.
msxml3: Remove useless casts to self.
msxml3/tests: Floating point numeric constants are by default doubles.
d3d8/tests: Remove useless casts to self.
ddraw/tests: Avoid using the comma operator (coccinellery).
mshtml: Remove useless casts to self.
d3dx9: Remove redundant "not NULL" checks (coccinellery).
d3dx9/tests: Avoid using the comma operator (coccinellery).
shell32: Remove superfluous continue (coccinellery).
kernel32: Remove redundant not 0 check (coccinellery).
wineandroid.drv: Remove redundant not-NULL checks (coccinellery).
ddraw/tests: Remove redundant not NULL check (coccinellery).
oledb32: Remove redundant not-NULL check (coccinellery).
ntdll: Remove redundant not-NULL check (coccinellery).
comctl32: Avoid using the comma operator.
wintrust: Remove redundant not-NULL checks (coccinellery).
kernelbase: Remove redundant not-NULL check (coccinellery).
gdiplus: Remove redundant not-NULL checks (coccinellery).
msvcp120/tests: Avoid using the comma operator.
crypt32: Remove an unused return variable (coccinelle).
gdi.exe16: Remove an unused return variable (coccinelle).
shlwapi: Remove redundant not-NULL check (coccinellery).
msvcrt: Remove redundant not-NULL check (coccinellery).
pdh: Remove redundant not-NULL check (coccinellery).
gdiplus: Remove useless casts to self.
windowscodecs: Remove redundant not-NULL check (coccinellery).
d3dx9: Rename the ID3DXEffect object and methods.
d3dx9: Merge the stub ID3DXBaseEffect methods.
d3dx9: Merge the d3dx9_effect_GetDesc() helper.
msxml3: Remove redundant not-NULL check (coccinellery).
dwrite: Remove useless casts to self.
riched20/tests: Avoid using the comma operator.
ole32: Remove useless casts to self.
urlmon: Remove useless casts to self.
Nikolay Sivov (44):
wbemprox/tests: Add a simple test for semi-synchronous mode behaviour.
comctl32/toolbar: Draw button in idle state when mouse is captured.
comctl32/toolbar: Send BN_CLICKED for button that was pressed, not released.
comctl32/updown: Make sure buttons rectangles are consistent with each other.
mfplat: Implement MFCreateAsyncResult().
po: Update Russian translation.
mfplat/tests: Remove initialization from tests that don't need it.
mfplat: Hold platform lock for async results lifetime.
mfplat: Add basic support for user queue object lifetime management.
mfplat: Add trivial implementation of MFCopyImage().
mf: Add attributes store to topology object.
mf: Add IMFTopologyNode stub.
mfplat: Implement MFInvokeCallback().
mf/tests: Add some tests for node management.
mfreadwrite: Add MFReadWriteClassFactory stub.
mfreadwrite/tests: Initialize COM only for tests that need it.
mfreadwrite: Add CreateInstanceFromObject() stub for source reader.
mf: Assign node id on creation.
mf/tests: Add another test for duplicate node ids.
mfplat: Implement MFCreateCollection().
mf: Implement topology node handling.
mfplay: Add stub dll.
mf: Add support for source and output collections.
mf/tests: Add a basic test creating media session.
mf: Use event queue for session event handling.
mf: Add IMFTopoLoader stub.
mf: Assign topology identifiers.
mfreadwrite: Add sink writer stub.
comctl32/propsheet: Avoid posting uninitialized data (Valgrind).
usp10: Use single path for all fonts in ScriptGetCMap().
mf/tests: Fix typos in test messages.
ucrtbase: Add ilogb* functions.
mfplat/tests: Add a test for deferred item posting.
mfplat: Initialize system queues on startup.
mfplat: Add MFAllocateWorkQueueEx().
mfplat: Add a helper to create async result objects.
mfplat: Add basic support for submitting work items.
mfplat/tests: Add some tests for serial queues.
mfplat: Implement waiting items with ability to cancel.
mfplat: Add support for scheduled items.
mfplat: Cleanup user queues.
mfplat: Fail to create user queues on uninitialized platform.
user32: Do not touch some of the values on 64-bit with SetWindowLong().
user32: Make GetWindowLong() fail for some values on 64-bit.
Paul Gofman (8):
kernel32/tests: Add test for overlapped file read.
ntdll/tests: Add more tests for overlapped file read.
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of no buffering.
wined3d: Only use the LSB of the _SAMP_SRGB_TEXTURE state value.
kernel32/tests: Test ReadFileScatter() completion status with FILE_SKIP_COMPLETION_PORT_ON_SUCCESS.
ntdll/tests: Test ReadFile() completion status with FILE_SKIP_COMPLETION_PORT_ON_SUCCESS.
ntdll: Pass async parameter to add_fd_completion server call.
wined3d: Add a setting to turn off aggressive optimization on NVIDIA.
Piotr Caban (3):
winebuild: Recognize armv7a target.
msvcrt: Fix buffer overflow in _get_tzname.
msvcp140: Don't forward __ExceptionPtrCreate to msvcr120.
Sebastian Lackner (1):
server: Improve handling of cursor position clipping for empty rectangle.
Stefan Riesenberger (4):
opengl32: Add wrapper for wglCreateContext.
d3d11: Avoid calling D3D11CreateDevice() from D3D11CreateDeviceAndSwapChain().
d3d10_1: Avoid calling D3D10CreateDevice1() from D3D10CreateDeviceAndSwapChain1().
d3d10: Avoid calling D3D10CreateDevice() from D3D10CreateDeviceAndSwapChain().
Sven Baars (10):
wbemprox: Initialize a variable (Coverity).
windowscodecs/tests: Fix a memory leak (Valgrind).
windowscodecs: Add missing source_bpp initialization (Valgrind).
setupapi: Add a missing return statement (Coverity).
dinput8/tests: Fix some memory leaks (Valgrind).
wined3d: Remove a redundant adapter_count check (Coverity).
gdiplus/tests: Fix a memory leak (Valgrind).
msdmo: Allow for names to be NULL in IEnumDMO_Next.
devenum: Don't pass a name argument to IEnumDMO_Next.
dsound: Add missing SetEventHandle error handling (Coverity).
Vijay Kiran Kamuju (6):
crypt32: Add CMSG_SIGNER_UNAUTH_ATTR_PARAM implementation.
wmvcore: Add stub for WMCheckURlExtension.
user32: Add DlgDirList wildcard checks.
include: Add missing WMT_RIGHTS enum definition.
include: Add missing IWMSyncReader2 interfaces.
wmvcore: Add tests for WMCreateSyncReader.
Vincent Povirk (3):
mscoree: Update Wine Mono to 4.8.0.
gdiplus: Add support for reading nested metafiles.
mscoree: Add support for config stream in GetRequestedRuntime.
Zebediah Figura (65):
user32/tests: Add tests for GetWindowPlacement() and SetWindowPlacement().
user32/tests: Add tests for maximizing and minimizing owned windows.
user32/tests: Add tests for maximizing and minimizing child windows.
user32/tests: Add tests for maximizing and minimizing MDI child windows.
user32/tests: Add tests for ArrangeIconicWindows().
user32: SetWindowPos() shouldn't change the client rect of a minimized window.
user32: Correctly calculate the client size of a minimized window.
user32: Use the C[XY]MINIMIZED rather than C[XY]ICON size for minimized windows.
user32: AdjustWindowRect() shouldn't ignore WS_MINIMIZE.
user32: Reimplement ArrangeIconicWindows() using minimized metrics.
user32: Correctly place minimized windows.
user32: Paint title bars for minimized windows.
user32: Allow clicking the restore and maximize boxes for on minimized windows.
user32: Get rid of icon titles.
user32: Move iconic windows as their border instead of their icon.
user32: Replace the minimize box with a restore box when the window is minimized.
quartz/tests/filesource: Add some tests for IBaseFilter_EnumPins().
quartz/tests/filesource: Add some tests for IBaseFilter_FindPin().
quartz/tests/filesource: Add some tests for querying pin information.
quartz/tests/filesource: Add tests for media types.
quartz/filesource: Don't check formattype in FileAsyncReaderPin_CheckMediaType().
wined3d: Rename MAX_STREAMS to WINED3D_MAX_STREAMS.
wined3d: Rename MAX_TEXTURES to WINED3D_MAX_TEXTURES.
wined3d: Rename MAX_FRAGMENT_SAMPLERS to WINED3D_MAX_FRAGMENT_SAMPLERS.
wined3d: Rename MAX_VERTEX_SAMPLERS to WINED3D_MAX_VERTEX_SAMPLERS.
wined3d: Rename MAX_COMBINED_SAMPLERS to WINED3D_MAX_COMBINED_SAMPLERS.
quartz/filesource: Correctly initialize the default media type.
quartz/filesource: Return a default media type from FileAsyncReaderPin_GetMediaType().
quartz/tests/filesource: Add some tests for pin interfaces.
quartz/tests/filesource: Add some tests for filter state.
quartz/tests/filesource: Add tests for IAsyncReader_SyncRead().
wined3d: Rename MAX_ACTIVE_LIGHTS to WINED3D_MAX_ACTIVE_LIGHTS.
wined3d: Rename MAX_CLIP_DISTANCES to WINED3D_MAX_CLIP_DISTANCES.
wined3d: Rename HIGHEST_TRANSFORMSTATE to WINED3D_HIGHEST_TRANSFORM_STATE.
quartz/filesource: Correctly report short reads from IAsyncReader_SyncRead().
quartz/tests: Clean up CommitDecommitTest().
quartz/tests: Add tests for IMemAllocator_GetProperties() and IMemAllocator_SetProperties().
quartz/tests/filesource: Add tests for IAsyncReader_SyncReadAligned().
quartz/filesource: Correctly report short reads from IAsyncReader_SyncReadAligned().
setupapi: Return the "Device Parameters" subkey for DIREG_DEV.
setupapi: Handle error translation in SetupDiOpenDevRegKey().
setupapi: Handle error translation in SetupDiDeleteDevRegKey().
setupapi: Handle error translation in SetupDiCreateDevRegKey().
msvcr120: Add nexttoward implementation.
quartz/filesource: Set the sample length in IAsyncReader_SyncReadAligned().
quartz/filesource: Remove some incorrect assertions.
quartz/tests/filesource: Add tests for IAsyncReader_Request() and IAsyncReader_WaitForNext().
quartz/tests/filesource: Add tests for IAsyncReader_BeginFlush() and IAsyncReader_EndFlush().
quartz/tests: Rename avisplitter.c to avisplit.c.
setupapi: Search for substituted strings in SetupFindNextMatchLine().
quartz/tests/avisplit: Clean up test_query_interface().
quartz: Also report the input pin in Parser_GetPinCount().
quartz/tests/avisplit: Add some tests for IBaseFilter_EnumPins().
quartz/tests/avisplit: Add some tests for IBaseFilter_FindPin().
quartz/tests/avisplit: Add some tests for querying pin information.
quartz/tests: Add some tests for media types.
quartz/tests: Add some tests for pin interfaces.
quartz/tests: Clean up test_query_interface().
quartz/tests: Add a test mp3 file.
quartz/mpegsplit: Fix sink pin name.
quartz/tests: Add some tests for IBaseFilter_EnumPins().
quartz/tests: Add some tests for IBaseFilter_FindPin().
quartz/tests: Add some tests for querying pin information.
quartz/tests: Add some tests for pin interfaces.
mshtml: Open pages in the native browser in HlinkTarget_Navigate().
Zhiyi Zhang (4):
kernelbase/tests: Fix a possible test failure.
include: Add EnumDisplayDevices flags.
user32/tests: Add more EnumDisplayDevices tests.
ntoskrnl.exe: Implement ExUuidCreate().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.2 is now available.
What's new in this release (see below for details):
- Unicode string normalization support.
- Support for ECC cryptographic keys.
- Support for mixing 32/64-bit dlls in the load path.
- Futex-based implementations for more synchronization primitives.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.2.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 4.2 (total 60):
12453 Bad performance in Source based games
17913 Port Royale: sea is black
19748 Multiple games complain about checking occlusion query results from the wrong thread (Metro 2033, Unreal Tournament 3, Counter Strike: Source, Metro 2033, Call of Duty 4, Left 4 Dead, Left 4 Dead 2, Final Fantasy XIV, Half-Life 2)
20083 SIV (System Information Viewer) v4.00 SIVDRIVER crashes to due invalid PIO_STACK_LOCATION->FileObject passed into IRP_MJ_DEVICE_CONTROL dispatch routine
21101 Can't use SHIFT key with onboard visual keyboard and wine application
23863 The Bard's Tale (2005): unplayable due to almost completely black screen
28167 EA Sports FIFA 11 crashes on startup
35096 Kerning misbehavior for Hebrew text in Office 2010
35889 wine1.6 display fuzzy chinese ttf fonts, but dialog fonts display normal
36201 valgrind shows a definite leak under crypt32/tests/store.c
36261 valgrind shows a use after free in d3d_device_inner_Release() ddraw/tests/ddraw{4,7}.c
36267 valgrind shows an invalid read in ddraw/tests/ddraw4.c
36340 valgrind shows several warnings in ddraw/tests/ddraw2.c
36343 valgrind shows some leaks in ddraw/tests/ddraw4.c
36348 valgrind shows a couple leaks in d3d9/tests/d3d9ex.c
36349 valgrind shows a few leaks in d3d9/tests/stateblock.c
36380 valgrind shows a possible leak in in ddraw/tests/ddraw1.c
36381 valgrind shows a couple possible leaks in in ddraw/tests/ddraw2.c
36382 valgrind shows a possible leak in in ddraw/tests/ddraw7.c
36620 valgrind shows a few invalid reads in ddraw/tests/ddraw1.c
36621 valgrind shows several definite leaks in ddraw/tests/ddraw1.c
36623 valgrind shows some leaks in ddraw/tests/ddraw7.c
36631 valgrind shows a definite leak in in ddraw/tests/ddraw2.c
36658 valgrind shows an invalid read in ddraw/tests/d3d.c
36660 ddraw/tests/d3d.c CapsTest crashes under valgrind
36689 ddrawex/tests/surface.c crashes under valgrind/nvidia
37639 Multiple applications crash on unimplemented function vssapi.dll.?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z (AlphaShadow v1.2, EMC Retrospect 7)
38021 64-bit Planetside 2 fails to load bundled xinput1_3.dll (loader must check architecture before trying to load module)
38138 Avencast: Rise of the Mage: invisible doors
38685 valgrind shows an invalid read in d3d9/tests/d3d9ex.c
39080 The Settlers: Rise of an Empire: world geometry broken
40036 Shadows of Destiny Crash After Begins
41168 Test Drive Unlimited Crash before entry main menu
42573 Several Flickering Senran Kagura Shinovi Versus
42704 1Password 6.4.377 needs function bcrypt.dll.BCryptDeriveKeyPBKDF2
42734 NormalizeString (Unicode normalization) is not implemented
42911 Bayonetta: launches but screen stays black
44150 Alien vs Predator: Crash in DX11 Mode
45312 AC Syndicate needs bcrypt algorythm/functions (ECDH_P256, BCryptGenerateKeyPair, BCryptFinalizeKeyPair)
45473 Rogue Squadron 3D crashes on startup
45524 Add a futex-based implementation of condition variables
45570 League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of LdrInitializeThunk)
45820 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.ExpInterlocked{Push,Pop}EntrySList
46047 Multiple applications want Windows 8+ futex-like operations kernelbase.dll.WaitOnAddress, kernelbase.dll.WakeByAddress{All,Single} (VLC)
46088 BETest tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function vssapi.dll.CreateVssBackupComponentsInternal
46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
46208 Elite Dangerous is unstable in wine-devel
46252 StarCitizen has bad performance
46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
46341 kernel32/tests/pipe.c shows uninitialized memory use in test_overlapped_transport()
46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
46516 AfterEffects CS16 headless renderer crashes due to missing crypt32 functions CryptHashCertificate2 and CryptImportPublicKeyInfoEx2
46565 Disney's Chicken Little displays text upside down
46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
46602 3D Custom Girl fails to render characters
46611 Readiris 17 fails to load when d2d1 is enabled: fixme:d2d:d2d_factory_CreateGeometryGroup iface
46617 Far Cry v1.40 locks up on the loading screen
46618 Far Cry v1.40 locks up when changing screen resolution or anti-aliasing level
46631 winecfg fails to load
46644 Ichitarou crashes when creating a new document (needs msvcrt._ismbcl1)
----------------------------------------------------------------
Changes since 4.1:
Alexandre Julliard (29):
kernel32: Fix handling of NULL argument in SetDllDirectoryA().
ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
setupapi/tests: Avoid sizeof in traces.
ntdll: Use an NT filename to search for loaded modules.
ntdll: Return an NT filename in find_dll_file().
ntdll: Pass an NT filename to get_load_order().
ntdll: Use NT filenames when loading dlls.
ntdll: Remove no longer used parameter from find_fileid_module().
ntdll: Pass a flag instead of a file handle to load_builtin_dll().
ntdll: Directly try to open the dll file instead of checking for existence first.
ntdll: Create the memory mapping for a dll directly at open time.
server: Add custom flag for fake dlls in PE image information.
ntdll: Use the image info to check for fake dlls.
ntdll: Skip dlls of the wrong machine type when searching through the load path.
crypt32: Don't build password_to_ascii without GnuTLS.
ntdll: Use the current platform as processorArchitecture instead of a wildcard.
ntdll: Reimplement init_user_process_params() using RtlCreateProcessParametersEx().
ntdll: Hardcode the path of the windows directory for redirects.
server: Create the windows directories at startup if necessary.
ntdll: Also create the initial process parameters with RtlCreateProcessParametersEx().
ntdll: Recreate the process parameters structure once everything has been initialized.
ntdll/tests: Add tests for initial process parameters layout.
dinput: Add error check to silence a compiler warning.
ntdll: Return the kernel process start address from __wine_kernel_init().
ntdll: Rename attach_dlls() to LdrInitializeThunk().
ntdll: Make the CPU information global.
ntdll: Store extended FPU context in NtGetContextThread().
ntdll: Store extended FPU state and debug registers in RtlRaiseException().
server: Report a 64-bit CPU for IL-only binaries.
Alistair Leslie-Hughes (12):
combase: Add DllGetActivationFactory stub.
comdlg32: Improve PRINT32 dialog.
secur32: Fix compile error on older gnutls.
include: Add more VSS_* typedefs.
include: Add VSS writer enums.
include: Convert header vswriter to an idl.
include: Add vsbackup.idl.
vssapi: Add CreateVssBackupComponentsInternal stub.
vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.
dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
comdlg32: Improve Printer Setup dialog.
mfplat: Implement MFGetSystemTime.
Andrey Gusev (3):
msi: Remove duplicate condition in msi_dialog_destroy().
crypt32: Remove duplicate condition in CRYPT_AsnDecodeNameValueInternal().
mscoree: Fix condition in CorDebug_Release().
Aric Stewart (2):
hidclass.sys: Prevent buffer overrun.
configure: Use SDL2_LIBS if set.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan McGrath (2):
wineboot: Fix PROCESSOR_ARCHITECTURE reg value.
vbscript: Allow more keywords to be used as identifiers.
Byeong-Sik Jeon (6):
gdi32: Fix vertical rotation.
gdi32: Add a helper function to get the transform matrices.
gdi32: Add helper functions to cache the glyph metrics.
gdi32: Add helper functions to compute the glyph metrics.
gdi32: Add helper functions to get GGO glyph bitmap.
gdi32: Add a helper macro for FreeType version check.
Dmitry Timoshkov (7):
windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.
windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.
windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.
crypt32: CryptAcquireCertificatePrivateKey should look up certificate in the user's store if not linked to a provider.
wineps.drv: Add stubs for escapes required by Adobe PageMaker.
wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
Gabriel Ivăncescu (28):
comctl32/listbox: Check for out of bounds using the index when painting the item.
comctl32/listbox: Use a helper to expand the item array.
comctl32/listbox: Shrink the item array with resize_storage.
comctl32/listbox: Return proper value for LB_INITSTORAGE.
comctl32/tests: Add tests for LB_INITSTORAGE.
user32/listbox: Check for out of bounds using the index when painting the item.
user32/listbox: Use a helper to expand the item array.
user32/listbox: Shrink the item array with resize_storage.
user32/listbox: Return proper value for LB_INITSTORAGE.
user32/tests: Add tests for LB_INITSTORAGE.
comctl32/listbox: Resize the entire item array at once in SetCount.
comctl32/listbox: Repaint the old selected item after setting the item selection.
comctl32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
comctl32/tests: Test changing the selection styles after listbox creation.
comctl32/listbox: Use a helper to retrieve item data by index.
comctl32/listbox: Use a helper to retrieve item string by index.
comctl32/listbox: Use is_item_selected in more places.
comctl32/listbox: Use a helper to set the selected item state.
comctl32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
user32/listbox: Resize the entire item array at once in SetCount.
user32/listbox: Repaint the old selected item after setting the item selection.
user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
user32/tests: Test changing the selection styles after listbox creation.
user32/listbox: Use a helper to retrieve item data by index.
user32/listbox: Use a helper to retrieve item string by index.
user32/listbox: Use is_item_selected in more places.
user32/listbox: Use a helper to set the selected item state.
user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
Hans Leidekker (14):
odbc32: Improve tracing in a number of functions.
odbc32: Work around drivers that don't accept NULL name length in SQLDescribeCol.
odbc32: Improve tracing in the remaining functions.
secur32: Add support for client certificate authentication.
crypt32/tests: Show that PFXImportCertStore doesn't set CERT_KEY_PROV_INFO_PROP_ID.
secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
secur32: Fix default return flags for schannel contexts.
wininet: Trace modifiers in hexadecimal in HttpAddRequestHeaders.
bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
bcrypt: Add support for importing and exporting ECC public keys.
bcrypt: Add support for importing and exporting ECC private keys.
bcrypt: Implement BCryptDeriveKeyPBKDF2.
msi: Initialize assembly caches before disabling redirection.
msi: Link directly to sxs.
Henri Verbeet (1):
d3d8: Improve ValidateVertexShader().
Huw D. M. Davies (7):
kernel32/tests: Move the tests to a per-test todo.
kernel32: Initial support for canonical decomposition in NormalizeString().
kernel32: Implement canonical reordering.
libport: Add support for compatibility decomposition.
libport: Add support for singleton decomposition.
kernel32: Implement canonical composing.
user32/listbox: Remove some unnecessary differences to the comctl32 version.
Isira Seneviratne (4):
po: Update Sinhala translation.
po: Update Sinhala translation.
view: Move open dialog filter string to resource file and add extensions.
po: Update Sinhala translation.
Jacek Caban (13):
ntoskrnl.exe: Properly export *SList functions on win64.
ntoskrnl.exe: Add PsRevertToSelf stub.
ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
ntoskrnl.exe/tests: Introduce get_proc_address helper.
mshtml: Add style.borderCollapse property implementation.
mstml: Add style.borderSpacing property implementation.
mshtml: Support custom user agent strings in IOmNavigator::get_appVersion.
ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
mshtml: Suport load event in HTMLXMLHttpRequest object.
mshtml: Expose nsIFormPOSTActionChannel interface from nsChannel object.
Jactry Zeng (5):
shcore: Don't return E_FAIL in IStream::SetSize() for read-only mode.
ole32/tests: Test PropVariantCopy() with VT_UNKNOWN.
propsys: Implement PSCreateMemoryPropertyStore().
propsys/tests: Add tests of IPropertyStore interface.
propsys: Implement PropVariantToDouble().
Józef Kucia (12):
d3d8/tests: Use correct index variable in test_resource_access() (Coverity).
d3d9/tests: Use correct index variable in test_resource_access() (Coverity).
d3d11: Avoid using wined3d_stream_output_element for validation.
wined3d: Do not convert SO declaration entries.
wined3d: Export wined3d_extract_shader_input_signature_from_dxbc().
wined3d: Keep original component index in stream output elements.
wined3d: Factor out shader_get_stream_output_register_info().
wined3d: Remove unnecessary src_format NULL check from arbfp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from ffp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
ddraw/tests: Destroy viewport in test_lighting_interface_versions() (Valgrind).
wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
Kai Krakow (1):
editorconfig: Indent Makefiles properly.
Ken Thomases (1):
winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (7):
d3d9: Refuse to create D3DUSAGE_WRITEONLY textures.
d3d8: Refuse to create D3DUSAGE_WRITEONLY textures.
ddraw: Refuse to create non-managed DDSCAPS_WRITEONLY surfaces.
wined3d: Cleanup stateblock state before enumerating resources.
d3d9: Keep track of D3DUSAGE_AUTOGENMIPMAP textures in the d3d9 device.
d3d11/tests: Simplify test_cb_relative_addressing() a bit.
d3d10core/tests: Simplify test_cb_relative_addressing() a bit.
Michael Müller (2):
ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
ntoskrnl.exe: Implement NtBuildNumber.
Michael Stefaniuc (16):
webservices: Delete duplicated return value checks.
d3dx9/tests: Actually test the return of the effect SetInt() call.
kernelbase: Avoid TRUE : FALSE conditional expressions.
taskschd: Avoid TRUE : FALSE conditional expressions.
dmime/tests: Test the return value of IDirectMusic_SetDirectSound().
gdi32: Avoid TRUE : FALSE conditional expressions.
odbc32: Print the debug strings and not the pointers.
amstream: Remove useless cast to self.
crypt32: Remove useless cast to self.
d3d10core/tests: Remove useless casts to self.
d3dxof: Remove useless casts.
oleaut32/tests: Fix printing of an expected value.
oleaut32/tests: Floating point numeric constants are by default doubles.
ddraw/tests: Remove useless casts to self.
d3d10/tests: Remove useless casts to self.
d3d11/tests: Remove useless casts to self.
Nikolay Sivov (16):
dwrite: Implement mark-to-mark attachment, GPOS lookup 6.
dwrite: Add a stub for mark-to-ligature attachment handler.
dwrite: Fix positions in outline mode.
dwrite: Store outline offset as a vector.
comctl32/listview: Take care of scrolling offset when repositioning header.
comctl32/listview: Remove duplicated handle check.
uiautomationcore: Return success from UiaRaiseAutomationEvent().
d2d1: Add ID2D1GeometryGroup stub.
uiautomationcore: Add UiaHostProviderFromHwnd() stub.
dwrite: Use more appropriate allocation helpers.
xmllite/tests: Test complete writer output for UTF-16 case.
msvcrt: Add _ismbcl0_l().
msvcrt: Add _ismbcl1_l().
msvcrt: Add _ismbcl1().
msvcrt: Add _ismbcl2_l().
msvcrt: Add _ismbcl2().
Paul Gofman (19):
user32: Select more appropriate stretch mode for colored images interpolation.
user32/tests: Add more tests for SetWindowPos() on child window.
wined3d: Use lower 8 bits only from _ALPHAREF state.
d3d9/tests: Add test for bigger alpha reference values.
d3d8/tests: Port test_alphatest() from d3d9.
wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().
d3d9/tests: Test mismatched multisample quality with D3DMULTISAMPLE_NONE.
ddraw/tests: Port test_alphatest() from d3d9.
wined3d: Initialise stream frequency to 1.
d3d9/tests: Test GetStreamSourceFreq() before any values were set.
wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
d3d9/tests: Add test for MaxVertexW device capability.
d3d8/tests: Add test for MaxVertexW device capability.
d3d9/tests: Add test for buffer read / write.
wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
d3dx9/tests: Clear vertex shader constants in test_effect_states().
d3dx9/tests: Add more tests for VertexShaderConstant state.
d3dx9: Handle short parameter in d3dx_set_shader_const_state().
d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
Piotr Caban (9):
kernel32/tests: Add file mapping tests on readonly file.
kernel32/tests: Test that copy-on-write file mapping is not modifying the file.
api-ms-win-crt-private-l1-1-0: Add __std_terminate implementation.
msvcrt: Add _ismbbtrail_l implementation.
msvcrt: Add _ismbclegal_l implementation.
msvcrt: Validate character in _ismbcl0.
msvcrt: Use mbtowc/wctomb for string conversion in printf.
msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
msvcrt: Change __getmainargs signature.
Sergio Gómez Del Real (2):
riched20: Mask out extended flags introduced by CHARFORMAT2 when converting to CHARFORMAT.
gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
Sven Baars (9):
ole32: Fix some memory leaks (Valgrind).
riched20: Fix IRichEditOle COM aggregation (Valgrind).
shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
mstask: Fix some memory leaks on error path (Valgrind).
mstask: Move memory allocation to avoid a memory leak (Valgrind).
taskschd: Fix some memory leaks (Valgrind).
ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
wininet/tests: Fix some memory leaks (Valgrind).
webservices/tests: Add a missing closesocket call (Coverity).
Vijay Kiran Kamuju (1):
setupapi: Add stub for CM_Get_Sibling.
Yussur-Mustafa Oraji (1):
httpapi: Add stub for HttpCloseServerSession.
Zebediah Figura (36):
wined3d: Set the correct matrix in wined3d_device_multiply_transform().
wined3d: Store texture states in the wined3d_stateblock_state structure.
wined3d: Store textures in the wined3d_stateblock_state structure.
wined3d: Factor out init_default_sampler_states().
wined3d: Store sampler states in the wined3d_stateblock_state structure.
kernelbase/tests: Relax tests for WaitOnAddress().
ntdll: Add a futex-based implementation of WaitOnAddress().
winebus.sys: Translate SDL controller axes to unsigned 32-bit values.
hid: Don't sign-extend 16-bit values.
wined3d: Store transforms in the wined3d_stateblock_state structure.
wined3d: Store clip planes in the wined3d_stateblock_state structure.
wined3d: Store the material in the wined3d_stateblock_state structure.
wined3d: Store the viewport in the wined3d_stateblock_state structure.
wined3d: Store the scissor rect in the wined3d_stateblock_state structure.
wined3d: Store the index buffer in the wined3d_stateblock_state structure.
wined3d: Store vertex declaration in the wined3d_stateblock_state structure.
wined3d: Store blend factor in the wined3d_stateblock_state structure.
wined3d: Store stream state in the wined3d_stateblock_state structure.
ntdll: Reimplement condition variables on top of RtlWaitOnAddress().
comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
comsvcs: Create an implicit MTA thread in RegisterDispenser().
ntdll: Add a direct futex-based implementation of condition variables.
oleaut32: Register non-dual dispinterfaces using the correct proxy.
wined3d: Get rid of apply_lights() helper.
wined3d: Introduce a separate structure for light state.
wined3d: Introduce wined3d_state_set_light() helper.
wined3d: Store lights in the wined3d_stateblock_state structure.
wined3d: Correct indices for contained states in wined3d_stateblock_apply().
user32/tests: Execute test_shell_window() last.
wined3d: Get rid of the "update_state" field from struct wined3d_device.
wined3d: Get rid of the "state" field from struct wined3d_stateblock.
hid: Correctly sign-extend all values in HidP_GetScaledUsageValue().
hid: Scale from logical to physical coördinates in HidP_GetScaledUsageValue().
xinput: Use HidP_GetScaledUsageValue().
xinput: Use a struct instead of an array to store axis information.
xinput: Fix axis scaling arithmetic.
Zhiyi Zhang (2):
setupapi: Implement SetupDiSetDevicePropertyW.
setupapi: Implement SetupDiGetDevicePropertyW.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.1 is now available.
What's new in this release (see below for details):
- Support for NT kernel spinlocks.
- Better glyph positioning in DirectWrite.
- More accurate reporting of CPU information.
- Context handle fixes in the IDL compiler.
- Preloader fixes on macOS.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.1.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 4.1 (total 30):
11070 importpfx fails, needs PFXImportCertStore implementation
33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
38274 White water in Heroes VI (DXTn volume textures)
38558 cmd.exe bundled with Windows XP messed up when using FOR /F
39663 GOG Galaxy client 1.x hangs or reports 'Something went wrong during DeelevateStrategy' error in Win7 mode (GOG Galaxy service needs wtsapi32.WTSQueryUserToken implementation)
39890 Orcish Inn fails to start with exception System.NotImplementedException
40441 Chicken tournament crashes when loading texture
42491 wine builds are not reproducible (widl needs initializization of datatype2 in add_typedef_typeinfo)
43252 IcmpSendEcho doesn't work with a ReplySize<56
43322 Regression in Test Drive Unlimited 2, visual artifacts
44469 Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)
44941 Bioshock Remastered doesn't start in windowed mode
45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45447 [World of Tanks] Borderless window broken since 1.0.2
46137 NI Kontakt 5 crashes on unimplemented function msvcp140.dll.?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z
46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch
46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
46453 The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43
46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
46469 Only the first XInput controller is detected in wine 4.0
46479 64-bit mono crashes in RtlAddGrowableFunctionTable
46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution
46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
46488 Diablo 2 LoD: Direct3D regression: Unhandled exception: Access_violation (c0000005)
46489 ClrMamePro crashes on update attempt
46494 64bit WinMerge crash after clicking "About WinMerge"
46499 Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY)
46520 Kindred Spirits on the Roof crashes
46536 Empire Earth (GOG version) main menu rendering is broken
46569 ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version
----------------------------------------------------------------
Changes since 4.0:
Alex Henrie (1):
shell32: Rename SHELL32_714 to PathIsTemporaryW.
Alexandre Julliard (7):
ntdll: Don't crash on empty table in RtlAddFunctionTable().
ntdll: Implement RtlIsProcessorFeaturePresent().
ntdll: Round header size to page boundary before checking it in PE header conversion.
ntdll: Support loading old runtime versions of IL-only images.
kernel32/tests: Add helper function for machine type manipulations.
kernel32/tests: Try loading the dll also for matching platform type.
kernel32/tests: Add tests for dll fallback when image type doesn't match current platform.
Alistair Leslie-Hughes (8):
ole32/tests: Test for the correct IID.
mfreadwrite: Add initial tests.
include: Add MFSetAttributeSize/MFSetAttributeRatio inline functions.
crypt32: Fix compile error on older gnutls.
crypt32: Fix compile error on older gnutls.
uiautomationcore: Update spec file.
mfreadwrite: Add DllGetClassObject/DllCanUnloadNow functions.
mfreadwrite: Register MFReadWriteClassFactory interface.
Andrey Gusev (5):
d3drm/tests: Add missing HRESULT.
d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
mshtml: Remove redundant condition.
d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
d3dx11_42: Share source with d3dx11_43.
Daniel Lehman (3):
msvcrt: _towlower_l only lowercase A-Z in C locale.
msvcrt: _towupper_l only uppercase a-z in C locale.
ucrtbase/tests: Add tests for C locale.
David Adam (3):
ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
d3dx9/tests: Add more tests for D3DXMatrixTransformation().
Dmitry Timoshkov (12):
crypt32: Make sure that the provider supports the specified signature algorithm.
crypt32: Make sure that the provider supports the specified hash algorithm.
wininet: Return proper cache path from GetUrlCacheConfigInfo.
wininet: Make GetUrlCacheConfigInfo() return actual dwQuota and dwCacheSize.
crypt32: Add support for CERT_COMPARE_KEY_IDENTIFIER to CertFindCertificateInStore.
crypt32: Add support for CRYPT_ACQUIRE_SILENT_FLAG to CryptAcquireCertificatePrivateKey.
crypt32: Simplify the code.
windowscodecs: Implement IWICPalette::InitializeFromBitmap.
gdiplus: Implement GdipInitializePalette.
gdiplus/tests: Add some tests for GdipInitializePalette.
windowscodecs: Add support for converting to 8bppIndexed format.
windowscodecs: Add a NULL check to 8bpp gray converter.
Eric Bissonnette (1):
dbghelp: Support full memory dumps.
Fabian Maurer (3):
api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).
ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.
mscoree: Allow loading of registration free .NET COM objects.
Gabriel Ivăncescu (7):
shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
shell32/autocomplete: Always expand if the enumerator was reset.
libport: Handle partially overlapping buffers.
kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar.
shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
Gijs Vermeulen (5):
msvcp140: Export _Equivalent and port tests.
msvcp: Set correct error code on non-existing path in _Open_dir.
msvcp: Set target to null on error in _Open_dir.
kernel32/tests: Add CopyFile[Ex]A NULL handling tests.
msvcp: Return ERROR_INVALID_PARAMETER on NULL input in _Copy_file.
Hans Leidekker (12):
wbemprox: Support cpuid on 64-bit.
wbemprox: Strip trailing spaces from processor name.
wbemprox: Include extended model and family fields in processor properties.
wbemprox: Fix processor caption on AMD 64-bit.
wbemprox: Create one processor object per package.
crypt32: Initial implementation of PFXImportCertStore.
winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT.
crypt32: Add support for importing RSA private keys from PFX blobs.
crypt32: Support password protected PFX blobs.
wineboot: More accurate reporting of AMD and Intel processors.
secur32: Ignore spurious callbacks on macOS.
crypt32: Add support for PFX objects in CryptQueryObject.
Henri Verbeet (2):
ddraw: Implement ddraw7_FlipToGDISurface().
ddraw: Return the correct swapchain surface in ddraw7_GetGDISurface().
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
Jacek Caban (23):
widl: Fix HANDLE_PARAM_IS_RETURN flag handling.
widl: Use public HANDLE_PARAM_IS_* flags.
mshtml.idl: Add IDOMCustomEvent declaration.
rpcrt4: Fix comment about HANDLE_PARAM_IS_RETURN.
rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode.
rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations.
widl: Fix context handle as return value handling.
widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags.
mshtml: Add IDOMCustomEvent interface stub implementation.
rpcrt4: Fix context handle return value marshaling.
rpcrt4: Fix context handle return value unmarshaling.
rpcrt4/tests: Add context handle marshaling tests.
mshtml: Add IDOMCustomEvent::initCustomEvent implementation.
mshtml: Add IDOMCustomEvent::detail property implementation.
mshtml: Expose IDOMCustomEvent to scripts.
advapi32/tests: Add test using NotifyServiceStatusChange on different handles of the same service.
services: Store a list of service handles in service_entry.
services: Associate notify handle with service handle instead of service entry.
widl: Check function return values for additional prototype types.
widl: Fix handling context handle return type in mixed mode.
ntoskrnl.exe: Add __C_specific_handler entry.
ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs.
ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx.
Jon Doron (2):
kernel32: Fix MoveFileWithProgressW from closing same handle twice.
kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices.
Joshua Ashton (2):
include: Mark IDirect3D9Ex::GetAdapterDisplayModeEx() as PURE.
include: Add a few missing d3d9 constants.
Julien D'ascenzio (1):
ntdll: Correct space/mark parity.
Józef Kucia (9):
d3d9: Validate surface parameter in d3d9_device_ColorFill().
d3d10core/tests: Add test for sample_c_lz instruction.
d3d10core/tests: Add option to enable debug layer.
d3d10core/tests: Fix crashes with debug layer enabled.
d3d10core/tests: Avoid "skipping tests" in skip() messages.
wined3d: Move wined3d_bit_scan() to public header.
d3d8: Use wined3d_bit_scan() instead of open-coding it.
d3d9: Use wined3d_bit_scan() instead of open-coding it.
ddraw: Pass correct box when mapping system memory vertex buffers.
Ken Thomases (2):
libwine: On Mac, disable ASLR for Wine processes.
loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
Matteo Bruni (24):
d3dx9/tests: Expect plain render target creation to work.
d3dx9/tests: Fix a couple of ok() messages.
d3d9/tests: Add a D3D9Ex test for drawing with D3DPOOL_SYSTEMMEM buffers.
d3d9/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
d3d8/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
ddraw/tests: Test drawing with system memory textures.
d3dx9: Improve D3DXMatrixTransformation() implementation.
d3dx9: Improve D3DXMatrixTransformation2D().
d3dx9/tests: Avoid some 64-bit test failures.
d3d9/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9/tests: Test D3D9Ex vertex buffer lock address stability.
d3d8/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9: Drop map read access from the internal buffers used for user-pointer draws.
d3d8: Drop map read access from the internal buffers used for user-pointer draws.
ddraw: Drop map read access from the internal buffers used for user-pointer draws.
d3d9: Take usage flags into account when assigning map flags.
d3d8: Take usage flags into account when assigning map flags.
d3d9: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
d3d8: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
wined3d: Replace WINED3DUSAGE_WRITEONLY with resource access flags.
d3d9/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3d8/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3dx11: Downgrade ERR() to WARN() in D3DX11CreateAsyncResourceLoader*().
d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
Michael Stefaniuc (10):
dmloader: Fix a memory leak.
wineandroid.drv: Use the ARRAY_SIZE() macro.
regedit: Remove redundant NULL check before heap_free().
reg: Remove redundant NULL check before heap_free().
strmbase: Remove redundant NULL check before CoTaskMemFree().
ole32: Remove redundant NULL check before CoTaskMemFree().
windowscodecs: Use the ARRAY_SIZE() macro.
windowscodecs: Remove redundant NULL check before HeapFree().
mshtml: Print the debug string and not the pointer to it.
shell32: Avoid FALSE : TRUE conditional expressions.
Nikolay Sivov (40):
d3d11: Implement d3d11_device_GetImmediateContext1().
api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
comctl32/progress: Handle min == max case in PBM_STEPIT.
ntdll: Store range upper boundary for dynamic unwind entry.
ntdll: Keep unwind table entry count instead of a size.
ntdll: Implement growable unwind tables API.
user32/dialog: Fix setting negative dialog item ids.
dwrite: Use array for script tags.
dwrite: Use helper to trace 4 byte tags.
dwrite: Remove special case for vertical variants.
dwrite/layout: Improve overhangs metrics computation.
dwrite: Use a helper for design advances.
dwrite/analyzer: Preserve inter-cluster spacing when apply spacing properties.
dwrite/tests: Some more tests for ComputeGlyphOrigins().
dwrite: Validate font data when retrieving supported unicode ranges data.
dwrite: Validate 'gasp' data before accessing it.
dwrite: Validate 'CPAL' data before using it.
comctl32/rebar: Do not use global variable for debug buffer (Coverity).
ntdll: Make LdrFindResource_U() and LdrFindResourceDirectory_U() patchable.
shell32: Remove duplicated assignment (Coverity).
usp10/tests: Add missing return value checks (Coverity).
include: Fix a typo in D2D1_WINDOW_STATE values.
ole32: Implement chained IInitializeSpy support.
ole32/tests: Test flags passed to spy methods.
d3dx9: Use wincodecs directly without initializing COM system.
dwrite: Validate 'COLR' data before using it.
dwrite: Validate 'CBLC' data before using it.
dwrite: Validate 'sbix' data before using it.
dwrite: Validate 'VDMX' data before using it.
dwrite/tests: Add some tests for setting glyph properties from GDEF.
dwrite: Add a helper to get shaped glyph positions.
dwrite: Resolve script and language to apply positional features.
dwrite: Collect and sort positional lookups.
dwrite: Add a helper to apply positional lookup.
dwrite: Implement masking with positional lookup flags.
winhttp/tests: Add a couple of return value tests (Coverity).
dwrite: Implement single adjustment, GPOS lookup 1.
dwrite: Implement pair adjustment, GPOS lookup 2.
dwrite: Implement cursive attachment, GPOS lookup 3.
dwrite: Implement mark-to-base attachment, GPOS lookup 4.
Orhan Kavrakoğlu (3):
crypt32: Add CryptImportPublicKeyInfoEx2 stub.
crypt32: Implement CryptHashCertificate2.
crypt32/tests: Add tests for CryptHashCertificate2.
Paul Gofman (6):
d3dx9: Factor out {lock|unlock}_surface() functions.
d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
Piotr Caban (4):
msvcrt: Optimize tolower function when locale was never changed.
msvcrt: Optimize toupper function when locale was never changed.
wbemprox: Add Win32_NetworkAdapter DeviceAdapterID property.
wbemprox: Add Win32_NetworkAdapter Description property.
Sebastian Lackner (1):
wtsapi32: Improve WTSQueryUserToken stub.
Sven Baars (18):
dswave/tests: Fix a memory leak (Valgrind).
dmband/tests: Fix a memory leak (Valgrind).
dmcompos/tests: Fix a memory leak (Valgrind).
dmscript/tests: Fix a memory leak (Valgrind).
dmstyle/tests: Fix a memory leak (Valgrind).
dmusic/tests: Fix a memory leak (Valgrind).
msscript.ocx/tests: Fix some memory leaks (Valgrind).
kernel32/tests: Fix a memory leak (Valgrind).
hlink/tests: Fix some memory leaks (Valgrind).
gdiplus/tests: Fix a memory leak (Valgrind).
windowscodecs: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak on error path (Valgrind).
gdiplus/tests: Add some font family pointer tests.
wsdapi: Fix some memory leaks (Valgrind).
dmime/tests: Fix a memory leak (Valgrind).
dinput/tests: Fix some memory leaks (Valgrind).
dinput: Free the device after a callback (Valgrind).
strmbase: Fix some memory leaks (Valgrind).
Zebediah Figura (78):
d3d8/tests: Add a test for MultiplyTransform().
d3d9/tests: Add a test for MultiplyTransform().
ddraw/tests: Add a test for MultiplyTransform().
wined3d: Remove stateblock handling from wined3d_device_multiply_transform().
msi/tests: Introduce a variadic check_record() helper.
msi/tests: Use check_record() in test_columnorder().
msi/tests: Use check_record() in test_dbmerge().
msi/tests: Use check_record() in test_select_column_names().
msi/tests: Use check_record() in test_join().
setupapi: Store the path to the driver key in the device key.
setupapi: Don't use the devnode to allocate driver keys.
setupapi/tests: Create the setup class key before trying to create the driver key.
setupapi: Also remove the driver key in remove_device().
wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view().
wined3d: Remove stateblock handling from wined3d_device_set_sampler().
wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view().
wined3d: Remove stateblock handling from wined3d_device_set_stream_output().
wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer().
hal: Limit exports to the appropriate architectures.
ntoskrnl.exe: Implement KeInitializeSpinLock().
hal: Implement KeReleaseSpinLock().
ntoskrnl.exe: Implement KeReleaseSpinLock().
hal: Implement KeAcquireSpinLock().
ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc().
msi/tests: Use check_record() in more places.
msi: Get rid of the find_matching_rows() view operation.
msi: Get rid of the remove_column() view operation.
msi: Use a BOOL to track string persistence.
msi: Use 0-indexed row numbers in the modify() view operation.
ntoskrnl.exe: Implement IoReleaseCancelSpinLock().
ntoskrnl.exe: Implement IoAcquireCancelSpinLock().
ntoskrnl.exe: Implement ExInterlockedRemoveHeadList().
ntoskrnl.exe: Implement PsTerminateSystemThread().
wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader().
wined3d: Remove stateblock handling from wined3d_device_set_compute_shader().
wined3d: Remove stateblock handling from wined3d_device_set_predication().
d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
d3d8/tests: Port test_draw_primitive() from d3d9.
msi: Factor out int_to_table_storage().
msi: Set table values directly in msi_select_update().
msi: Get rid of the get_row() view operation.
msi: Remove an unnecessary call to SELECT_get_dimensions().
msi: Store the IStorage list as an array of STORAGE structures.
ntoskrnl.exe/tests: Open the test file for synchronous I/O.
ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
hal: Implement plain spinlock functions on top of DPC-level ones.
wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein.
wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Store the pixel shader in the wined3d_stateblock_state structure.
msi: Support setting streams in msi_select_update().
msi: Implement UPDATE queries using msi_select_update().
msi: Factor out msi_view_refresh_row().
msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
ntoskrnl.exe: Implement DPC-level queued spinlock functions.
ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
hal: Implement plain queued spinlock functions on top of DPC-level ones.
wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Factor our init_default_render_states().
wined3d: Store render states in the wined3d_stateblock_state structure.
msi/tests: Add some more tests for MsiViewModify() applied to joins.
msi: Translate records as appropriate in SELECT_modify().
msi/tests: Add more tests for MSIMODIFY_ASSIGN.
msi/tests: Add more tests for MSIMODIFY_REFRESH.
msi/tests: Add more tests for MSIMODIFY_MERGE.
msi/tests: Add more tests for MSIMODIFY_INSERT.
include: Add ExInitializeFastMutex() definition.
ntoskrnl.exe: Implement APC-level fast mutex functions.
hal: Implement plain fast mutex functions on top of APC-level ones.
hal: Implement ExTryToAcquireFastMutex().
ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
wined3d: Factor out init_default_texture_state().
Zhiyi Zhang (4):
user32: Check for null handle in GetRawInputData().
user32: Fix a memory leak.
msacm32: Reference count local drivers.
d3d8: Fix building on Mac.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 4.0
is now available.
This release represents a year of development effort and over 6,000
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main highlights are:
- Vulkan support.
- Direct3D 12 support.
- Game controllers support.
- High-DPI support on Android.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.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.
----------------------------------------------------------------
What's new in Wine 4.0
======================
*** Direct3D
- Initial support for Direct3D 12 is implemented. Direct3D 12 support
requires the vkd3d library, and a Vulkan-capable graphics card.
- The Multi-Threaded Command Stream feature is enabled by default.
- OpenGL core contexts are always used by default when available. In
the previous release, these were already used by default for
Direct3D 10 and 11 applications on AMD and Intel graphics
cards. That has been extended to all graphics cards, and all
versions of Direct3D before 12.
- Among others, the following notable Direct3D 10 and 11 features are
implemented:
- Multi-sample textures and views, as well as multi-sample resolves.
- Per-sample fragment shading.
- Support for 1D textures.
- Draws without render target views or depth/stencil views.
- Multiple viewports and scissor rectangles per draw.
- Depth clipping control.
- Depth bias clamping.
- Stream output without geometry shaders.
- Several more capability queries.
- Several more resource formats.
- The "depth bias clamping" feature mentioned above requires the
ARB_polygon_offset_clamp/EXT_polygon_offset_clamp OpenGL
extension. All Direct3D 10+ capable hardware should be able to
support that extension, but it has come to our attention that some
NVIDIA "Legacy Drivers" do not. We encourage affected users to
explore whether the Free Software Nouveau drivers meet their needs.
- Several Direct3D 11 interfaces have been updated to version 11.2,
and several DXGI interfaces have been update to version 1.6. This
allows applications requiring those newer interfaces to start
working.
- The first steps towards more fine-grained locking in the Direct3D
implementation have been taken. This will be an ongoing effort to
take better advantage of modern high core count CPUs.
- Support for using the correct swap interval is implemented, for both
DXGI and DirectDraw applications.
- Application-configurable frame latency is implemented for Direct3D
9Ex and DXGI applications.
- S3TC-compressed 3D textures are supported. S3TC-compressed 2D
textures were already supported, provided the OpenGL drivers
supported them.
- When the ARB_query_buffer_object OpenGL extension is available,
query results can be polled with lower latency, resulting in a
modest performance improvement in specific cases.
- Validation of Direct3D 8 and 9 resource pool and usage restrictions,
as well as blit restrictions, has been improved.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "MultisampleTextures" (REG_DWORD)
Enable (0x1, default) or disable (0x0) support for multi-sample
textures.
- "Renderer" (REG_SZ)
The backend API to target. Possible values are "gl" (default) for
OpenGL and "gdi" for GDI.
- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "DirectDrawRenderer"
This has been superseded by the "Renderer" setting above.
- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "StrictDrawOrdering"
This feature was previously deprecated in favor of the
multi-threaded command stream feature, and has been completely
removed.
*** Graphics
- A complete Vulkan driver is implemented, using the host Vulkan
libraries under X11, or MoltenVK on macOS.
- A builtin vulkan-1 loader is provided as an alternative to the SDK
loader.
- Icons in PNG format are supported, enabling loading high-resolution
256x256 icons.
- The standard icons include a 256x256 version to take advantage of
the PNG support.
- Many Direct2D interfaces have been updated to version 1.2.
- New HKEY_CURRENT_USER\Software\Wine\Direct2D registry key:
- "max_version_factory" (REG_DWORD)
Limit the interface version of the ID2D1Factory interface to the
specified version. 0x0 for ID2D1Factory, 0x1 for ID2D1Factory1,
etc. By default there is no limit.
- Using an ARGB visual as default X11 visual is supported.
- The old 16-bit DIB.DRV driver is implemented using the DIB engine.
- Polygon drawing in the DIB engine is much faster for large polygons.
- A0, A1 and A2 paper sizes are supported for generic printers.
- Arrows are supported in GdiPlus.
*** Kernel
- Support for running DOS binaries under Wine is removed. When
execution of a DOS binary is requested, an external DOSBox instance
is launched. This doesn't apply to Win16 binaries, which are still
supported internally.
- All the CPU control and debug registers can be accessed by kernel
drivers, including on 64-bit.
- Events, semaphores, mutexes and timers are implemented in kernel
mode for device drivers.
- The WaitOnAddress synchronization primitives are supported.
- Reported processor information correctly distinguishes logical and
physical CPU cores to support hyper-threading.
- Detailed BIOS information can be queried on Linux platforms.
- The various debugger APIs support manipulating a 32-bit Wow64
process from a 64-bit process context.
- Application settings, compatibility information and execution levels
are recognized in application manifests.
- The various file I/O completion modes are implemented.
- Debug registers are supported on NetBSD.
*** User interface
- The infrastructure for setting DPI awareness and scaling of non
DPI-aware applications is implemented. However, actual scaling of
window contents is only supported on Android at this point.
Scaling is disabled by default and can be enabled by setting the
"DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop.
- Window class redirection is supported, enabling support of Common
Controls version 6 features for standard USER controls like buttons.
- The standard USER controls Button, Listbox, Combobox, Edit and
Static support version 6 features, including theming.
- The standard Task Dialog is implemented, including support for
icons, hyperlinks, progress bars, and various other UI elements.
- Cue banners are supported in version 6 of the Edit control.
*** Desktop integration
- Exporting MIME-type file associations to the native desktop can be
disabled with a checkbox under the Desktop Integration tab in
winecfg. It can be configured programmatically by setting the
"Enable" value under
HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations.
- The File Dialog can display file properties like size, times and
attributes.
- The File Dialog optionally shows the Places toolbar on the left-hand
side.
- The shell folder Public is used instead of AllUsersProfile to follow
the behavior of recent Windows versions.
- The shell File Browser supports keyboard shortcuts to rename (F2
key) and delete (Delete key) shell folders.
- Many standard icons are added to the Shell library.
- Shell Autocompletion is supported.
- In desktop mode the taskbar won't be displayed on top of fullscreen
windows.
- Additional names are provided for standard cursors to better match
existing X11 cursor themes.
*** Input devices
- HID game controllers are supported in the XInput and Raw Input APIs.
- An SDL driver is implemented to make SDL game controllers
available through the HID interface.
*** Internet and networking
- JScript has an EcmaScript compliant mode, which supports a number of
features not available in legacy mode.
- JavaScript property accessors are supported.
- HTML style object is rewritten to support standard-compliant mode.
- HTML documents respect X-UA-Compatible HTTP header, allowing web
pages to request specific compatibility mode. The
HKEY_CURRENT_USER\Software\Wine\MSHTML\CompatMode key may be used to
override the requested mode.
- MSHTML supports non-HTML elements, allowing limited SVG support.
- A number of new HTML APIs are supported.
- The proxy server can be configured through the Internet Control
Panel applet.
- Stream I/O is implemented in WebServices.
- The Web Services on Devices API (WSDAPI) is implemented, including
sending and receiving the various message types.
- More system information is reported through WBEM, including CPU,
BIOS, video controller, and network adapter properties.
*** Cryptography
- Asymmetric encryption keys, as well as RSA and ECDSA signature
verification are supported.
- The GCM and ECB encryption chaining modes are supported.
- Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA
encryption.
- A Kerberos security provider is implemented, supporting Kerberos
authentication.
- A selection dialog for public key certificates is implemented.
- If available, GnuTLS is used on macOS in preference to the
CommonCrypto framework.
*** Text and fonts
- Character tables are based on version 11.0.0 of the Unicode Standard.
- The new subpixel font rendering of FreeType >= 2.8.1 is supported.
- When a font face is missing, FontConfig is queried to provide
possible substitutions.
- The font selected in the console emulator properly scales with the
display DPI.
- Memory font resources are supported in DirectWrite.
- The builtin Wingdings font contains clock images.
*** Audio
- The Windows Media Player interfaces are implemented and support
media playback.
- An MP3 decoder is provided as DirectX Media Object.
*** macOS
- The preloader is implemented on macOS, for better address space
layout compatibility.
- The Command key can be mapped to Ctrl, by setting the
"LeftCommandIsCtrl" or "RightCommandIsCtrl" values under
HKEY_CURRENT_USER\Software\Wine\Mac Driver.
- The App Nap energy-saving feature is disabled by default in GUI
processes. It can be re-enabled by setting the "EnableAppNap" value
under HKEY_CURRENT_USER\Software\Wine\Mac Driver.
*** Android
- Setting the mouse cursor is supported using the APIs available in
Android >= 7.
- The new version of the Android graphics buffer allocator API is
supported, to enable graphics support on Android >= 8.
- Android x86-64 platforms are supported also in 64-bit mode, however
WoW64 mode is not supported yet in the WineHQ packages.
*** ARM platforms
- Stubless COM proxies are implemented on ARM.
- The Windows calling convention for variadic functions is supported
on ARM64.
- Exception handling and debugging is better supported on ARM64
platforms.
- The MinGW toolchain is supported for cross-compilation to ARM64.
*** Built-in applications
- The Ping program provides actual pinging functionality using
IcmpSendEcho.
- The SchTasks task scheduler program can create and delete tasks.
- The RegEdit registry editor has an improved hex editor for binary
values.
- FOR loops are properly handled in the Command Interpreter.
- The XCopy program supports the /k (keep attributes) option.
*** Internationalization
- The Japanese 106 keyboard is properly supported.
- Translation of timezone names is supported.
- There is a partial translation to the Sinhala language.
- More locales are supported in the Resource Compiler (wrc) and
Message Compiler (wmc).
*** Development tools
- winedbg supports debugging WoW64 processes.
- In gdb proxy mode, winedbg supports a --port option to specify the
port used to connect to gdb.
- winegcc uses better heuristics for finding the appropriate lib
directory for 32/64-bit cross-compiles.
- winegcc supports building native subsystem libraries.
- winegcc also looks for includes in the top-level include directory
of the installation prefix.
- winebuild supports a -mfpu option for specifying the FPU
architecture on ARM platforms.
- winedump supports dumping SLTG-format typelibs.
*** IDL compiler
- Application Configuration Files (ACF) are supported.
- Asynchronous interfaces are supported.
- Type and method serialization using encode/decode attributes is
supported.
- The defaultvalue() attribute is supported for pointer types.
- Generated files are always specific to the target platform. The
target can be specified the same way as with the other tools,
using the cpu-manufacturer-os platform specification.
- Nesting of pointers and arrays works correctly.
- Correct size and alignment are generated for encapsulated unions.
- The __int32 type is supported.
- The -robust command line option is recognized (but ignored) for
compatibility with the Microsoft IDL compiler.
- Multiple typelibs can be generated into a single resource file.
*** .NET
- 32-bit CIL-only .NET binaries are supported on 64-bit.
- The Mono engine is updated to version 4.7.5 with some upstream Mono
fixes.
*** RPC/COM
- The typelib marshaller is reimplemented. It generates format strings
and then uses the standard NDR marshalling routines; this way it
also works on 64-bit and ARM platforms.
*** Installers
- MSI custom actions run in a separate process, enabling proper
support for mixed 32/64-bit installers.
- Deferred installation actions are supported in MSI.
*** Build infrastructure
- The test framework supports building helper dlls inside a test, to
allow testing features that require loading an external library.
- The test framework supports testing Windows kernel drivers.
- It is possible to build and run a WoW64 tree from inside the Wine
source directory. Previously an out-of-tree build was required.
- A .editorconfig file is provided with the recommended indentation
parameters.
*** Miscellaneous
- The Task Scheduler service and APIs are implemented.
- The Windows Management Instrumentation service is implemented.
- The OPC Services (Open Packaging Conventions, used for Microsoft
Office XML files) library is implemented.
- The HKEY_PERFORMANCE_DATA magic registry key is partially
implemented.
*** New external dependencies
- The Vulkan library is used to implement the Vulkan graphics driver.
- The Vkd3d library is used to implement Direct3D 12 on top of Vulkan.
- The SDL library is used to support game controllers.
- The GSSAPI library is used to implement Kerberos authentication.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc7 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc7.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc7.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 4.0-rc7 (total 13):
20728 Multiple video players crash when opening audio or video file (MPC-HC v1.6.5, PotPlayer 1.5.x)(FilterGraph_create releases/destroys controlling IUnknown)
26369 A.R.E.S. Extinction Agenda 1.x (.NET 2.0, XNA 3.1 game) crashes during intro ('quartz' FilterGraph2_Connect must translate HRESULT of failures more correctly)
29461 BurnPlot (VB6 app) fails to start, complaining with "Run-time error '438'" (WshShell3 'SpecialFolders' collection 'item' method invocation fails)
34884 Touhou Danmakufu 0.12m's font becomes distorted
35573 gdi32:fonts test_stock_fonts() fails on Windows 7 in the Japanese and Hebrew locales
36082 Cannot Read Text In "Question" Boxes On Microsoft Money 2005 Installation
36084 Microsoft Money 2005 Window Going "Black" After Certain Menu Operations
43211 NVIDIA GeForce Experience 3.x installer fails due to 'setupapi.SetupDiDeleteDeviceInfo' stub
44796 Age of Empires II: The Conquerors is broken when CSMT is enabled
45874 Secret Files 1-2: hardware mouse cursor corrupted
46212 Multiple games have performance issues (Project CARS, NFS: Hot Pursuit (2010), Gas Guzzlers: Combat Carnage)
46459 Secret Files 1-2, Ufo: Extraterrestrials: mouse cursor invisible when anti-aliasing and hardware mouse enabled
46480 Invalid write of size 2 in ntoskrnl.exe/tests/ntoskrnl.c
----------------------------------------------------------------
Changes since 4.0-rc6:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alexandre Julliard (1):
ntoskrnl.exe/tests: Fix path buffer allocation size.
Can Taşan (1):
po: Update Turkish translation.
Dmitry Timoshkov (2):
windowscodecs: Fix the buffer size check in TIFF decoder's CopyPixels implementation.
include: Fix a typo.
François Gouget (4):
po: Fix a format mismatch in a Russian translation.
po: Fuzzy a Portuguese (Portugal) translation with a format mismatch.
po: Fuzzy an Arabic translation with a format mismatch.
msi/tests: Add a trailing '\n' to an ok() call.
Gijs Vermeulen (4):
crypt32/tests: Fix a typo in ok() message.
crypt32/tests: Fix a memory leak (Valgrind).
atl100/tests: Fix a memory leak (Valgrind).
msvcp140/tests: Fix typos in ok() messages.
Henri Verbeet (2):
wined3d: Allow multisample destination textures in the GLSL blitter.
ddraw/tests: Add a test for the "GDI" surface.
Huw D. M. Davies (1):
gdi32/tests: Korean and Chinese machines may use MS Shell Dlg as their default GUI font.
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
James Larrowe (1):
winebuild: Fix a segmentation fault.
Józef Kucia (7):
wined3d: Execute all CS commands before changing swapchain palette.
wined3d: Execute all CS commands before setting palette entries.
d3d8: Clamp vertex buffer upload range to buffer size.
d3d9: Clamp vertex buffer upload range to buffer size.
d3d8: Clamp index buffer upload range to buffer size.
d3d9: Clamp index buffer upload range to buffer size.
wined3d: Avoid potential out-of-bounds memory access in surface_cpu_blt_colour_fill().
Matteo Bruni (1):
wined3d: Set proper GL internal format for sRGB formats.
Sven Baars (13):
shell32/tests: Fix a typo.
mstask/tests: Fix some memory leaks (Valgrind).
oleaut32/tests: Fix some memory leaks (Valgrind).
shell32/tests: Fix some memory leaks (Valgrind).
xmllite/tests: Fix a memory leak (Valgrind).
wbemprox/tests: Fix some memory leaks (Valgrind).
taskschd/tests: Fix some memory leaks (Valgrind).
rpcrt4/tests: Fix some memory leaks (Valgrind).
opcservices/tests: Fix some memory leaks (Valgrind).
riched20/tests: Fix a memory leak (Valgrind).
ole32/tests: Fix a memory leak (Valgrind).
ntoskrnl.exe/tests: Fix some memory leaks (Valgrind).
ntdll/tests: Fix some string leaks (Valgrind).
Thomas Faber (1):
msxml3: Handle libxml2 API breakage.
Zebediah Figura (1):
ntoskrnl.exe: Properly handle already-loaded drivers in handle_bus_relations().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc6 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc6.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 4.0-rc6 (total 18):
29181 Combo box doesn't get a background in dialog editor
40433 Fifa 11 EU demo fails to install when run from custom DVD
40828 Switching resolution in desktop mode makes task bar redraw on top of full screen game
43665 The Quantum Break crashes at certain place.
45486 Byond 512.x dreamseeker will crash on loading into a ss13 station that uses shaders if run on wine 3.9 or later, but will run fine if you use 3.8
46007 Binary Domain crashes with builtin d3dx9_43 or d3dcompiler_43
46059 Final Fantasy XI Online: Mouse Movement Heavily Affects FPS
46067 Crysis has lighting issues
46200 issues printing with LTSPICE XVII X64
46275 Some autocomplete tests fail on Win2k3 VM
46346 ntoskrnl/tests/ntoskrnl.c shows uninitalized memory use
46357 Cossacks 2 Battle for Europe show crashed graphics
46359 Vietcong: shooting from weapon causes game crash
46369 将棋所(Shogidokoro) doesn't start.
46398 When starting Reflex Arena in Steam: "failed to init XAudio2, is DirectX 9.0c installed?"
46403 Vietcong: crash caused by loading map/other events
46430 Doom3 (CD version) fails to install
46435 F1 2011 crashes with a messed up rendering in DX9 mode
----------------------------------------------------------------
Changes since 4.0-rc5:
Alexandre Julliard (4):
user32: Cache full name of non-client metrics fonts.
Update copyright info for 2019.
inetcpl.cpl: Fix Piotr's name.
shell32/tests: Wait a bit longer for the explorer window to be created.
Alistair Leslie-Hughes (2):
oledb32/tests: Add convert DBTYPE_DATE -> DBTYPE_DBTIMESTAMP test.
dsound: Trace ref in a consistent way.
Dmitry Timoshkov (4):
wininet/tests: Add some tests for GetUrlCacheConfigInfo.
windowscodecs/tests: Add a test for copying pixels of a 24bpp TIFF format.
windowscodecs: Simplify the buffer size check in copy_pixels() helper.
windowscodecs/tests: Fix typos in TIFF test data.
Gijs Vermeulen (2):
wtsapi32/tests: Add WTSQueryUserToken parameter test.
ntoskrnl.exe/tests: Avoid passing uninitialized data to DeviceIoControl().
Hans Leidekker (1):
msi: Only perform the media check if the label of the disk entry differs from the last.
Henri Verbeet (7):
d3d9/tests: Add a test for ProcessVertices() on D3DPOOL_SYSTEMMEM buffers.
d3d8/tests: Add a test for ProcessVertices() on D3DPOOL_SYSTEMMEM buffers.
d3d9: Avoid calling wined3d_device_process_vertices() with unmappable source buffers.
d3d8: Avoid calling wined3d_device_process_vertices() with unmappable source buffers.
dxdiagn: Handle Red Hat and VMware in vendor_id_to_manufacturer_string().
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_CKEY in the GLSL blitter.
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST in the GLSL blitter.
Isira Seneviratne (1):
po: Update Sinhala translation.
Jacek Caban (5):
kernel32/tests: Initialize input buffer in test_overlapped_transport.
include: Avoid narrowing conversions in struct initializers.
include: Avoid using attributes on elaborated type specifier.
include: Don't use unnamed struct for NDR_SCONTEXT declaration.
include: Define D3DCOMPILER_DLL to d3dcompiler_47.dll.
Julian Rüger (1):
po: Update German translation.
Józef Kucia (14):
d3d8: Upload vertex buffer range relative to base vertex index.
d3d9: Upload vertex buffer range relative to base vertex index.
d3d9/tests: Add test for base vertex index with sysmem vertex buffers.
d3d8/tests: Add test for base vertex index with sysmem vertex buffers.
ntoskrnl.exe: Fix service handle leak in ZwLoadDriver() (Coverity).
ddraw/tests: Add tests for attaching depth buffers of different sizes.
ddraw/tests: Fix compilation on systems that don't support nameless unions.
wined3d: Simplify wined3d_cs_emit_clear() slightly.
wined3d: Sanitise clear flags passed to blitters.
wined3d: Use accurate rt_count in ffp_blitter_clear().
wined3d: Split clears for different size resources in ffp_blitter_clear().
wined3d: Limit surface_cpu_blt_colour_fill() to dimensions of render target view.
wined3d: Do not limit draw rect to intersection of all render target views.
d3d9/tests: Add test for clearing surfaces with different sizes.
Matteo Bruni (1):
d3dcompiler_43: Define D3D_COMPILER_VERSION.
Nikolay Sivov (4):
gdiplus/tests: Add some missing return value checks (Coverity).
gdi32/tests: Fix copy-paste issue with test message (Coverity).
msi/tests: Use more reasonable buffer sizes for guid strings (Coverity).
shcore: Fix double free on error path (Coverity).
Olivier F. R. Dierick (1):
explorer: Don't change Z-order of the taskbar when displaying it.
Paul Gofman (5):
user32/tests: Add test for 8 bit image stretch mode in CopyImage().
user32/tests: Add test for 16 bit image stretch mode in CopyImage().
user32/tests: Factor out compare_bitmap_bits() function.
user32/tests: Add tests for stretch mode in LoadImage().
d3dx9: Return correct comment length from get_instr_length().
Piotr Caban (1):
server: Fix process trace_data initialization race on Mac.
Roberto Pungartnik (1):
po: Update Portuguese (Brazil) translation.
Thanasis Papoutsidakis (1):
crypt32: Add some missing CRYPT_STRING flags.
Vincent Povirk (1):
mscoree: Update Wine Mono to 4.7.5.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc5 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc5.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc5.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 4.0-rc5 (total 14):
32218 LTSpice: Objects not resized when the window is resized
32221 LTspice: component drawing issues when moving
33719 comctl32:propsheet custom window proc test failure
34334 MetaTester 5 never sends or receives data
38721 Resident Evil 5 Gold Edition (Steam) fails to run
39959 Growtopia v2.20->v2.14 fails (was v2.11 fails) to run with unhandled exception on x86-64 (2.09 & 2.13 did run ok)
44485 Delphi 7 debugger generates new exceptions by itself
45719 comctl32:treeview test_right_click depends on mouse pointer position
45917 battle.net launcher and mouse position on high DPI monitor
45984 Skyrim Special Edition does not get past loading screen on high core count or high memory systems
46266 tzres is constantly being loaded/unloaded when TimeZone information is queried.
46328 Installer for Tanglet 1.5.3 crashes at target directory selection
46352 TreePad X Enterprise 12GB (single user) v7.17.0: Generates Error on Startup
46353 TreePad X Enterprise 12GB (single user) v7.17.0: Horizontal Ruler/Scale Is Different on Startup and Margins Are Different on Open Database
----------------------------------------------------------------
Changes since 4.0-rc4:
Alexandre Julliard (3):
user32: Also ignore dynamic DPI awareness changes when DPI scaling is disabled.
ntdll: Also store FPU registers in RtlRaiseException().
msi: Return an error code instead of a button id in msi_change_media().
Andrey Gusev (1):
comctl32/tests: Remove redundant assignment.
Daniel Ansorregui (1):
d3d9/tests: Fix a typo in an undef.
Denil Verghese (1):
po: Update Malayalam translation.
Henri Verbeet (1):
wined3d: Recognise virgl.
Huw D. M. Davies (2):
comctl32/tests: Move the cursor over the treeview to avoid random mouse move messages.
shell32/tests: Move the cursor away from the dropdown listbox.
Isira Seneviratne (1):
po: Update Sinhala translation.
Ken Thomases (1):
winemac: Fix implementation of the AllowVerticalSync registry setting.
Lauri Kenttä (1):
po: Update Finnish translation.
Paul Gofman (1):
user32/tests: Add some tests for implicit stretch mode in CopyImage().
Zhiyi Zhang (1):
riched20: Fix a use after free.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc4 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc4.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc4.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 4.0-rc4 (total 10):
35603 Wine64 build produces extra warning in setupapi comparing to Wine32 build
40884 Lord of the Rings Online crashes instantly or hangs on start with OSSv4.
42719 Natsuiro Asagao Residence (demo): complains about timezone settings.
45805 IoCreateDriver failed to insert driver L"\\Driver\\WineHID" in tree
46194 Windows PowerShell Core 6.2 Preview 2 for ARM64 crashes due to decoding of instruction from incorrect PC (write watch access causes SIGSEGV)
46244 incorrect font rendering in WinOmega splash screen
46296 Wine 4.0-rc1 does not compile with fontconfig 2.6.0 or 2.8.0
46329 world of tanks hangs in hangar with winsock error
46362 Natsuiro Asagao Residence (demo) fails to start
46364 Gecko and Mono packages doesn't save in the target folder
----------------------------------------------------------------
Changes since 4.0-rc3:
Alexander Coffin (1):
cmd/tests: Add some tests for "choice".
Alexandre Julliard (4):
include: Add more language codes.
wrc: Support more languages.
wmc: Support more languages.
user32: Clear %edi register when calling window procedure.
André Hentschel (2):
shlwapi: Remove dead code (coverity).
ntdll: Use correct PC for instruction decoding on ARM64.
Dmitry Timoshkov (1):
kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive.
Isira Seneviratne (2):
po: Add Sinhala translation.
po: Update Sinhala translation.
Józef Kucia (3):
d3d9: Fix Reset() with system memory buffers.
d3d8: Fix Reset() with system memory buffers.
wined3d: Handle unmappable buffers in wined3d_device_process_vertices() gracefully.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (1):
gdi32: Fix fontconfig objects leak (Valgrind).
Sebastian Lackner (2):
urlmon/tests: Add test for opening cache file with DELETE access.
appwiz.cpl: Copy addons to cache instead of moving.
Sven Baars (2):
wsdapi/tests: Fix a memory leak (Valgrind).
quartz: Fix some memory leaks (Valgrind).
Zebediah Figura (2):
ntoskrnl.exe: Avoid loading a driver multiple times in ZwLoadDriver().
ntoskrnl.exe: Handle already-loaded drivers in handle_bus_relations().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc3 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc3.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc3.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 4.0-rc3 (total 27):
26042 advapi32/crypt tests show two leaks under valgrind
26070 user32/class tests show some valgrind warnings
28766 DIB engine multiple invalid memory accesses
29975 Ankh: fails to start with DirectDrawRenderer=opengl
33769 Strong Bad's Cool Game for Attractive People Demo crashes without native d3dcompiler_43
36095 valgrind errors in loader when loading a dll
36162 valgrind shows several leaks in programs/cmd/tests/batch.c
36283 valgrind shows an invalid read in imm32/tests/imm32.c
36290 valgrind shows a leak in mscms/tests/profile.c
36316 valgrind shows a possible leak in quartz/tests/avisplitter.c
36328 valgrind shows a leak in rsaenh/tests/rsaenh.c
36354 valgrind shows a leak in ddraw/tests/dsurface.c
36356 valgrind shows a possible leak in dinput/tests/device.c
36655 valgrind shows an unitialized variable in mountmgr.sys/device.c (d3d9/tests/d3d9ex.c)
38324 Dead or Alive 5 Last Round and Ridge Racer Unbounded models/geometry problems
39279 valgrind shows uninitialized memory in winmm/tests/mcicda.c
42546 DSOUND_PrimaryOpen() incorrect set buf size
43354 valgrind shows a crash in dlls/wbemprox/tests/query.c (fill_ip4routetable)
44410 Multiple setups use wrong char widths in path edit box (UltraISO, some GOG installers)
44443 jet40 crashes with wine-2.6 & wine-3.0 and not before
45279 Multiple applications crash due to usage of OpenGL core context (Final Fantasy XI, Undertale, ...)
45398 mpc-hc crash on startup.
46215 File Open Dialog fails to set focus to Filename text box
46285 Demo scene fr-041 debris: cut off and broken text
46293 winegcc: stdlib.h and math.h not found when including C++'s <cstdlib> or <cmath>
46308 SofTalk 1.56: Incorrect icon/text rendering
46323 Rally Trophy: Controller configuration cannot be opened
----------------------------------------------------------------
Changes since 4.0-rc2:
Akihiro Sagawa (2):
po: Update Japanese translation.
kernel32: Use Rtl function when the time zone name is useless.
Alex Henrie (3):
po: Update Catalan translation.
psapi/tests: Increase GetPerformanceInfo HandleCount error margin.
ieframe: Turn several variables into static constants.
Alexandre Julliard (3):
server: Reset hardware breakpoint sizes before setting them.
oleaut32: Fix rendering of monochrome icons.
makefiles: Add support for sharing resource files with parent dll.
Alistair Leslie-Hughes (4):
include: Add GetFilePatchSignature definition.
include: Correct IBrowserService.IEGetDisplayName definition.
user32: Don't reset focus if current dialog is a child.
include: Wrap exported function in extern C.
Andre Heider (1):
winegcc: Don't add the prefix's include dir using -isystem.
Andrey Gusev (1):
windowscodecs: Remove redundant comparison.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Daniel Lehman (1):
gdi32: Fix memory leak (Valgrind).
Dmitry Timoshkov (4):
include: Add compatibility macros for Visual Studio 10.0.
comctl32/tests: Add a test for passing dialog template with bad control class to PropertySheet.
comctl32: Don't ignore page creation error for a non-modal propery sheet.
comdlg32: When FOS_PICKFOLDERS is specified item selection box should contain full path name.
Eberhard Beilharz (1):
Add .editorconfig file.
François Gouget (1):
wined3d: Make wined3d_adapter_init_format_info() static.
Hans Leidekker (2):
bcrypt: Clear magic bytes on destroy.
winhttp: Fix handling of WINHTTP_OPTION_SECURITY_FLAGS.
Henri Verbeet (1):
d3d9: Support drawing from D3DPOOL_SYSTEMMEM vertex buffers.
Huw D. M. Davies (2):
gdi32: Fix building with versions of fontconfig < 2.11.0.
gdi32: Try to update the default families with fonts that exist.
Matteo Bruni (4):
d3d9: Support drawing from D3DPOOL_SYSTEMMEM index buffers.
d3d8: Support drawing from D3DPOOL_SYSTEMMEM vertex buffers.
d3d8: Support drawing from D3DPOOL_SYSTEMMEM index buffers.
ddraw: Support drawing from D3DVBCAPS_SYSTEMMEMORY vertex buffers.
Michael Stefaniuc (1):
dmstyle/tests: Relax a test for a pristine DMStyle object.
Nikolay Sivov (7):
msxml3: Fix uri object leak on error path (Valgrind).
oledb32/tests: Fix string leaks (Valgrind).
dwrite/tests: Fix another factory leak (Valgrind).
combase/tests: Fix a string leak (Valgrind).
shell32/tests: Fix some leaks (Valgrind).
urlmon/tests: Fix some leaks (Valgrind).
urlmon/tests: Release correct uri object (Coverity).
Paul Gofman (4):
d3d9: Fix crash in d3d9_vertexbuffer_Release().
d3d9: Fix crash in d3d9_indexbuffer_Release().
d3d8: Fix crash in d3d8_vertexbuffer_Release().
d3d8: Fix crash in d3d8_indexbuffer_Release().
Piotr Caban (2):
msvcrt: Use _timezone in _ftime64.
msvcrt: Use GetDaylightFlag() to set dstflag value in _ftime64.
Serge Gautherie (2):
d3dcompiler: Fix dxbc_init() function prototype.
jscript: Fix a MSVC-x64 warning about to_uint32().
Sven Baars (5):
dsound: Fix a memory leak (Valgrind).
windowscodecs: Fix a memory leak (Valgrind).
windowscodecs/tests: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak (Valgrind).
propsys/tests: Fix a memory leak (Valgrind).
Zebediah Figura (4):
devenum/tests: Fix some more memory leaks (Valgrind).
dinput: Move the version resource to a separate file.
dinput8: Include common resources from dinput.
dinput: Use the global module instance handle to load resources.
Zhiyi Zhang (2):
setupapi/tests: Fix return value checking.
vulkan-1/tests: Add tests for vkGetPhysicalDeviceProperties2.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc2 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc2.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc2.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 4.0-rc2 (total 11):
19184 File copying fails during installation of Mordor
23282 SpeQ: Wrong coded linefeed
25734 Magic: The Gathering Battlegrounds trial hangs upon startup
36430 valgrind shows a possible leak in shell32/tests/autocomplete.c
39736 Prototype 2 crashes
41992 total commander, copy dialog - Esc key not working
43178 Prototype regression
43676 Hitman(TM) requires session_set_option - option 84
44229 Visual C++ 1.51 can't add files to project (GetOpenFileName16() doesn't support custom templates or hooks)
46231 Button tests for ideal size fail on Arabic locale on Windows
46270 ReactOS explorer.exe can't delete objects (use-after free caused by incorrect free in STGMEDIUM_Release())
----------------------------------------------------------------
Changes since 4.0-rc1:
Akihiro Sagawa (2):
tzres: Make resources translatable.
advapi32: Load a resource dll as data file in RegLoadMUIStringW.
Alex Henrie (2):
wineps.drv: Make constant 'glyph_def' static.
msvcp90: Turn two static variables into constants.
Alexandre Julliard (12):
dinput/tests: Try harder to avoid spurious keyboard input.
user32/tests: Fix some test failures on latest Windows 10.
setupapi/tests: Fix a test failure on latest Windows 10.
ntdll/tests: Fix a test crash on latest Windows 10.
cmd/tests: Fix test failures on latest Windows 10.
commdlg: Add support for 16-bit file dialog hooks.
winspool.drv: Make cupsGetPPD optional to work around deprecation warning.
msvcrt: Export onexit functions for compatibility with Mingw.
msvcrt: Fix __p__fmode() prototype.
msvcrt: Add some more MSVCRT prefixes to avoid conflicts with recent Mingw.
winedbg: Fix incorrect pointer casts.
comctl32/tests: Avoid a structure initialization warning.
Alistair Leslie-Hughes (1):
user32/edit: Don't set caret position when we don't have focus.
Andrey Gusev (2):
po: Update Ukrainian translation.
riched20: Remove redundant comparison.
Daniel Lehman (1):
msvcrt/tests: Add tests for C locale.
Dmitry Timoshkov (5):
gdi32/tests: Add a simple test for printing to a PostScript device.
gdi32: Trace full contents of DOCINFO in StartDoc.
include: Add _Deref_ret_z_ stub definition.
comctl32/tests: Fix a test failure under Windows 7.
comctl32/tests: Add a test to check built-in comctl32 classes.
Eberhard Beilharz (1):
comctl32/imagelist: Fix crash with large number of images.
Fabian Maurer (3):
riched20: Extract handling of VK_RETURN into a method.
riched20/tests: Refactor tests testing VK_RETURN.
riched32: Handle enter press in WM_CHAR instead of WM_KEYDOWN.
François Gouget (6):
user32/tests: Make test_LoadImage_working_directory_run() static.
rpcrt4/tests: Make create_server_process() static.
dbghelp: Make symt_get_best_at() static.
shell32: Avoid an unneeded strlenW() call.
winetest: Tweak the wording of an error message.
cryptui: Avoid an unneeded strlen() call.
Gabriel Ivăncescu (1):
user32: Fix tracking position for non-client scrollbars.
Huw D. M. Davies (1):
ole32: Don't free handles that are just copied in the inproc case.
Kai Krakow (1):
winebus.sys: Re-add missing Xbox controller PIDs.
Ken Thomases (1):
configure: Fix building of the preloader on the Mac using Xcode 10 or later.
Michael Stefaniuc (1):
shell32: Use SetRect() instead of open coding it.
Nikolay Sivov (10):
comctl32/tests: Use actual text width for ideal button size tests.
po: Update Russian translation.
dwrite/tests: Fix some leaks (Valgrind).
inetcomm: Fix a leak on DeleteProp() (Valgrind).
kernelbase/tests: Fix some leaks (Valgrind).
shcore: Fix path string leak for file streams (Valgrind).
usp10/tests: Test width returned with ScriptGetGlyphABCWidth().
usp10: Use glyph index consistently in ScriptGetGlyphABCWidth().
usp10: Make sure metrics cache is used with glyph indices only.
usp10: Remove extra parentheses.
Waritnan Sookbuntherng (3):
comctl32/tests: Test status bar size grip behavior and bounds.
comctl32/status: Hide size grip when the parent window is maximized.
comctl32/status: Checking size grip bounds in x-axis only.
Zebediah Figura (3):
devenum/tests: Fix some memory leaks (Valgrind).
mp3dmod: Fix a memory leak (Valgrind).
ntdll/tests: Fix a memory leak (Valgrind).
--
Alexandre Julliard
julliard(a)winehq.org