The Wine development release 5.12 is now available.
What's new in this release (see below for details):
- NTDLL converted to PE format.
- Support for the WebSocket API.
- Improved RawInput support.
- Vulkan spec update.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.12.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.12 (total 48):
4905 Video intros fail to play in Grand Theft Auto 3
10825 Adobe Photoshop 7 "Save File" dialog contents shifted to left
19439 Windows Media Player 9 displays a distorted user interface
20230 Multiple system information tools and debuggers need GetThreadTimes() to return correct values for all threads (SIV System Information Viewer, Ollydbg 1.x/2.x, x64dbg)
30023 Google Chrome/Earth installer (Google update version) complains "could not connect to the internet"
30366 Wing commander 4 fails to play videos
33134 Windows Media Player 9 can't play winecfg's test sound (idw_testsound.wav)
35170 Adobe Shockwave Player 11.x plugin installer crashes on startup
37630 Very fast audio & crackly (underruns) with PulseAudio 5, not with 4
37721 Notepad2 shows blacked out toolbar strip after switching out of transparent mode
37892 GOTHIC 2 GOLD: Vdfs32e.exe crashes at startup
40643 Xanadu-next: Multicolored rainbow textures
43034 Battle.net (needed for Starcraft 2 Legacy of the Void) crashes
44017 Battle.net fails launch with windows 7, but works normally when windows xp (Ubuntu 17.10)
44865 Multiple applications using CEF (Autodesk Fusion 360, Between, League of Legends) crash when Windows version is set to 8 or higher due to missing DirectManipulation COM object (directmanipulation.dll, CLSID {54e211b6-3650-4f75-8334-fa359598e1c5})
45191 winedbg: Internal crash at 0x7f1e5ee35587
46289 Movies in emergency 3 are upside-down with native I420 codecs
46726 Dirt Rally 2.0 does not use embedded CA cert
46818 PS4 Remote Play 2.x (.NET 4.x app) crashes on Sign-In PlayStation network (mshtml:HTMLDocument_get_cookie should not fail for 'about:blank')
46883 CompressonatorGUI 3.1 fails to install in Win10 mode: 'This application cannot be installed on systems earlier than Windows 2000 SP4.'
48138 League of Legends 9.23: Crash after champ select
48181 Donald duck couak attack crashes
48668 rFactor2 - Physics thread slower on multiplayer mode
48763 X2: The Threat crashes after opening
48884 64-bit SierraChart v2068, 2072, 2074 crashes on exit
48938 Ashes of the Singularity: Escalation crashes on start
48959 S-Gear 2 installer does not recognize wine as Windows 10
48997 Riot Vanguard (Riot Games) 'vgk.sys' crashes in driver entry (needs more reasonable CR0 register values in instruction emulation)
49007 StarCitizen freezes on start
49041 Path of Exile flickers with multithreaded renderer
49098 Divinity: Original Sin 2 (GOG): Doesn't start since 5.7
49153 Wine-Mono 5.0.0 breaks rendering of ReactOS' Wine .NET Framework 4.0 test app main menu
49247 Need For Speed Hot Pursuit 2 (2002) Slow Performance on wine-5.9
49307 Melodyne 5: crashes when launched (due to vcruntime140_1)
49350 Silverlight 5.1 installer no longer works
49358 MiniTool MovieMaker setup crashes on unimplemented function ADVAPI32.dll.RegEnableReflectionKey
49425 "wine" command changes the working directory when given a path to a .exe
49427 Grim Dawn broken after upgrade to Wine 5.11
49439 Printing and scanning software for Brother L2540DW fails to install (VBScript parser can't handle a "case else" statement with a comment and no statements to execute)
49444 TheHunter: Call of the Wild crashes at start with Wine 5.11
49445 Generation Zero: FNIX Rising crashes at start with Wine 5.11
49458 Memu installer crashes: wine: Call from 0x7b00f0b7 to unimplemented function qdvd.dll.DllRegisterServer, aborting
49460 where.exe is missing in wine (affects Waves Central )
49462 uninitialized request bytes in server request launched from wine_ntoskrnl_main_loop
49464 Age of Wonders: Planetfall crashes at start with Wine 5.11
49488 uninitialized bytes in server call from ntdll/server_write_file
49494 Branching on uninitialized variables in unix_to_win_locale.
49503 Page fault on prefix creation on macOS
----------------------------------------------------------------
Changes since 5.11:
Alex Henrie (3):
include: Correct definition of PRTL_AVL_ALLOCATE_ROUTINE.
include: Add RTL_GENERIC_TABLE.
ntoskrnl: Provide a more realistic value for register CR0.
Alexandre Julliard (50):
ntdll: Use unix_to_nt_file_name() to convert Unix paths in RtlGetFullPathName_U().
ntdll: Set the Unix current directory also in the exec process case.
ntdll: Implement FSCTL_GET_OBJECT_ID to retrieve a file id.
ntdll: Use FSCTL_GET_OBJECT_ID to compare file identities.
ntdll: Make the client cpu constant global.
ntdll: Add a common helper for building a modref.
ntdll: Move the loading of .so dlls to the Unix library.
ntdll: Move searching for builtin dlls to the Unix library.
ntdll: Move the system information functions to the Unix library.
urlmon/tests: Update winehq.org's IP address.
ntdll: Store home directory and username at init time in the Unix library.
ntdll: Set the Wine paths environment variables from the Unix library.
ntdll: Move the libunwind support to the Unix library.
ntdll: Always set the thread context through NtSetContextThread().
ntdll: Return the current time and timezone bias in NtQuerySystemInformation(SystemTimeOfDayInformation).
ntdll: Move the timezone detection code to the Unix library.
ntdll: Move RtlGetSystemTimePrecise() to the Unix library.
ntdll: Move the math functions to the Unix library.
ntdll: Use Windows APIs to handle the dll overrides variable.
ntdll: Fix some stdcall/cdecl calling convention mismatches.
ntdll: Move the console handle initialization to the Unix library.
ntdll: Avoid some Unix dependencies.
ntdll: Avoid a compiler warning when fetching the return address.
ntdll: Reimplement the ctype functions to avoid depending on libc.
ntdll: Reimplement the string functions to avoid depending on libc.
include: Fix _memccpy, _memicmp and _memicmp_l prototypes.
ntdll: Stop sharing the thread counter with the Unix library.
ntdll: Update the __wine_ldt_copy pointer directly from the Unix library.
ntdll: Move retrieving the startup info to the Unix library.
ntdll: Remove support for being loaded directly from libwine.
ntdll: Setup the main thread before initializing ntdll.
ntdll: Fix a few more thread information access rights.
ntdll: Move part of the PE image mapping code into virtual_map_section().
ntdll: Support loading a PE-format ntdll.
ntdll: Build with msvcrt.
ntdll: Use the standard C library names for the printf functions.
ntdll: Use the standard C library names for the string functions.
ntdll: Use the standard C library names for the wide char functions.
ntdll: Use the exported name directly for a few more functions.
winebuild: Support a -mno-cygwin flag.
winegcc: Pass -mno-cygwin and -munix flags directly to winebuild.
makefiles: Use -munix when building a Unix library.
winebuild: Don't use a dll entry point for Unix libraries.
ntdll: Get rid of DllMain in the Unix library.
ntdll: Avoid importing the codepage functions from the Unix library.
ntdll: Fix uninitialized buffer in locale initialization.
ntdll: Use pthread mutexes for uninterrupted sections in the Unix library.
ntdll: Use malloc() to allocate the object attributes buffer.
ntdll: Use malloc() to allocate async I/O data.
ntdll: The loader is named wine64 only on platforms that support WoW64.
Alistair Leslie-Hughes (10):
directmanipulation: Implement IDirectManipulationCompositor stub interface.
directmanipulation: Implement IDirectManipulationFrameInfoProvider stub interface.
directmanipulation: Implement IDirectManipulationCompositor::SetUpdateManager.
winhttp: Pass length in WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER callback.
directmanipulation: Implement IDirectManipulationViewport2 stub interface.
directmanipulation: Implement IDirectManipulationPrimaryContent stub interface.
directmanipulation: Implement IDirectManipulationContent stub interface.
directmanipulation: Fake success from IDirectManipulationViewport2::ActivateConfiguration.
directmanipulation: Fake success from IDirectManipulationContent::SetContentRect.
directmanipulation: Fake success from IDirectManipulationViewPort2::SetViewPortRect.
Anton Baskanov (2):
qasf/dmowrapper: Don't crash in ::Stop when DMO wrapper is not initialized.
amstream: Return E_NOTIMPL from AMAudioStream::QueryInterface.
Biswapriyo Nath (1):
ntdll/unix: Use Pc instead of Rip in signal_arm64.
Brendan Shanks (7):
api-ms-win-core-namedpipe-ansi-l1-1-0: Add stub dll.
winevulkan: Don't initialize the Vulkan driver in DllMain().
include: Add d3dkmdt.h.
user32: Implement GetDisplayConfigBufferSizes().
user32/tests: Test additional flag values with GetDisplayConfigBufferSizes().
user32: Implement QueryDisplayConfig().
user32/tests: Add more QueryDisplayConfig() tests.
Changping Yu (2):
kernel32/tests: Add test for thread enumeration order in toolhelp.
kernel32: Adjust thread creation insertion order.
Derek Lesho (1):
ntoskrnl: Set DriverStart and DriverSize fields in DRIVER_OBJECT.
Dmitry Kislyuk (1):
vbscript: Parse empty CASE ELSE clause.
Dmitry Timoshkov (2):
kernel32/tests: Fix compilation with PSDK.
kernel32: Implement IsWow64Process2.
François Gouget (7):
mshtml: Fix the spelling of a parameter name.
mshtml: Add a trailing '\n' to a TRACE().
mountmgr.sys: Make get_mountmgr_fs_type() static.
ntdll: Fix wording of a comment.
netio.sys: Remove WINAPI on static functions where not needed.
netio.sys: Fix some minor case issues in comments.
ntoskrnl.exe/tests: Fix some minor case issues in comments.
Gabriel Ivăncescu (11):
msscript.ocx: Fix detaching the script host in put_Language.
msscript.ocx: Fail if the module array failed to allocate.
msscript.ocx: Release the host ref in put_Language.
msscript.ocx: Move IScriptControl::AddObject implementation into a helper.
msscript.ocx: Implement IScriptModuleCollection::Add.
msscript.ocx: Implement IScriptModuleCollection::get_Item.
msscript.ocx: Always detach the modules when changing the language.
msscript.ocx: Implement IScriptModule::get_Name.
msscript.ocx: Implement get_script_dispatch on top of modules.
msscript.ocx: Move parse_script_text up.
msscript.ocx: Implement parse_script_text on top of modules.
Gijs Vermeulen (14):
amstream/tests: Add IDirectDrawMediaStream::SetDirectDraw() tests.
amstream: Store parent as struct ddraw_stream in ddraw stream sample.
amstream: Implement IDirectDrawStreamSample::GetMediaStream().
amstream: Use IDirectDraw instead of IDirectDraw7 internally.
amstream: Implement IDirectDrawMediaStream::SetDirectDraw().
amstream: Create ddraw if no source object was specified in ddraw_IAMMediaStream_Initialize().
ntdll: Don't use WCHAR in unix_to_win_locale().
amstream: Decrement "sample_refs" only when the object is being released.
amstream: Lock the entirety of IDirectDrawMediaStream::CreateSample().
amstream/tests: Add more AMVideoStream::QueryAccept() tests.
amstream: Return VFW_E_TYPE_NOT_ACCEPTED on error in AMVideoStream::QueryAccept().
amstream: Validate the format type in check_media_type().
amstream: Accept only MEDIASUBTYPE_RGB8 in check_media_type().
amstream: Return E_POINTER on NULL stream in IMediaStreamFilter::GetMediaStream().
Hans Leidekker (22):
winhttp: Don't close child handles on release.
winhttp: Get rid of some redundant assignments.
winhttp: Make the task queue implementation more generic.
winhttp: Set socket notification mask and callback from the parent request.
winhttp: Send WINHTTP_CALLBACK_STATUS_HANDLE_CREATED notification in WinHttpWebSocketCompleteUpgrade.
msxml3: Add support for 'int' in IXMLDOMElement_put_dataType.
winhttp: Implement WinHttpWebSocketSend.
winhttp: Implement WinHttpWebSocketReceive.
winhttp: Implement WinHttpWebSocketShutdown.
winhttp: Implement WinHttpWebSocketClose.
winhttp: Implement WinHttpWebSocketQueryCloseStatus.
winhttp/tests: Add asynchronous WebSocket tests.
winhttp: Add support for WebSocket fragment buffers.
winhttp/tests: Add more WebSocket tests.
winhttp: Set socket state before sending notifications.
winhttp: Status and reason are optional in the close response.
winhttp: Add stubs for new proxy functions.
winhttp: Reimplement the task queue using thread pool work objects.
winhttp: Copy the reason buffer.
winhttp: Add support for ping and pong messages.
winhttp: Stop the send queue before sending the close message.
iphlpapi: Return gateway address 0.0.0.0/255.255.255.255 from GetAdaptersInfo if it's not set.
Huw D. M. Davies (6):
user32: Use a default name for winstations created or opened with no name.
user32/tests: Use skip() to skip tests when using a non-US keyboard.
user32: Allow the app specific desktop to be "Default".
user32: Don't call CreateDesktop() with an empty desktop name.
server: Don't allow an empty desktop name.
ntdll: Pass the start of the string to compose_string().
Jacek Caban (24):
msscript.ocx: Move modules_count to the Script Host.
msscript.ocx: Keep script host running as long as any script module is alive.
mshtml: Use variant_to_nsstr in IHTMLIFrameElement2::put_height.
mshtml: Use variant_to_nsstr in IHTMLIFrameElement2::put_width.
kernel32/tests: Add more tests for opening console.
server: Introduce ConDrv device.
server: Support ConDrv/CurrentIn device.
server: Support ConDrv/CurrentOut device.
server: Support console global symlinks.
ntdll: Support CONIN$ and CONOUT$ in RtlIsDosDeviceName_U.
kernelbase: Use NtCreateFile for console handles in CreateFileW.
kernel32: Reimplement OpenConsoleW on top of CreateFileW.
server: Remove no longer needed support for opening current console in open_console request.
mshtml: Return NULL in IHTMLDocument2::get_cookie if InternetGetCookieExW failes.
mshtml: Add IHTMLRectCollection::item implementation.
mshtml: Return success in :HTMLStyle3::scrollbar* setters.
kernelbase: Invalidate console wait handle in FreeConsole.
kernel32: Import FreeConsole from kernelbase.
kernel32: Return standard input handle in GetConsoleInputWaitHandle.
kernel32: Move AllocConsole to kernelbase.
mshtml.idl: Add IHTMLNamespaceCollection declaration.
mshtml: Add IHTMLDocument4::namespaces property implementation.
mshtml.idl: Add missing MoveUnitBounded to IMarkupPointer2.
mshtml: Add IMarkupServices::CreateMarkupPointer implementation.
Jeff Smith (2):
gdiplus: Simplify modulo 8 math used for rendering origin.
gdiplus/tests: Fix debug value in test_graphics_clear().
Jefferson Carpenter (2):
ntoskrnl.exe: Initialize context.handle and context.irp.
ntoskrnl.exe: Set reserved to 0 in pnp WM_DEVICECHANGE broadcast.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.145.
Louis Lenders (1):
where.exe: Add stub program.
Michael Müller (2):
ntdll: Return thread times in NtQuerySystemInformation(SystemProcessInformation).
ntdll: Return process times in NtQuerySystemInformation(SystemProcessInformation).
Nikolay Sivov (36):
dxva2: Add device manager stub.
dxva2: Implement handle management for device manager.
dxva2: Add IDirectXVideoProcessorService stub.
mfplat: Add IMFVideoMediaType semi-stub.
mfplat: Implement MFCreateMFVideoFormatFromMFMediaType().
mfplat: Implement GetVideoFormat().
dxva2: Implement DXVA2CreateVideoService().
evr: Implement MFT_MESSAGE_SET_D3D_MANAGER for default mixer.
evr: Implement input type validation for the mixer.
include: Make inline helpers compatible with NONAMELESSUNION.
mfplat: Add MFConvertColorInfoToDXVA().
include: Add some more EVR mixer interfaces.
evr/tests: Add some tests for supported mixer interfaces.
evr: Add IMFGetService stub for the mixer.
evr: Add IMFVideoMixerBitmap stub.
evr: Add IMFVideoPositionMapper stub.
evr: Forward some known interface queries for MR_VIDEO_MIXER_SERVICE.
dxva2: Add missing processor service method stubs.
evr: Add IMFVideoProcessor stub.
evr: Add input type validation through dxva.
evr: Store background color property for the mixer.
dxva2: Implement locking functionality in device manager.
evr: Add a stub for default presenter.
evr: Add IMFVideoDeviceID for the presenter.
evr: Add IMFTopologyServiceLookupClient stub for the presenter.
include: Add IMFVideoDisplayControl definition.
evr: Add IMFVideoDisplayControl stub for the presenter.
evr: Add IMFRateSupport stub for the presenter.
evr: Implement presenter state tracking methods.
evr: Partially implement InitServicePointers() for the presenter.
evr: Add aggregation support for default mixer object.
evr: Added MFCreateVideoMixerAndPresenter().
mfplat/tests: Add some tests for d3d9 surface buffer.
evr: Add a stub for sample allocator.
evr/tests: Add some tests for sample allocator.
mfplat: Add tracked sample stub.
Owen Rudge (2):
winhttp/tests: Add tests for WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS.
winhttp: Implement WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS.
Paul Gofman (18):
ntdll: Increment num_busy_workers when queuing TP object.
ntoskrnl/tests: Use the same sin port as ws2_32 tests.
ntoskrnl/tests: Retry bind if address is in use in test_wsk_listen_socket().
netio.sys: Check for callback address before reusing pending IO structure.
netio.sys: Implement wsk_connect() function.
ntoskrnl.exe: Add test for connection socket.
shell32: Only consider copy operation multidest if the number of dst files is greater than one.
ntdll: Also call fsync() for FD_TYPE_CHAR in NtFlushBuffersFile().
netio.sys: Fill socket addresses when accepting connection.
ntdll: Call TLS callbacks also for main exe on thread attach.
ntdll: Call TLS callbacks for main exe on thread detach.
winebuild: Correct hotpatching prologue in import thunks for x86_64.
ntdll: Fix KiUserExceptionDispatcher ABI on x86_64.
ntdll/tests: Add test for x86_64 KiUserExceptionDispatcher().
configure: Increase Wine loader address.
ntdll: Don't reset rsp to context->Rsp until exception data is copied.
ntdll: Add PE frame handling to KiUserExceptionDispatcher() on x64.
ws2_32: Consider socket with zero ifindex unbound.
Piotr Caban (24):
include: Add MSITRANSFORM_ERROR enum definition.
msi: Introduce msi_record_stream_name helper.
msi: Add stub support for MSITRANSFORM_ERROR_VIEWTRANSFORM flag in MsiApplyTransform.
msi: Support UPDATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support CREATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support ALTER TABLE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support INSERT INTO when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support DROP when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support DELETE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Add MsiDatabaseApplyTransformA MSITRANSFORM_ERROR_VIEWTRANSFORM test.
msi: Support removing temporary columns in TABLE_remove_column.
msi: Fix table ref count on create.
msi: Remove ref_count from MSICOLUMNINFO.
msi: Test freeing _TransformView table.
msi: Add table existance tests for tables with temporary columns.
msi: Fix adding temporary columns.
msi: Remove column_info.temporary field.
msi: Remove MSICOLUMNINFO.temporary field.
msi: Fix use after free error in TransformView_set_row.
msi: Remove no longer needed parameter from TABLE_remove_column.
msi: Add support for appending data to _TransformView table.
msi: Test adding new feature in patch.
msi: Add disabled feature to show that it's not getting installed by patch.
msi: Install feature when new component is added.
Rémi Bernon (21):
ntdll: Refine NtSetInformationThread ThreadHideFromDebugger stubs.
ntdll: Only raise EXCEPTION_INVALID_HANDLE if debugger is present.
user32/tests: Add basic rawinput message tests.
user32/tests: Add inter-thread rawinput message tests.
user32/tests: Add inter-process rawinput message tests.
user32/tests: Add RIM_EXINPUTSINK rawinput message tests.
ntdll: Leave some space around DbgBreakPoint and DbgUserBreakPoint.
user32/tests: Add inter-desktop rawinput message tests.
server: Implement rawinput inter-process message dispatch.
server: Split cursor position update to update_desktop_cursor_pos.
server: Pass msg and wparam to update_input_key_state helper.
server: Implement RegisterRawInputDevices RIDEV_NOLEGACY flag.
server: Implement RegisterRawInputDevices RIDEV_INPUTSINK flag.
ntdll/tests: Add more HideFromDebugger tests.
ntdll: Correctly implement ThreadHideFromDebugger.
user32/tests: Add GetRawInputBuffer tests.
user32: Introduce rawinput_from_hardware_message helper.
user32: Introduce rawinput_thread_data helper.
user32: Implement GetRawInputBuffer.
user32: Return failure when rawinput has been overwritten.
kernel32: Catch process creation breakpoint exceptions.
Sebastian Lackner (1):
ntdll: Implement NtQueryInformationThread(ThreadTimes) using procfs.
Shawn M. Chapla (7):
gdiplus/tests: Add GDI/GDI+ graphics interop test.
gdiplus: Preserve temp DC state for bitmap backed graphics objects.
gdiplus/tests: Add metafile playback test for EMR_RESTOREDC.
gdiplus: Play all EMF records using PlayEnhMetaFileRecord.
gdiplus/tests: Add GDI/GDI+ HDC constructed graphics interop test.
gdiplus: Set GDI world xform to the identity xform on acquisition.
advapi32: Add RegRenameKey stub.
Vijay Kiran Kamuju (9):
directmanipulation: Implement IDirectManipulationCompositor2 stub interface.
include: Add missing device GUIDs and fsfilter GUIDs.
qdvd: Register the DvdGraphBuilder coclass.
include: Fix typo in DS3DALG_DEFAULT.
include: Add xact3.h.
include: Add IXACT3Cue definition.
include: Add IXACT3Wave definition.
include: Add IXACT3SoundBank definition.
include: Add IXACT3WaveBank definition.
Zebediah Figura (44):
quartz/vmr9: Merge VMR9_SendSampleData() into VMR9_DoRenderSample().
quartz/vmr9: Align the source pitch to a multiple of 4.
quartz/vmr9: The source pitch is the width of the Y plane for planar 4:2:0 formats.
quartz/vmr9: Invert only RGB video.
quartz/vmr9: Avoid leaking the surface array on connection failure.
quartz/vmr9: Allow connecting with YUV formats.
bcrypt/tests: Fix some failures on Windows 7.
kernel32/tests: Add tests for profile struct functions.
kernel32: Simplify GetPrivateProfileStringW().
kernel32: Get rid of the last parameter to PROFILE_CopyEntry().
kernel32: Open the INI file in PROFILE_GetSection.
d3dcompiler: Prepend static initializers to the function body.
d3dcompiler: Pass an instruction list to the load creation functions.
d3dcompiler: Append the instruction to its list in new_return().
d3dcompiler: Add the assignment node to the instruction list in make_assignment().
d3dcompiler: Pass the instruction list to implicit_conversion().
winegstreamer: Prefer YUV formats to RGB ones.
winegstreamer: Avoid performing color matrix conversions in videoconvert.
quartz/vmr9: Remove support for 8-bit RGB from the VMR7.
quartz/vmr9: Remove support for 15-bit RGB from the VMR7.
quartz/vmr9: Remove support for 16-bit RGB from the VMR7.
quartz/vmr9: Return VFW_E_TYPE_NOT_ACCEPTED when connection fails.
quartz/vmr9: Support YUV formats in the VMR7.
quartz: Change the merit of the default video renderer to 0x800001.
quartz: Don't register the VMR7.
quartz/videorenderer: Set the destination rect to the whole client area when connecting.
quartz/vmr9: Set the destination rect to the whole client area when connecting.
quartz: Try to create the VMR7 in video_renderer_default_create().
d3dcompiler: Create the expression in append_binop().
d3dcompiler: Add the node to the instruction list in new_expr().
d3dcompiler: Rename make_simple_assignment() to new_simple_assignment().
d3dcompiler: Print the data type when dumping IR.
kernel32: Call PROFILE_DeleteSection directly from WritePrivateProfile* functions.
kernel32: Open the INI file in PROFILE_DeleteSection().
qcap: Combine the internal header files.
qcap: Use a function table for video capture driver operations.
qcap: Pass a single AM_MEDIA_TYPE pointer to get_format().
qcap: Use a condition variable to synchronize with the video capture thread.
msvcrt: Print assertion failure messages to stderr.
winegstreamer: Don't store DirectShow caps.
include: Use the public VM_COUNTERS and VM_COUNTERS_EX structure definitions.
ntdll: Fill the PrivateUsage field of VM_COUNTERS_EX.
winegstreamer: Append a deinterlace element to the video post-processing chain.
d3dcompiler: Track def-use chains for anonymous nodes.
Zhiyi Zhang (2):
winex11.drv: Refactor query_work_area() to get intersected work area directly.
winex11.drv: Use _GTK_WORKAREAS to get work areas if it is available.
Ziqing Hui (2):
windowscodecs/tests: Format ok() message for tests/ddsformat.c.
windowscodecs: Implement DdsFrameDecode_GetPixelFormat().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.11 is now available.
What's new in this release (see below for details):
- Wine Mono engine updated to 5.1.0, with WpfGfx library support.
- More work on the separate Unix library for NTDLL.
- Beginnings of a NetIO kernel driver implementation.
- Initial support for the Print Ticket API.
- Removal of the obsolete 32-bit PowerPC architecture.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.11.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.11 (total 57):
10325 Avencast: Rise of the Mage crash on attempt to play startup video
18762 Supreme Commander slows down to 1 frame every 60 sec
26146 WRC FIA World Rally Championship Demo fails to start, can't play video
26258 Light of Altair demo crashes in-game when shaders enabled (built-in d3dx9_30)
27105 Mega Man Legends for PC crashes on startup
28203 Warrior Kings can't play music without native quartz
28850 Airstrike (Eagles of WWII): choppy music playback
29320 KMPlayer 3 does not play videos
30188 Megaman X8 freezes / fails to play intro movie
31581 Supreme Commander (steam version) shows a black screen on start when bloom rendering enabled
31910 anti-cheat software Battleye 1.176 expects call to KiUserExceptionDispatcher during exception handling (user mode SEH dispatcher)(Arma2, DayZ)
35215 Age of empires II HD Steam version: no video at start
35800 Dust An Elysian Tail (Steam) (.NET 4.0 XNA game) fails to play intro videos
35903 CED1401 USB function driver fails to install (setupapi should use the original INF path as a default source path when copying files)
38035 GSpot v2.70 doesn't find Cinepak codec
38086 ArmA: Combat Operations needs d3dx9_36.dll.D3DXCreateFragmentLinker
39669 Dishonored crashes at start with Steam Launcher
40986 DirectX11 application fails with error message "Failed to create IDXGIFactory2"
41101 Her Story: crash on playing video clip
41207 DX11 Demo "AMD Ladybug" freezes on the splash screen
41972 "Elite: Dangerous" client crashes when starting
42053 Grand Theft Auto III fails to lauch from Steam
43232 Test Drive 6 - track is black
44498 Legend of Kay: Anniversary Edition does not play cutscenes (needs {48e2ed0f-98c2-4a37-bed5-166312ddd83f} CLSID_MFReadWriteClassFactory)
44957 Kea Coloring Book crashes (needs IAudioMediaStream::GetFormat() implementation)
45093 mpc-hc player produces no audio output
45571 League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtCreateThread/Ex)
45572 League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
45667 League of Legends 8.15+ fails due to missing implementation of NtQueryVirtualMemory(MemoryWorkingSetExInformation)
46396 valgrind shows an invalid free in devenum/tests/devenum.c
46955 Performance regression after 3.20 in Assetto Corsa
48256 pwsh.exe (from Powershell-6.*) crashes after 20~50 sec: System.EntryPointNotFoundException: Unable to find an entry point named 'FreeAddrInfoEx' in DLL 'ws2_32.dll'.
48405 Battle.Net Launcher Beta crashes with Windows version set to 10
48716 Logos Bible Software - Printer is recognized but will not print (PTOpenProviderEx is a stub)
48773 mimalloc needs ntdll.dll.RtlQueryEnvironmentVariable
48779 Secret Files 3 crashes at launch (needs d3dx9_skin_info_Clone)
49062 Dolphin EasyReader for Windows 6.04 (TTS app) crashes on startup
49093 Relocation of 32-bit PE builtin 'ntoskrnl.exe' causes kernel driver load failures (imports fixup recursion in load_driver_module)
49123 Multiple games crash or hang on startup since Wine 5.7
49147 Microsoft Teams 1.3.x crashes on unimplemented function setupapi.dll.CM_Get_Device_Interface_AliasW
49151 Wine 5.7 Multiple mono programs freeze with high CPU
49225 FreeBSD assertion failure / memory corruption regression from not checking mmap() return value correctly
49237 Final Fantasy XI increased speed
49269 Wine 5.9 causes slower walk speed in Heroes of Might & Magic III
49314 Wine segfaults with too many command-line arguments
49322 cmudpro334 pops up errorwindow "OLE error 80004001"
49329 critical section timeout on prefix creation
49351 PowerShell-7.0.1-win-x64.msi fails to install
49352 JamKazam 1.0.3744 msi installer fails at 'InstallFiles' action (incorrect handling of administrative image with compressed source files)
49372 winedump crashes for sltg typelib files
49375 Test Drive 6 demo crashes when starting a race
49379 Altium Designer 20 crashes on missing d2d1.dll.D2D1CreateDevice
49380 wine unable to load kernelbase.dll
49387 Game "101 Ways to die" start with a black screen.
49388 MultiSync installation crashes (msado15.dll needs IConnectionPoint::Advise)
49391 Star Trek Armada crashes on start on Wine 5.6 but not Wine 5.5
49407 Display device initialization fails due to vkGetRandROutputDisplayEXT() causing X exception on dual Nvidia / Intel GPU configuration (regression).
----------------------------------------------------------------
Changes since 5.10:
Aaro Altonen (3):
include: Add ConnectionEventsVt definition.
msado15/tests: Add tests for IConnectionPoint::Advise/Unadvise.
msado15: Implement IConnectionPoint::Advise/Unadvise.
Akihiro Sagawa (1):
winegstreamer: Also wait for EOS events when retrieving duration.
Alex Henrie (1):
advapi32: Add RegEnableReflectionKey stub.
Alexandre Julliard (50):
ntdll: Move NtRaiseException() implementation to the Unix library.
ntdll: Implement NtContinue() in the Unix library.
ntdll: Use NtContinue() to restore context after an exception.
ntdll: Use NtContinue() to set the thread initial context.
kernel32: Use a vectored exception handler to catch Ctrl-C.
ntdll: Remove support for setting custom signal handlers.
itss: Fix potentially uninitialized variable compiler warnings.
mciseq: Fix potentially uninitialized variable compiler warnings.
riched20: Fix potentially uninitialized variable compiler warnings.
twain_32: Fix potentially uninitialized variable compiler warnings.
kernel32/tests: Avoid some more compiler warning for HeapAlloc() invalid parameter tests.
ntdll: Move signal handlers to the Unix library.
ntdll: Move some more thread functions to the Unix library.
ntdll: Move the futex-based SRW lock implementation to the Unix library.
ntdll: Move the futex-based condition variable implementation to the Unix library.
ntdll: Move the wait on address implementation to the Unix library.
ntdll: Move the futex-based critical section implementation to the Unix library.
ntdll: Avoid overflowing the command line buffer.
ntdll: Avoid referencing security descriptor functions from the Unix library.
ntdll: Implement NtCreateUserProcess().
ntdll: Move Nt system time functions to the Unix library.
ntdll: Move the creation of the initial environment to the Unix library.
ntdll: Move the locales initialization to the Unix library.
dmloader: Check for invalid class in EnableCache().
ntdll: Move fork and exec support to the Unix library.
ntdll: Load the case mapping table in the Unix library.
ntdll: Move the directory functions to the Unix library.
ntdll: Move a few file functions to the Unix library.
makefiles: Also build import libs for extra test modules.
ntdll: Move the IO completion functions to the Unix library.
ntdll: Move the job functions to the Unix library.
ntdll: Move the get/set file information functions to the Unix library.
ntdll: Initialize file redirects only after the server is connected.
setupapi: Avoid storing uninitialized data in the registry.
ntdll: Move the NtCreateUserProcess() implementation to the Unix library.
ntdll: Move the process information functions to the Unix library.
ntdll: Move the file read/write functions to the Unix library.
ntdll: Move the device I/O control functions to the Unix library.
ntdll: Move the Unix to NT file name conversion support to the Unix library.
ntdll: Dynamically load callback functions from the Unix library.
ntdll: Move the current directory initialization to the Unix library.
ntdll: Remove support for PPC32.
ntdll: Move the remaining process functions to the Unix library.
ntdll: Move the thread get/set information functions to the Unix library.
ntdll: Move the WoW64 thread context functions to the Unix library.
ntdll: Move the image address initialization to the Unix library.
ntdll: Move the volume information functions to the Unix library.
ntdll: Move the directory change functions to the Unix library.
winebuild: Make the 32-bit side of a 16-bit module always a DLL.
ntdll: Actually return an NT path in wine_unix_to_nt_file_name() for relative paths.
Alistair Leslie-Hughes (10):
include: Add winhttp web socket defines.
winhttp: Add WinHttpWebSocket* function stubs.
directmanipulation: New stub dll.
directmanipulation: Register the DirectManipulationManager and DirectManipulationSharedManager classes.
uuid: Add directmanipulation.h.
winhttp/tests: Add WebSocket tests.
winhttp: Status HTTP_STATUS_SWITCH_PROTOCOLS doesn't have any content.
directmanipulation: Create DirectManipulationManager and DirectManipulationSharedManager objects.
directmanipulation: Implement IDirectManipulationManager2::GetUpdateManager.
directmanipulation/tests: Initial tests.
André Hentschel (15):
winex11.drv: Change whitelist to a more neutral word.
winedbg: Remove support for PPC32.
winetest: Remove support for PPC32.
libport: Remove support for PPC32.
dbghelp: Remove support for PPC32.
kernel32/tests: Remove support for PPC32.
setupapi: Remove support for PPC32.
include: Add else cases for __cdecl.
include: Define PCONTEXT for all architectures.
winemenubuilder: Change blacklist to a more neutral word.
winevulkan: Change blacklist to a more neutral word.
krnl386.exe16: Simply clean a comment from master/slave.
winex11.drv: Change slave to a more neutral word.
ntdll: Change master/slave to more neutral words.
comctl32: Clarify a comment.
Anton Baskanov (7):
winegstreamer: Commit allocator before pausing the stream.
quartz/filtergraph: Always try to query IMediaSeeking if it's not cached yet.
quartz/filtergraph: Count renderers in IMediaControl::Pause and ::Run.
quartz/filtergraph: Always sort filter list before use.
amstream: Implement MediaStreamFilter::GetCurrentStreamTime.
amstream: Implement IAudioStreamSample::GetSampleTimes.
amstream: Implement AMAudioStream::NewSegment.
Brendan Shanks (5):
kernel32/tests: Fix handle leak.
kernel32/tests: Add RegisterWaitForSingleObject() WT_EXECUTEINWAITTHREAD tests.
winex11.drv: Ensure output IDs are unique for mirrored displays.
winemac.drv: Ensure output IDs are unique for mirrored displays.
winhttp: Treat a partial certificate chain as having an unknown/invalid CA.
Damjan Jovanovic (1):
ntdll: Interpretation of l_addr depends on FreeBSD version.
Daniel Lehman (1):
server: Fail if non-empty directory marked for deletion.
Derek Lesho (1):
server: Partially implement JobObjectBasicAccountingInformation.
Dmitry Timoshkov (31):
rpcrt4/tests: Fix compilation with MS VC.
rpcrt4/tests: Add some tests for marshalling embedded conformant arrays.
crypt32: Store CRYPT_KEY_PROV_INFO in a platform independent way.
prntvpt: Implement PTOpenProviderEx.
prntvpt: Implement PTOpenProvider.
prntvpt: Implement PTCloseProvider.
prntvpt: Add some tests for PTOpenProvider and PTOpenProviderEx.
prntvpt: Implement PTReleaseMemory.
prntvpt: Implement PTConvertPrintTicketToDevMode.
prntvpt: Add support for PageOutputColor to ticket XML reader.
prntvpt: Add support for PageScaling to ticket XML reader.
prntvpt: Add support for PageResolution to ticket XML reader.
prntvpt: Add support for PageOrientation to ticket XML reader.
prntvpt: Add support for DocumentCollate to ticket XML reader.
prntvpt: Add support for JobInputBin to ticket XML reader.
prntvpt: Add support for JobCopies to ticket XML reader.
prntvpt: Add support for custom scaling to ticket XML reader.
winedump: Fix parsing of SLTG typelib created with some old tool.
prntvpt: Implement PTConvertDevModeToPrintTicket.
prntvpt: Add support for PageOutputColor to ticket XML writer.
prntvpt: Add support for PageScaling to ticket XML writer.
prntvpt: Add support for PageResolution to ticket XML writer.
prntvpt: Add support for PageOrientation to ticket XML writer.
prntvpt: Add support for DocumentCollate to ticket XML writer.
prntvpt: Add support for JobInputBin to ticket XML writer.
prntvpt: Add support for JobCopies to ticket XML writer.
prntvpt: Add support for custom scaling to ticket XML writer.
prntvpt: Initialize ticket from printer defaults.
prntvpt: Implement PTMergeAndValidatePrintTicket.
prntvpt: Add initial implementation of PTGetPrintCapabilities.
ieframe: Implement IPersistStorage::GetClassID().
Esme Povirk (1):
mscoree: Update Wine Mono to 5.1.0.
Gabriel Ivăncescu (5):
gdi32: Skip scan conversion on overflow.
msscript.ocx: Add IScriptModuleCollection stub implementation.
msscript.ocx: Add initial IScriptModule stub implementation.
msscript.ocx/tests: Add initial tests for Script Modules.
msscript.ocx: Implement IScriptModuleCollection::get_Count.
Gerald Pfeifer (2):
ntdll: Replicate InterlockedCompareExchange64 to the Unix library.
ntdll: Include <signal.h> where needed in the Unix library.
Gijs Vermeulen (7):
msado15: Ignore IRunnableObject interface in recordset/connection_QueryInterface.
msado15: Improve _Connection_Open/Close stubs.
quartz/filtergraph: Add a stub IVideoFrameStep interface.
d3dx9: Implement ID3DXSkinInfo_Clone().
amstream: Get rid of the IDirectDrawStreamSampleImpl typedef.
amstream/tests: Add IDirectDrawStreamSample::GetMediaStream() tests.
amstream: Don't crash on NULL ddraw in IDirectDrawMediaStream::GetDirectDraw().
Hans Leidekker (2):
msi: Fix installing from administrative image with compressed source files.
winhttp: Implement WinHttpWebSocketCompleteUpgrade.
Henri Verbeet (3):
wined3d: Do not explicitly check 3D depth/stencil capabilities in wined3d_check_device_format().
wined3d: Get rid of WINED3D_QUIRK_SET_TEXCOORD_W.
wined3d: Get rid of the special format handling in wined3d_check_depth_stencil_format().
Huw D. M. Davies (2):
gdi32: Move the scan conversion to a helper function.
oleaut32: Return early if there is no matching funcdesc.
Jacek Caban (29):
winnt.h: Add BitScanForward and BitScanReverse implementation.
ntdll: Reimplement _aulldiv using 32-bit arithmetic.
ntdll: Reimplement _aullrem using 32-bit arithmetic.
ntdll: Reimplement _alldiv using 32-bit arithmetic.
ntdll: Reimplement _allrem using 32-bit arithmetic.
ntdll: Reimplement _allmul using 32-bit arithmetic.
ntdll/tests: Add long long builtins tests.
ntdll: Export builtin functions as cdecl.
mshtml: Use DISPID_UNKNOWN for compat dispids not supported in compat mode.
mshtml: Add IHTMLCSSStyleDeclaration2::columnCount property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnFill property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnSpan property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleColor property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleStyle property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRule property semi-stub implementation.
mshtml: Expose IHTMLCSSStyleDeclaration2 to scripts.
mshtml: Use proper compat mode in IHTMLWindow7::getComputedStyle.
ntoskrnl: Use loader notification callback to perform relocations.
mshtml: Add IHTMLCSSStyleDeclaration2::perspective implementation.
msvcp: Use BitScanReverse in log2i.
dwrite: Use BitScanForward instead of dwrite_ctz.
dwrite: Use BitScanReverse instead of dwrite_log2i.
d3dx9: Use BitScanReverse in make_pow2.
msscript: Reimplement state property using embedded script engine state.
msscript/tests: Add more script state tests.
msscript: Parse script host object instead of control to parse_script_text.
Jeff Smith (10):
kernelbase: Output message ID as hex in debug messages.
gdiplus/tests: Test hatch brush patterns.
gdiplus: Fix most hatch brush patterns.
gdiplus: Fix hatch brush patterns that require anti-aliasing.
gdiplus: Handle additional hatch styles.
d3drm: Set light alpha to 1.0 in d3drm_light_SetColor().
d3drm/tests: Test IDirect3DRM_CreateLight().
d3drm: Get rid of the "partial stub" FIXMEs in the light creation functions.
gdiplus/tests: Test that hatch fill uses rendering origin.
gdiplus: Handle rendering origin during hatch fill.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (2):
pwrshplugin: New stub dll.
ws2_32: Add FreeAddrInfoEx.
Martin Storsjo (1):
widl: Make decl_needs_parens static.
Matteo Bruni (2):
d3dcompiler: Print float constants with more precision.
d3dcompiler: Check shader for NULL.
Nikolay Sivov (46):
dwrite: Sort feature tags returned from GetTypographicFeatures().
dwrite: Remove fixme from CreateFontFallback().
dwrite: Implement CheckTypographicFeature().
dwrite: Unify context lookup helpers.
dwrite: Implement contextual positional lookups.
dwrite: Limit recursion level for context lookups.
dwrite: Disallow recursing to reverse chaining substitution.
dwrite: Do not require fontface object for HasCharacter().
dwrite: Remove unused field from fontface data structure.
dwrite: Get rid of cmap cache.
dwrite: Return ranges for selected cmap.
dwrite: Implement GetVerticalGlyphVariants().
dwrite: Silence HasVariations() fixme.
dwrite: Fix CreateInMemoryFontFileLoader() prototype.
dwrite: Share same cluster for bases and following diacritics in initial map.
dwrite: Update clustermap once after all features have been applied.
dwrite: Set initial canBreakShapingAfter flags.
dwrite: Normalize glyph data before passing it to matching function.
dwrite: Implement ligature substitution.
dwrite: Implement another GetFontFamily() variant.
ntdll: Fix a typo in security descriptor flags.
ntdll: Use single field for misc flags in ComClass redirection section.
ntdll: Create class section for proxy-stub interface entries.
ole32: Remove workaround for creating objects from context proxy-stub descriptions.
dwrite: Keep current lookup feature mask in context.
dwrite: Remove some unused types.
dwrite: Use single table pointer in GPOS handlers.
dwrite: Implement mark to ligature attachment (GPOS lookup 5).
dwrite: Use mark array helper in mark to base attachment handler.
dwrite: Use mark array helper in mark to mark attachment handler.
dwrite: Add missing script tags.
dwrite: Simplify single substitution handler.
dwrite: Simplify multiple substitution handler.
dwrite: Simplify alternate substitution handler.
dwrite: Simplify ligature substitution handler.
evr/tests: Add basic creation test for default mixer object.
evr: Add IMFTransform stub for default video mixer.
evr: Add IMFVideoDeviceID to default mixer.
evr: Add IMFTopologyServiceLookupClient stub for default mixer.
d2d1: Implement D2D1CreateDevice().
evr: Implement stream managment methods for default mixer.
evr: Create attributes for input mixer streams.
evr: Add IMFVideoMixerControl2 stub for the mixer.
mf: Set clipping window attribute for EVR activator.
mfplat: Add EVR activator attributes to tracing.
evr/tests: Add some tests for surface samples.
Paul Gofman (29):
ntdll: Perform fsync() in client for files and directories.
ntoskrnl.exe/tests: Move test functions to the new utils.h header.
include/ddk: Define MAKE_WSK_VERSION macro.
include/ddk: Add WSK timeout constants definitions.
ntoskrnl.exe/tests: Add initial test for netio.sys.
netio.sys: Add WSK provider stub interface.
netio.sys: Implement wsk_get_address_info() function.
netio.sys: Implement wsk_free_address_info() function.
ntoskrnl.exe/tests: Add test for wsk_get_address_info().
include: Add CMSGHDR, PCMSGHDR defintion.
include/ddk: Add definition for WSK socket interfaces.
netio.sys: Implement wsk_socket() function for listen sockets.
netio.sys: Implement wsk_close_socket() function.
ntoskrnl/tests: Add initial test for WSK listen socket.
wined3d: Merge _USER_MEMORY and _SYSMEM locations.
ddraw: Update texture_memory when setting new texture parent in ddraw_surface7_Flip().
wined3d: Set user memory separately for texture sub resources.
ddraw/tests: Add more tests for _SetSurfaceDesc with mipmaps.
ddraw/tests: Port _SetSurfaceDesc() tests for mipmaps and DDSD_LPSURFACE for ddraw4.
ddraw/tests: Port _SetSurfaceDesc() tests for mipmaps and DDSD_LPSURFACE for ddraw2.
ws2_32: Optimize interface_bind_check() by caching adapter addresses.
netio.sys: Add stub interface for connection sockets.
netio.sys: Implement wsk_bind() function.
netio.sys: Implement wsk_accept() function.
ntoskrnl/tests: Add test for WskAccept().
winex11.drv: Handle X error from vkGetRandROutputDisplayEXT().
netio.sys: Support multiple simultaneous async operations for socket.
netio.sys: Implement wsk_{send|receive}().
ntoskrnl/tests: Add test for WSK send and receive.
Piotr Caban (7):
msvcrt: Use internal sprintf implementation.
msvcrt: Reimplement special doubles printing.
msvcrt: Reimplement %a printf format handling.
ucrtbase: Add printf %a format tests.
ucrtbase: Add more inf,nan,ind printf tests.
vcruntime140_1: Add support for pointer to object in unwind info.
msvcrt: Reset buffer in fflush on error.
Porot Mo (3):
oleaut32/tests: Add tests for ITypeInfo::GetDllEntry().
oleaut32: Match funcdesc using both memberid and invkind.
wshom.ocx: Expand environment string before executing command through CreateProcessW.
Rémi Bernon (3):
dinput: Stop sending WM_WINE_NOTIFY_ACTIVITY on every input.
dinput: Use a single list for all acquired devices.
dinput: Use dedicated list for mouse and keyboard.
Vijay Kiran Kamuju (5):
include: Add wownt16.h.
include: Add IMarkupServices2, IMarkupContainer2 and IMarkupPointer2 related interfaces.
oleaut32: Merge four DWORDs into a GUID.
oleaut32: Include the leading '\1' in the CompObj stream name.
include: Add missing packing, structs and defines for xact3wb.h.
Zebediah Figura (38):
ntdll: Avoid leaking "drive" on error paths from get_mountmgr_fs_info() (Valgrind).
d3dcompiler/tests: Add a test for struct assignment.
strmbase: Clear the debug info before calling DeleteCriticalSection (Valgrind).
strmbase: Avoid leaking the media type on failure in IEnumMediaTypes::Next().
quartz/tests: Avoid leaking the media type from IPin::ConnectionMediaType() (Valgrind).
quartz: Free type libraries on process detach (Valgrind).
qedit: Free type libraries on process detach (Valgrind).
qasf: Free type libraries on process detach (Valgrind).
evr: Free type libraries on process detach (Valgrind).
strmbase: Release the allocator in IPin::Disconnect() (Valgrind).
winegstreamer: Don't query our own source pad to convert duration.
winegstreamer: Calculate duration independently per pin.
winegstreamer: Try to convert the duration from bytes if the pad doesn't support querying time directly.
setupapi: Reset the source file pointer when comparing files.
setupapi: Store the original INF file path in a .pnf file.
setupapi: Use the original INF source path if possible when copying files.
d3dcompiler: Use the cached scalar type in expr_common_type() where possible.
d3dcompiler: Cache vector types.
d3dcompiler: Emit constructors as sequences of stores to a synthetic variable.
d3dcompiler: Allow hlsl_ir_constant to contain only numeric types.
d3dcompiler: Check for missing return value semantics on the entry point.
d3dcompiler: Return an HRESULT from parse_hlsl().
include: Correct the name of WAVEBANKMINIWAVEFORMAT.
quartz/vmr9: Trace the arguments to IVMRWindowlessControl9::SetVideoPosition().
quartz/vmr9: Implement IVMRWindowlessControl9::SetAspectRatioMode().
quartz/vmr9: Get rid of VMR9_ImagePresenter_PresentOffscreenSurface().
quartz/tests: Relax some timings.
ntoskrnl.exe/tests: Test completion callback parameters.
ntoskrnl.exe: Call completion callbacks with the correct device.
quartz: Try to connect all source pins when autoplugging from the registry.
quartz/tests: Test autoplugging order.
quartz: Combine IGraphBuilder::Render() and IGraphBuilder::Connect() into a single helper.
quartz: Implement IFilterGraph2::RenderEx().
d3dcompiler/tests: Add a test for struct field semantics.
d3dcompiler/tests: Add a couple of extra tests for struct declaration syntax.
d3dcompiler/tests: Add a simple test for global variable initializers.
d3dcompiler: Factor out hlsl_ir_var allocation.
winegstreamer: Clear the "colorimetry" and "chroma-site" fields in amt_to_gst_caps_video().
Zhipeng Zhao (1):
ole32: Deal with WM_RENDERFORMAT if the clipboard is empty.
Zhiyi Zhang (15):
winex11.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
gdi32/tests: Remove tests for VidPnSourceId.
winemac.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
explorer: Initialize registry display settings for all adapters.
winex11.drv: Support multiple adapter display settings in registry.
gdi32: Support LUID in D3DKMTOpenAdapterFromGdiDisplayName().
user32/tests: Test changing to a 1Hz display mode.
winex11.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.
winemac.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.
user32: Change slave to a more neutral word.
winemac.drv: Use helpers to get and release display device init mutex.
winemac.drv: Support multiple adapter display settings in registry.
winex11.drv: Add a Vulkan UUID property for GPUs.
winevulkan: Thunk vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceProperties2KHR.
winevulkan: Fill Vulkan device LUID property.
Ziqing Hui (8):
windowscodecs: Initialize block data in DdsDecoder_Dds_GetFrame().
windowscodecs/tests: Add a DXT3 test image for DDS decoder.
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks() when "boundsInBlocks" is NULL.
windowscodecs: Implement DdsFrameDecode_Dds_CopyBlocks().
windowscodecs/tests: Add tests for DdsFrameDecode_GetPixelFormat().
windowscodecs/tests: Add decoder info tests for DDS decoder.
windowscodecs: Fix MIME types of DDS decoder.
d3dx10/tests: Add tests for D3DX10GetImageInfoFromMemory().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.10 is now available.
What's new in this release (see below for details):
- More progress on the WineD3D Vulkan backend.
- Beginnings of a separate Unix library for NTDLL.
- Better support for anti-cheat kernel drivers.
- More glyph substitutions in DirectWrite.
- Support for DSS private keys.
- ARM64 exception handling fixes.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.10.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.10 (total 47):
7102 Microsoft Word 6.0 for Windows: copy/paste causes crash on unimplemented function ole2.dll16.OLEISCURRENTCLIPBOARD
26171 BVRP classic phone tools installer reports error 'Insufficient buffer' when trying to install print processor (AddPrintProcessorA stub should be symmetric to AddPrintProcessorW)
26489 GetKeyState does not work correctly with toggle keys (VK_CAPITAL, VK_NUMLOCK, VK_SCROLL)
32483 Windows Sysinternals 'PsInfo' tool fails to retrieve video driver description due to missing registry data for 'Video' device class '{4D36E968-E325-11CE-BFC1-08002BE10318}'
33194 Multiple applications ported to WinRT/ARM using MSVCR110.dll require msvcrt.__C_specific_handler
34842 Multiple .NET 3.5 apps occasionally fail to run when late-bound 'riched20.dll' prelink address is already occupied and PE mapped into >2 GiB address range (Garmin BaseCamp 4.1.2, GZDoom Builder 2.3)
38020 Foxit Reader 6.12 crashes on unimplemented function msasn1.dll.ASN1_CreateModule during validation of digital signatures
38587 RF:G is Incredibly Laggy, Then Crashes
44115 vcrun2012's vcredist_arm.exe crashes in riched20::isurlneutral()
44432 AArch64: assertion fail in alloc_pages_vprot with qemu_aarch64 Ubuntu 16.04
44925 Multiple kernel drivers require 'ntoskrnl.exe.ExCreateCallback' stub to return STATUS_SUCCESS (StarForce v3, TrackMania Nations ESWC. Denuvo Anti-Cheat)
45536 Total Commander 9.x crashes on unimplemented function usp10.dll.ScriptGetFontAlternateGlyphs when Wine is not detected via named export 'ntdll.wine_get_version'
46788 RtlIpv6AddressToStringA is not supported
49045 Japanese eroge called Koikatsu crashes after upgrading to Wine 5.7
49117 Virtual memory allocation gets slower when large number of views are allocated (We Happy Few)
49160 Unity: SystemInfo.deviceUniqueIdentifier always the same under Wine
49178 Spitfire Audio 3.x crashes on start due to 'WTSQuerySessionInformationA' stub not initializing out parameters
49179 winetest.exe fails to run on windows arm (surface rt / armv7): procedure entry point NtCurrentTeb could not be located in the dynamic link library C:\Users\User\Desktop\winetest.exe
49189 Auslogics Registry Cleaner 8.x crashes and shows "OLE error 80004001" (SetCurrentProcessExplicitAppUserModelID stub needs to return S_OK)
49194 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' fails to load, needs 'netio.sys' stub driver (Winsock Kernel Sockets API / WSK)
49198 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes in entry point (incorrect page protection restored during relocation processing)
49208 Wine fails to load explorer.exe or wineboot.exe with status c0000018 (kernelbase.dll mapping exceeds 4 MiB and is loaded in main executable address space)
49211 Multiple games and applications crash due to NULL device notification handle passed to 'user32.UnregisterDeviceNotification' (BandLab Cakewalk 2020.04, Glorious Model O control software)
49216 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KdRefreshDebuggerNotPresent
49217 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeQueryActiveProcessorCountEx
49219 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeSetSystemAffinityThreadEx
49221 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes due to unhandled emulation of MSR register reads related to CPU / virtualization features (returning zero value is sufficient)
49222 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeRevertToUserAffinityThreadEx
49224 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.{KeGenericCallDpc,KeSignalCallDpcSynchronize,KeSignalCallDpcDone}
49228 Mouse movements are reversed/erratic for multiple games (Gothic 2, The Elder Scrolls V: Skyrim SE; Oblivion, Machinarium)
49230 Multiple kernel drivers crash on unimplemented function ntoskrnl.exe.KeSetTimer (Denuvo Anti-Cheat 'denuvo-anti-cheat.sys')
49235 Multiple .NET 4.x applications crash with stack overflow in IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements (Microsoft Visual Studio 2010 Express, Win10 SDK installer)
49251 Mouse cursor leaves a trail when anti-aliasing enabled (Secret Files 1-2, Fahrenheit, Ufo:Extraterrestrials)
49257 Avast Free Antivirus 20.3 crashes before installing due to unimplemented function rpcrt4.dll.RpcIfInqId
49262 Heap debugging (WINEDEBUG=+heap) broken since wine-5.7-30-gba1495f7c2
49264 MultiSync installation crashes (needs _Command::get/put_CommandText)
49267 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' needs support for CustomTimerDpc via ntoskrnl.exe.KeSetTimer{Ex}
49272 MultiSync installation crashes (msado15.dll needs {b196b284-bab4-101a-b69c-00aa00341d07} IConnectionPointContainer)
49281 FinanceExplorer crashes inside msado15.dll
49283 Some win10 run into : err:module:import_dll Library api-ms-win-core-libraryloader-l2-1-0.dll not found
49289 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExRegisterCallback
49291 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExUnregisterCallback when unloading
49295 Prefix creation freezes
49299 PowerToys for Windows 10 crashes on unimplemented function KERNEL32.dll.GetPackageFamilyName
49300 Multiple debuggers/tools from Windows 10 SDK want api-ms-win-downlevel-kernel32-l2-1-0.dll
49303 MultiSync installation crashes (msado15.dll needs IConnectionPointContainer::FindConnectionPoint)
49305 Sniper Elite V2 (Sniper Elite 3, Zombie Army Trilogy) fails to start on Steam
----------------------------------------------------------------
Changes since 5.9:
Aaro Altonen (5):
msado15: Implement _Command get/put CommandType.
msado15: Implement _Command get/put CommandText.
msado15: Add IConnectionPointContainer stub to _Connection.
msado15: Add IConnectionPoint stub to _Connection.
msado15: Implement IConnectionPointContainer_FindConnectionPoint.
Akihiro Sagawa (2):
gdi32: Handle vertical faces in the fontconfig fallback.
gdi32: Add a vertical font replacement if it's a DBCS font.
Alex Henrie (12):
ntdll: Increase size of IPv6 address string buffers.
include: Add RtlIpv4AddressToString(Ex)[AW].
include: Add more RTL functions.
ntdll/tests: Drop RTL function workarounds for Windows <= 2000.
ntdll/tests: Add more RtlIpv6AddressToString tests.
ntdll: Implement RtlIpv6AddressToString(Ex)[AW].
ws2_32: Reimplement inet_ntop on top of ntdll functions.
ws2_32/tests: Put WSAAddressToString tests in tables.
ntdll/tests: Make RtlIpv6AddressToString test data static and constant.
kernelbase: Add GetPackageFamilyName stub.
kernel32/tests: Fix GetNLSVersion test failure on Windows Server 2003.
quartz/tests: Fix overflow in 32-bit time calculation.
Alexandre Julliard (48):
server: Update shared user data timestamps on every request.
kernel32: Leave some more space for kernelbase.
kernel32: Use set_ntstatus() in more places.
ntdll: Implement ProcessImageInformation class in NtQueryInformationProcess().
kernel32: Reimplement GetProcessVersion() in kernelbase.
kernel32: Reimplement DosDateTimeToFileTime/FileTimeToDosDateTime using ntdll functions.
kernel32: Remove actctx.c.
kernel32: Remove cpu.c.
kernel32: Remove environ.c.
kernel32: Remove time.c.
kernel32: Remove string.c.
ntdll: Fix off-by-one buffer size error.
ntdll: Don't call terminate_thread request if not necessary.
ntdll: Create user shared data section in the server, and initialize it in wineboot.
ntdll: Don't include ntdll_misc.h from the Unix library.
ntdll: Move server initialization functions to the Unix library.
ntdll: Move fd cache functions to the Unix library.
ntdll: Move server call functions to the Unix library.
ntdll: Move NtClose() and NtDuplicateObject() to the Unix library.
ntdll: Add missing server_init_process_done() call.
ntdll: Move the threading initialization functions to the Unix library.
ntdll: Use the actual zero_bits parameter in the server requests.
ntdll: Move server wait functions to the Unix library.
ntdll: Properly reset the stack environment at thread exit on ARM64.
ntdll: Move NtSetContextThread() implementation to the Unix library.
ntdll: Move NtGetContextThread() implementation to the Unix library.
ntdll: Move the virtual memory functions to the Unix library.
ntdll: Use the local server_send_fd() function in the Unix library.
kernel32: Move SetConsoleCtrlHandler() implementation to kernelbase.
ntdll: Move the thread startup code to the Unix library.
ntdll: Move the thread creation code to the Unix library.
ntdll: Move more of the thread exit code to the Unix library.
ntdll: Consolidate some of the init routines into the init_threading() entry point.
ntdll: Move mapping of the user shared data to the Unix library.
ntdll: Move some wait functions to the Unix library.
ntdll: Move the semaphore functions to the Unix library.
ntdll: Move the event functions to the Unix library.
ntdll: Move the mutex functions to the Unix library.
ntdll: Move the timer functions to the Unix library.
ntdll: Move the keyed event functions to the Unix library.
ntdll: Move the section object functions to the Unix library.
ntdll: Move the rest of the thread creation code to the Unix library.
ntdll: Implement RtlCreateUserThread() on top of NtCreateThreadEx().
ntdll: Use NtCreateThreadEx() for remote thread creation.
ntdll: Move NtCreateThreadEx() to the Unix library.
ntdll: Move DbgUiIssueRemoteBreakin() to the Unix library.
secur32/tests: Update for new WineHQ certificate.
wininet/tests: Update for new WineHQ certificate.
Alistair Leslie-Hughes (1):
include/ddk: Add wsk.h file.
Anton Baskanov (11):
amstream: Don't crash if parent is NULL in AMAudioStream:: and AMDirectDrawStream::GetMultiMediaStream.
amstream: Move initialization code from audio_stream_create into AMAudioStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Move initialization code from ddraw_stream_create into AMDirectDrawStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Move initialization calls from *_stream_create into AMMultiMediaStream::AddMediaStream.
amstream: Allow AMAudioStream and AMDirectDrawStream to be created by CoCreateInstance.
amstream: Add tests for IAMMediaStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
amstream: Implement AMAudioStream::BeginFlush() and ::EndFlush().
amstream: Implement MediaStreamFilter::SupportSeeking().
amstream: Implement MediaStreamFilter::SetPositions().
amstream: Call MediaStreamFilter::SupportSeeking() in AMMultiMediaStream::OpenFile().
Arkadiusz Hiler (2):
user32: Move *RegisterDeviceNotification*() to input.c.
user32: Fix NULL dereference in UnregisterDeviceNotification.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
api-ms-win-downlevel-kernel32-l2-1-0: New dll.
Biswapriyo Nath (2):
include: Add missing structures in dcommon.idl.
include: Add include guard in d2dbasetypes.h.
Brendan Shanks (4):
winex11.drv: Set GPU LUID property for monitors.
winex11.drv: Set output id property for monitors.
winemac.drv: Set GPU LUID property for monitors.
winemac.drv: Set output id property for monitors.
Damjan Jovanovic (2):
libwine: Fix a regression in the return value check for mmap() on FreeBSD.
ntdll: Reserve the area whenever possible in reserve_area() on FreeBSD.
Daniel Lehman (6):
vcruntime140_1: Support unwind handler with frame.
vcruntime140_1: Change pointer math in decode_uint.
vcruntime140_1: Skip unwind if already at last level.
vcruntime140_1: Don't terminate on state of -1.
vcruntime140_1: Unwind state 0.
vcruntime140_1: Don't terminate on -1 trylevel.
François Gouget (1):
winex11.drv: Avoid using the mailing list address in error messages.
Gerald Pfeifer (1):
ntdll: Include <stdarg.h> in unix/debug.c.
Gijs Vermeulen (6):
include: Add cfg.h.
wuapi: Add UpdateInstaller coclass.
wuapi: Fake success in IUpdateInstaller::get_IsBusy.
wtsapi32: Implement WTSQuerySessionInformationA.
wtsapi32: Improve WTSQuerySessionInformationW stub.
winemac: Cast buffer to const WCHAR* in insert_clipboard_format.
Hans Leidekker (8):
mountmgr: Return the disk serial from IOCTL_STORAGE_QUERY_PROPERTY(StorageDeviceProperty).
wbemprox: Get the disk drive serial number from mountmgr.
bcrypt: Implement BCryptDeriveKeyCapi.
bcrypt: Add support for BCRYPT_DSA_ALGORITHM.
msado15: Fix NULL pointer dereference in close_recordset.
bcrypt: Add support for importing and exporting DSS private keys.
mountmgr: Fix buffer length check.
bcrypt: Handle different sized R/S signature components.
Henri Verbeet (39):
wined3d: Move the swapchain logo texture blit to wined3d_cs_exec_present().
wined3d: Move the swapchain cursor texture blit to wined3d_cs_exec_present().
wined3d: Implement occlusion queries for the Vulkan adapter.
wined3d: Implement timestamp queries for the Vulkan adapter.
wined3d: Implement timestamp disjoint queries for the Vulkan adapter.
wined3d: Implement event queries for the Vulkan adapter.
wined3d: Implement pipeline statistics queries for the Vulkan adapter.
wined3d: Map vkGetPhysicalDeviceFeatures2() to vkGetPhysicalDeviceFeatures2KHR().
wined3d: Also load the index buffer in wined3d_context_vk_apply_draw_state() if STATE_INDEXBUFFER was invalidated.
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding the Vulkan index buffer.
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding Vulkan vertex buffers.
wined3d: Initialise more caps and limits in wined3d_adapter_vk_init_d3d_info().
wined3d: Map Vulkan adapter bo's persistently on 64-bit architectures.
wined3d: Move swapchain buffer discarding to wined3d_cs_exec_present().
wined3d: Implement swapchains for the Vulkan adapter.
wined3d: Wait for the command stream to finish before removing the context in adapter_no3d_uninit_3d().
wined3d: Create WINED3D_NO3D swapchain surfaces without GPU access.
wined3d: Check for GPU access before attempting an upload blit in texture2d_blt().
wined3d: Explicitly check for WINED3D_NO3D instead of "d3d_initialized" in surface_convert_format().
wined3d: Set "device->d3d_initialized" in wined3d_device_set_implicit_swapchain().
wined3d: Get rid of the "d3d_initialized" check in wined3d_device_reset().
wined3d: Get rid of the "d3d_initialized" check in context_resource_released().
wined3d: Get rid of the "d3d_initialized" check in device_resource_released().
wined3d: Get rid of the "d3d_initialized" check in wined3d_texture_update_map_binding().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in arbfp_blit_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in glsl_blitter_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in ffp_blit_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in wined3d_texture_blt().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_blt().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_depth_blt_fbo().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in fbo_blitter_blit().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in the FBO cache.
wined3d: Use "depth_size" to check for a depth format in resolve_depth_buffer().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in query_internal_format().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in create_and_bind_fbo_attachment().
wined3d: Introduce WINED3DFMT_FLAG_DEPTH_STENCIL.
wined3d: Clear WINED3DFMT_FLAG_DEPTH_STENCIL if the format is not supported as FBO attachment.
wined3d: Reference the back buffer in wined3d_swapchain_vk_blit().
wined3d: Partially implement adapter_vk_clear_uav().
Huw D. M. Davies (3):
ntdll: Use the correct size when the read spans a page boundary.
ntdll: Remove unnecessary page variable.
bcrypt: Add stubs for DSS private key functions on macOS.
Jacek Caban (41):
rpcndr.h: Avoid error_status_t redefinition.
winegcc: Store main arguments in strarray.
winegcc: Add support for @file arguments.
winegcc: Add support for -Wl,--whole-archive option.
setjmp.h: Use __intrinsic_setjmpex when using ucrt.
winnt.h: Provide inline NtCurrentTeb implementation for mingw arm builds.
dmusic/tests: Introduce compare_time helper.
kernel32/tests: Remove workaround for NT4.
kernel32/tests: Avoid using abs on ULONGLONG values.
wintab32: Fix -Wabsolute-value warning.
taskmgr: Introduce size_diff helper.
d3d9/tests: Use int for indexes in generate_bumpmap_textures.
mshtml: Use return_nsstr_variant in HTMLTable_get_width.
mshtml: Add IHTMLTableCell::height property implementation.
mshtml: Add IHTMLTableCell::width property implementation.
gdiplus/tests: Introduce compare_uint helper.
ieframe: Return S_FALSE in IWebBrowser2::get_Document when returning NULL.
gdiplus: Introduce absdiff helper.
quartz/tests: Fix -Wabsolute-value warnings.
jscript: Support ES5 Array.prototype.sort arguments handling.
jscript: Support context argument in Array.prototype.forEach.
jscript: Throw proper exception in RegExp.prototype.toString when called on non-RegExp object.
mshtml/tests: Introduce sync_test helper.
winmm/tests: Introduce compare_uint helper.
winmm: Introduce compare_uint helper.
configure: Enable -Wabsolute-value on cross compiler.
jscript: Inline add_eval implementation.
jscript: Don't realloc interpreter stack.
jscript: Throw proper stack overflow exception.
mshtml/tests: Improve tests exception handling.
jscript: Add Object.keys implementation.
jscript: Use wide string literals in array.c.
jscript: Add Array.prototype.reduce implementation.
jscript: Support passing non-string pattern to RegExp constructor.
jscript: Support passing non-string flags to RegExp constructor.
jscript: Add Object.preventExtensions semi-stub implementation.
mshtml: Use return_nsstr_variant in IHTMLBodyElement::get_bgColor.
mshtml: Use default white value in IHTMLDocument2::get_bgColor.
mshtml: Add IHTMLCSSStyleDeclaration2::transform property implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::animationName property implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::transition property implementation.
Ken Thomases (1):
winemac: Fix a string format warning for tick counts in update_clipboard().
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.142.
Louis Lenders (5):
usp10: Add stub for ScriptGetFontAlternateGlyphs.
api-ms-win-core-libraryloader-l2-1-0: Add new dll.
api-ms-win-core-memory-l1-1-4: Add new dll.
api-ms-win-core-localization-l1-2-2: Add new dll.
explorerframe: Return S_OK in ITaskbarList::SetOverlayIcon.
Martin Storsjo (12):
configure: Pass -fasynchronous-unwind-tables to the compiler.
ntdll: Fix handling of the save_lrpair unwind opcode.
ntdll: Fix byte vs register units in unwind_packed_data.
ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.
ntdll: Store the real stack pointer in RtlCaptureContext.
ntdll: Fix unwinding functions that end with a branch instruction.
wine/asm.h: Use __ASM_CFI on clang too, despite not defining __GCC_HAVE_DWARF2_CFI_ASM.
ntdll: Implement RtlRestoreContext.
ntdll: Keep the previous iteration of NonVolatileRegisters in call_function_handlers.
ntdll: Fix unwinding through raise_generic_exception.
ntdll: Implement RtlRaiseException in assembly to fix continuing from exceptions.
wine/asm.h: Don't define __ASM_CFI when using clang as cross compiler.
Matteo Bruni (3):
ntdll: Use memcpy() in set_float_reg().
user32: Add missing WM_WINE_CLIPCURSOR message type name.
user32: Make sure update_window_state() is always executed on the owner thread.
Nikolay Sivov (68):
dwrite: Fix array indexing when merging features.
dwrite: Set glyph class for all initial glyphs.
dwrite: Set glyph class properties when applying GPOS.
dwrite: Use prefetched glyph class to match with lookup mask.
dwrite: Simplify single substitution helper.
include: Add IMFMediaEngineEx definition.
mfplat: Add Media Engine attributes to tracing.
include: Add CResamplerMediaObject class id.
dwrite: Update glyph properties on single substitution.
dwrite: Only enable single substitution lookups for chained substitution.
dwrite: Use temporary buffers for GetGlyphs().
dwrite: Prefetch all lookup entry fields when collecting them.
dwrite: Use global cursor to glyph array for substitutions.
dwrite: Reference currently used layout table in context.
dwrite: Handle extension substitution (GSUB lookup 7).
dwrite: Implement alternate substitution (GSUB lookup 3).
dwrite: Use cluster map to apply use feature ranges.
dwrite: Mark some of default ignorables as ZWS.
dwrite: Keep text properties zero initialized.
dwrite: Use GPOS handlers for subtables, not whole lookups.
dwrite: Implement multiple substitution (GSUB lookup 2).
dwrite: Update glyph component count on multiple substitution.
dwrite: Add stub handler for ligature substitution.
include: Add Media Engine events constants.
mfmediaengine/tests: Use global factory instance.
mfmediaengine/tests: Add some tests for shutdown state.
mfmediaengine: Add shut down state.
mfmediaengine: Keep auto-play flag.
mfmediaengine: Keep loop flag.
dwrite: Simplify glyph properties helpers by using current glyph buffer.
dwrite: Implement mark glyph filtering.
dwrite/tests: Enable glyph class tests on Wine.
dwrite: Add matching callback support for iterators.
dwrite: Use iterator matching for chain substitution.
dwrite: Implement chaining contextual substitution of format 1.
dwrite: Implement chaining contextual substitution of format 2.
mfmediaengine: Create media session instance.
mfmediaengine: Send "play" event on Play().
mfmediaengine: Send "pause" event on Pause().
dwrite: Fix lookup collection when no suitable script was found.
dwrite: Add properties for recently added scripts.
dwrite: Implement contextual subsitution (GSUB lookup 5).
dwrite: Fix offsets when stepping through chain rule fields.
dwrite: Add main loop variant for reverse substitution.
mfmediaengine: Send "ratechange" event for both default and playback rate changes.
mfmediaengine: Send "volumechange" event on muted state change.
mfmediaengine: Send "volumechange" event on volume change.
mfmediaengine: Propagate error out on missing callback attribute.
mfmediaengine: Duplicate configuration attributes.
mfmediaengine: Forward buffering events to user callback.
mf/session: Handle source buffering events.
dwrite: Implement reverse chain contextual substitution (GSUB lookup 8).
dwrite: Use lookup fitering for context matching.
dwrite: Include required feature when collecting lookups.
dwrite: Enable lookups from non-global features too.
dwrite: Partially implement GetBaseline().
include: Add more Media Foundation error codes.
mfmediaengine: Set media type flags on source resolution.
mfmediaengine: Set presentation duration attribute.
mfmediaengine/tests: Add some tests for error property.
mfmediaengine: Implement error object.
mfmediaengine: Implement error property.
mfmediaengine: Fully initialize error state.
mfmediaengine: Implement GetCurrentSource().
mfmediaengine: Update ready state property during resolution.
mfmediaengine: Set up audio output branch.
dwrite: Fix global feature mask to match its shift.
dwrite: Use correct glyph array offset for alternate substitution table output.
Paul Gofman (50):
ntoskrnl.exe: Add KdRefreshDebuggerNotPresent() function.
include/ddk: Add prototype for KeQueryActiveProcessors().
include: Add prototype for GetActiveProcessorCount().
ntoskrnl.exe: Add KeQueryActiveProcessorCountEx() function.
include/ddk: Fix struct _KUSER_SHARED_DATA definition.
ntdll: Fill ActiveProcessorCount field in _KUSER_SHARED_DATA.
ntdll: Fill ActiveGroupCount field in _KUSER_SHARED_DATA.
ntoskrnl.exe: Return zero for unknown msr registers.
ntoskrnl.exe: Fix KeQueryActiveProcessors() function.
ntoskrnl.exe: Add KeSetSystemAffinityThreadEx() function.
ntoskrnl.exe: Implement KeSetSystemAffinityThread() function.
ntoskrnl.exe: Implement KeRevertToUserAffinityThreadEx() function.
ntoskrnl.exe: Implement KeRevertToUserAffinityThread() function.
ntoskrnl.exe: Import KeGetCurrentProcessorNumber() function.
ntoskrnl.exe: Add KeSignalCallDpcDone() function.
ntoskrnl.exe: Add KeGenericCallDpc() function.
ntoskrnl.exe: Add KeSignalCallDpcSynchronize() function.
ntoskrnl.exe/tests: Add basic test for DPC call.
wined3d: Use a single wined3d_texture_is_full_rect() function.
wined3d: Prepare/load the destination resource location in glsl_blitter_blit().
wined3d: Allow multisample destination locations for all colour blits.
wined3d: Allow multisample source locations for all colour blits.
ntoskrnl.exe: Partially implement KeInitializeDpc() function.
ntoskrnl.exe: Add KeSetTimer() function.
ntoskrnl.exe: Reimplement KeSetTimerEx() on top of thread pool.
ntoskrnl.exe: Avoid leaking events on multipe KeSetTimerEx() calls.
ntoskrnl.exe: Cancel active timer before setting it.
ntoskrnl.exe: Support DPCs with timers.
ntoskrnl.exe/tests: Add more timer tests.
ntoskrnl.exe: Fix ObRegisterCallbacks() function parameter definition.
ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.
ntoskrnl.exe: Add stub for ExRegisterCallback() function.
ntoskrnl.exe: Add stub for ExUnregisterCallback() function.
ntoskrnl.exe: Implement IoReuseIrp() function.
include/ddk: Update the IMAGE_INFO structure.
ntoskrnl.exe: Implement image load notify routines registration.
include: Add RTL_QUERY_REGISTRY_TYPECHECK defines.
ntoskrnl.exe: Call load image notify routines for driver modules.
ntoskrnl.exe: Implement PsGetProcessSectionBaseAddress() function.
ntoskrnl.exe: Zero copied size in MmCopyVirtualMemory() stub.
include/ddk: Add _KAPC_STATE structure definition.
ntoskrnl.exe: Add stub for KeStackAttachProcess().
ntoskrnl.exe: Add stub for KeUnstackDetachProcess().
ntoskrnl.exe/tests: Add a test for accessing process memory.
ntoskrnl.exe/tests: Avoid race condition in test driver.
netio.sys: Add driver stub.
netio.sys: Add stub for WskRegister().
netio.sys: Add stub for WskDeregister().
netio.sys: Add stub for WskCaptureProviderNPI().
netio.sys: Add stub for WskReleaseProviderNPI().
Rémi Bernon (9):
ntdll: Introduce free_ranges indexing sequence.
ntdll: Use the free ranges in find_reserved_free_area.
d3d10core: Directly call DXGID3D10CreateDevice().
d3d11: Stop advertising the ID3D10Device interface on devices created by d3d11.
crypt32/tests: Fix signed integral cast warning.
dxgi/tests: Fix signed integral cast warning.
sxs: Fix uninitialized variable warning.
msvcirt/tests: Fix signed integral cast warning.
msvcp120/tests: Fix signed integral cast warning.
Serge Gautherie (3):
advpack: RegQueryValueExW() wants bytes, not chars.
shlwapi: RegQueryValueExW() wants bytes, not chars.
mscoree: RegQueryValueExW() wants bytes, not chars.
Thomas Faber (1):
ntdll/tests: Fix a test failure on Server 2003.
Torge Matthies (1):
joy.cpl: Fix pulsing buttons in joystick button state display.
Vijay Kiran Kamuju (4):
msasn1: Add stub for ASN1_Decode function.
include: Add missing enum, function and packing to msasn1.h.
ole2.dll16: Add stub OleIsCurrentClipboard function.
winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW.
Zebediah Figura (23):
amstream: Simplify flush_receive_queue() a bit.
amstream: Don't duplicate IMediaStream method implementations.
quartz/vmr9: Fake success from IVMRMixerConrol9::SetMixingPrefs().
quartz/vmr9: Use TRACE for some implemented methods.
quartz/vmr9: Don't query for IVMRSurfaceAllocatorEx9.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorEx9 from the default presenter.
quartz/vmr9: Remove the unused "allocator_mon" field.
quartz/vmr9: Get rid of CreateRenderingWindow().
quartz/vmr9: Trace argument values instead of omitting them.
d3dcompiler: Store derefs as an offset to a variable.
d3dcompiler: Rename HLSL_IR_DEREF to HLSL_IR_LOAD.
d3dcompiler: Store some builtin types in the hlsl_ctx structure.
d3dcompiler: Don't add a record deref to the instruction list twice.
d3dcompiler: Create assignment instructions more directly in struct_var_initializer().
d3dcompiler: Pass the semantic and location parameters to new_func_decl().
d3dcompiler: Also check the type class when checking for void.
d3dcompiler: Write to the function return value using a separate instruction.
amstream/tests: Define and use a global variable holding an audio media type.
d3dcompiler: Fix up the swizzle data type when unwrapping it from the assignment LHS.
d3dcompiler: Remove a redundant check for writemasks on non-numeric types.
d3dcompiler: Coerce the RHS before unwrapping swizzles.
d3dcompiler: Fix matrix dimension declaration for matrix<...> syntax.
d3dcompiler: Use hlsl_report_message() where possible.
Zhipeng Zhao (1):
wlanapi: Add WlanQueryInterface stub implementation.
Zhiyi Zhang (6):
user32: Handle NULL device and mode parameters in ChangeDisplaySettingsExW().
winex11.drv: Fake success for changing non-primary adapter settings.
winemac.drv: Fake success for changing non-primary adapter settings.
user32: Fake success for detaching adapters.
ddraw: Get new window size from the primary output after display mode changes.
rpcrt4: Implement RpcIfInqId().
Ziqing Hui (10):
windowscodecs: Get DDS parameters when initialize.
windowscodecs: Implement DdsDecoder_Dds_GetFrame().
windowscodecs: Implement DdsFrameDecode_GetSize().
windowscodecs: Check NULL parameters for DdsFrameDecode_GetSize().
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetFormatInfo().
windowscodecs: Implement DdsFrameDecode_Dds_GetFormatInfo().
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetSizeInBlocks().
windowscodecs: Implement DdsFrameDecode_Dds_GetSizeInBlocks().
windowscodecs: Add tests for DdsFrameDecode_Dds_CopyBlocks().
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.1 is now available.
What's new in this release (see below for details):
- Fix compilation with gcc 10
- Add some timezones
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.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 5.0.1 (total 37):
36059 Multiple Steam games fail to install DirectX runtime prerequisite, resulting in repeated install attempt on startup ('xinput1_3.dll' locked by client)
42038 Cannot scroll documents being compared in winmerge (Followup to bug 20695)
42585 Final Fantasy V Corrupt Fonts
45049 Multiple programs need d2d1 CreateRoundedRectangleGeometry (playchessV7, Paint.Net 4.*)
45481 Spintires: MudRunner crashes at launch
46005 Multiple games and applications fail due to missing interface proxy information in registry (oleautomation/dual interfaces referenced in coclass section inside of library block)
46735 Multiple applications need Direct3DShaderValidatorCreate9() implementation (The Sims 2 demo, Armed Assault)
47288 Gaea 1.0.19 (.NET 4.7 WPF app) diagnostic tool 'Watson.exe' crashes due to 'kernel32.SetConsoleScreenBufferInfoEx' stub
47668 Logos 8 (.NET/WPF 4.7.2 application) fails to download resources (needs ReOpenFile implementation)
48018 QuickTime 7.0.x installer fails, 'rundll32.exe "C:\Program Files (x86)\QuickTime\QTSystem\QTJava.dll,QTPostInstallProc"' crashes due to invalid cdecl dll entry
48338 DIB images with bpp <= 8 get wrong palette when converted to GpBitmap
48371 Home Designer Suite 21.3.1.1x64 reports "Error #272000009 A serious error occurred (SEH)."
48386 Some CPU features are not reported for Intel CPU (Detroit: Become Human is affected)
48387 User shared data area should have NumberOfPhysicalPages field filled in (used by Detroit: Become Human)
48480 dlls/krnl386.exe16 - thunk.c argument logic incorrect for CallProcEx32W16
48484 winecfg doesn't allow disabling Desktop Integration for Downloads
48491 _searchenv & co do not understand quoted directories
48510 Lotus Organizer 97 crashes when selecting a Backup folder using 'Browse' button
48549 Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
48557 Multiple installers crash (Hot Wired, Croc installer) : Setup is unable to initialize the language dialogbox: Error 106
48561 Cadence Allegro Professional 16.6 crashes at startup
48569 Infinite drag & drop loop crashes WinSCP
48571 Firefox 72.0.* crashes on every tab (unless dwrite is disabled)
48577 DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY and other enums are the wrong size
48580 Discord connecting to voice needs unimplemented function qwave.dll.QOSAddSocketToFlow
48594 AnyDesk crashes directly on startup (low WORD of instance handle must be ignored when looking up window classes)
48635 Asuka 120% Return BURNING Fest: Crashes after character selection.
48639 Shrew Soft VPN client needs setupapi.dll.SetupDiGetSelectedDriverA()
48646 QQMusicAgent crashes when started after installation
48648 Gothic II Night of the Raven:unhandled exception in Wine 5.2
48664 kernel32:process - Intermittent test_Toolhelp() failure
48669 iphlpapi.NotifyUnicastIpAddressChange() should call the callback initially if requested (required for Far Cry 5 online mode)
48694 The Bat! (64bit) crashes right after start
48706 Wineconsole freezes when restoring from minimized to maximized window
48723 Torchlight - Loading times are excessively long
48735 Wine builtin services.exe process_send_command: OVERLAPPED struct for control pipe has uninitialized Offset and OffsetHigh fields
48846 msvcr90/tests/msvcr90.c: error: variadic functions must use the base AAPCS variant
----------------------------------------------------------------
Changes since 5.0:
Aaro Altonen (3):
kernel32/tests: Add tests for SetConsoleScreenBufferInfoEx().
kernelbase: Implement SetConsoleScreenBufferInfoEx().
urlmon: Add URLOpenPullStreamW() stub.
Akihiro Sagawa (3):
dsound/tests: Add a test whether the buffer is a valid global memory.
dsound: Make GlobalHandle() for the sound buffer failed.
po: Update Japanese translation.
Alexandre Julliard (2):
rundll32: Add wrapper to call entry point on i386.
ver: Use the 16-bit resource function in GetFileVersionInfo16().
Alistair Leslie-Hughes (3):
d3dx9: Implement D3DXCreateKeyframedAnimationSet.
dmstyle: IDirectMusicStyle8 GetDefaultBand return S_FALSE.
qwave: Add QOSAddSocketToFlow stub.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Brendan Shanks (4):
include: Fix size of DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum.
include: Fix size of tomConstants enum.
include: Fix size of RecordCreateOptionsEnum.
wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
Charles Davis (1):
msvcrt: Correct return value of ___mb_cur_max_l_func().
Damjan Jovanovic (1):
gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Daniel Lehman (5):
tzres: Add Haiti Time Zone.
tzres: Add Aleutian Time Zone.
loader: Add Chatham Islands Standard Time Zone.
loader: Add Bougainville Standard Time Zone.
loader: Add Marquesas Standard Time Zone.
Dirk Niggemann (1):
krnl386.exe: Make CallProcEx32W16 clear CPEX_DEST_CDECL flag before looping over arguments.
Dmitry Timoshkov (4):
schedsvc/tests: Fix compilation with recent gcc/clang versions.
gdiplus: Reimplement GdipCreateBitmapFromGdiDib by using GdipCreateBitmapFromHBITMAP.
user32/tests: Add some tests for classes with non-zero low word instance.
server: Ignore low word of a class instance when looking up for a window class.
François Gouget (1):
kernel32/tests: Fix test_Toolhelp()'s nested process lookup.
Gerald Pfeifer (2):
winedump: Add a default case to numeric_leaf().
msi: Properly declare variables in msi/tests/utils.h as extern.
Gijs Vermeulen (1):
kernelbase: Set req->mask in SetConsoleScreenBufferInfoEx.
Giovanni Mascellani (1):
d2d1: Implement rounded rectangle drawing.
Hans Leidekker (1):
wbemprox: Implement Win32_DesktopMonitor.Name.
Henri Verbeet (1):
wined3d: Properly validate the stage index in wined3d_stateblock_set_texture_stage_state() (Coverity).
Jacek Caban (1):
rpcrt4: Use MustFree for all non-base types in get_param_pointer_info.
Jefferson Carpenter (1):
services: Initialize OVERLAPPED Offset and OffsetHigh.
Kevin Puetz (1):
rpcrt4: Fix ITypeInfo leak in get_iface_info.
Lauri Kenttä (2):
po: Update Finnish translation.
po: Update Finnish translation.
Lukáš Horáček (1):
wined3d: Add GTX 1660 SUPER as a card.
Matteo Bruni (1):
maintainers: Drop Józef Kucia.
Michael Cronenworth (12):
crypt32: Global variable compatibility update for gcc 10.
dsound: Global variable compatibility update for gcc 10.
mshtml: Global variable compatibility update for gcc 10.
secur32: Global variable compatibility update for gcc 10.
winebus: Global variable compatibility update for gcc 10.
wbemprox: Global variable compatibility update for gcc 10.
xinput: Global variable compatibility update for gcc 10.
twain_32: Global variable compatibility update for gcc 10.
msi: Global variable compatibility update for gcc 10.
webservices: Global variable compatibility update for gcc 10.
gphoto2.ds: Global variable compatibility update for gcc 10.
sane.ds: Global variable compatibility update for gcc 10.
Michael Müller (1):
setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.
Michael Stefaniuc (1):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (5):
ucrtbase: Add _query_new_handler() and _query_new_mode().
dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
user32: Improve window state handling in SetScrollInfo().
ole32: Fix a leak when creating pointer moniker through activation.
ole32: Fix a leak when creating antimoniker through activation.
Olivier F. R. Dierick (1):
winecfg: Add Downloads and Templates to shell folders UI interface.
Paul Gofman (6):
ntdll: Fill NumberOfPhysicalPages field in user shared data area.
ntdll: Report rdtsc processor feature if supported.
iphlpapi: Support InitialNotification flag in NotifyUnicastIpAddressChange().
ntdll: Zero init reg_tzi in find_reg_tz_info().
include: Add Vista+ PEB_LDR_DATA structure fields.
wined3d: Support sRGB reads for WINED3DFMT_B5G6R5_UNORM.
Piotr Caban (11):
msvcrt: Add support for quoted paths in _searchenv.
msvcrt: Add support for quoted paths in _searchenv_s.
msvcrt: Don't duplicate _searchenv_s code in _searchenv.
msvcrt: Add support for quoted paths in _wsearchenv_s.
msvcrt: Don't duplicate _wsearchenv_s code in _wsearchenv.
msvcp90: Don't pass NULL as reference in runtime_error and logic_error constructors.
msvcrt: Optimize _strnicmp_l implementation.
msvcr90/tests: Fix swscanf tests compilation on arm.
winemac: Fix leaks in macdrv_surface_destroy.
gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.
gdiplus: Fix leak in SOFTWARE_GdipDrawDriverString.
Roman Pišl (3):
shell32: Avoid crash on WM_WINDOWPOSCHANGING in BrsFolderDlgProc.
ole32: Avoid calling QueryContinueDrag recursively.
wineconsole: Allow maximization.
Rémi Bernon (1):
dinput: Increase device buffer size to 1024.
Sven Baars (1):
wined3d: Avoid accessing freed memory in wined3d_view_gl_destroy() (Valgrind).
Vijay Kiran Kamuju (3):
include: Add missing defines to icm.h.
mscms: Add stub for WcsGetDefaultColorProfileSize.
mscms: Add stub for WcsGetDefaultRenderingIntent.
Zebediah Figura (5):
widl: Output a registry script for all interfaces written into the typelib.
kernelbase: Implement ReOpenFile().
d3d9: Return a stub interface from Direct3DShaderValidatorCreate9().
setupapi: Implement SetupDiGetSelectedDriver().
ddraw: Avoid leaking the primary stateblock.
Zhiyi Zhang (1):
wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.9 is now available.
What's new in this release (see below for details):
- Major progress on the WineD3D Vulkan backend.
- Initial support for splitting dlls into PE and Unix parts.
- Support for generating PDB files when building PE dlls.
- Timestamp updates in the Kernel User Shared Data.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.9 (total 28):
15489 Build should optionally produce .pdb file suitable for use with symbol server
29168 Multiple games and applications need realtime updates to KSYSTEM_TIME members in KUSER_SHARED_DATA (Star Wars: The Old Republic game client, Blizzard games, GO 1.4+ runtime, Denuvo Anti-Tamper x64 #2)
29806 Hype The Time Quest: DirectX Media (DXM) v6.0 runtime installer fails (advpack.ExecuteCab should extract the INF from CAB before running the install part)
30814 Age of Empires II scrolling gets stuck after Alt-Tab away and back
42125 4k/8k demos often fail with 'Bad EXE Format' or 'error c0000020' due to Crinkler executable file compressor's "optimized" usage of PE header fields (loader compatibility)
43959 webservices/reader tests fail on arm
43960 rpcrt4/cstub tests fail on arm
43962 msvcrt/string tests fail on arm
44860 4k/8k demos crash due to Crinkler executable file compressor expecting PEB address in %ebx on process entry
48186 every wine process shows a definite leak in dlls/ntdll/env.c
48289 Grand Theft Auto 5 crashes after loading (GTA5 expects Vista+ PEB_LDR_DATA structure fields)
48441 mouse coordinates cannot exceed initial desktop size during startup of wineserver
48471 Mismatching behavior of GetEnvironmentVariableW for empty / long values
48490 Restored minimized windows have wrong height
48775 Microsoft Teams 1.3.x crashes on unimplemented function IPHLPAPI.DLL.NotifyRouteChange2
49105 Deus Ex GOTY fails to start with Direct3D renderer
49115 Hitman (2016) and Hitman 2 (2018) fail to launch in DX11 mode
49128 Good Company crash on launch
49130 NVIDIA RTX Voice installer crashes on unimplemented function setupapi.dll.SetupDiGetActualSectionToInstallExW
49131 wineboot fails to start
49139 Regression: Wine crashes on startup on FreeBSD >= 5.7
49140 Windows 10 SDK installer hangs on startup
49142 Horizontal mouse scroll events (X11 buttons 6 and 7) should not be translated to back/forward events
49146 Hearts of Iron IV needs api-ms-win-crt-private-l1-1-0.dll._o_sin
49173 widl generates invalid code for Gecko's ISimpleDOM.idl
49175 Duplicated checking canonicalized inside kernelbase/path.c
49200 Steam hangs after login
49203 Possible incorrect usage >= instead <= in shlview.c
----------------------------------------------------------------
Changes since 5.8:
Akihiro Sagawa (3):
po: Update Japanese translation.
winegstreamer: Unref the GstCaps object in init_new_decoded_pad().
strmbase: Allow NULL pin_get_media_type() callback in source_Connect().
Alex Henrie (8):
ntdll: Implement RtlIpv6StringToAddress(Ex)[AW].
iphlpapi: Implement ParseNetworkString for IPv6 addresses and services.
ws2_32/tests: Put WSAStringToAddress tests in tables.
ws2_32: Reimplement WSAStringToAddress on top of ntdll functions.
ws2_32: Set WSAEINVAL in InetPtonW if the address string is unparsable.
ws2_32: Reimplement inet_pton on top of ntdll functions.
ws2_32/tests: Fix typos in test_WSAStringToAddress.
ws2_32: Don't set output length in WSAStringToAddress on error.
Alexandre Julliard (54):
ntdll/tests: Enable RtlDowncaseUnicodeString() test.
ntdll: Add a few printf functions.
ntdll: Merge new features from msvcrt's printf implementation.
ntdll: Implement RtlFormatMessage().
ntdll/tests: Add some printf tests.
ntdll/tests: Add tests for RtlFormatMessage().
kernelbase: Reimplement FormatMessageA/W using RtlFormatMessage().
kernel32/tests: Add some tests for FormatMessageA/W buffer sizes.
attrib: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
cmd: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
net: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
reg: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
regedit: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
regsvr32: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
uninstaller: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
xcopy: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
ntdll: Initialize server directory on macOS when sending Mach port.
ntdll: Fix __sync_bool_compare_and_swap() usage.
ntdll: Handle already relocated .dynamic entries.
winegcc: Allow the output file to end in .so.
makefiles: Add support for building Unix .so libraries.
ntdll: Initial version of the ntdll.so Unix library.
ntdll: Allow ntdll.so to be loaded before wine_init() has run.
ntdll: Set up virtual memory layout in the Unix library.
loader: Try to load ntdll.so before libwine initialization.
ntoskrnl.exe: Avoid a few more ntdll forwards.
ntdll: Move the mmap reserved area functions to the Unix library.
ntdll: Store reserved areas in the Unix library.
ntdll: Move the debug functions to the Unix library.
ntdll: Move the Wine version functions to the Unix library.
ntdll: Do the pre-exec checks in the Unix library.
ntdll: Store main() arguments in the Unix library.
ntdll: Move configuration paths setup to the Unix library.
ntdll: Move the wineloader exec support to the Unix library.
ntdll: Don't use libwine during the Unix library initialization.
ntdll: Move the wineserver exec support to the Unix library.
ntdll: Move the Unix codepage initialization to the Unix library.
ntdll: Move setting the process name to the Unix library.
wineboot: Use wide character string literals.
include: Update the KUSER_SHARED_DATA structure.
ntdll: Make the windows directory a global variable.
ntdll: Add some more CPU feature flags.
ntdll: Centralize initialization of the user shared data.
ntdll: Use the user shared data to implement NtGetTickCount().
ntdll: Use the user shared data to implement RtlQueryUnbiasedInterruptTime().
kernelbase: Move WaitOnAddress implementation to sync.c.
kernelbase: Use the user shared data to implement GetTickCount().
kernel32: Use the user shared data to implement GetTickCount().
kernel32: Move GetProcessTimes() implementation to kernelbase and ntdll.
kernel32: Move GetSystemTimes() implementation to kernelbase.
ntdll: Implement SystemTimeAdjustmentInformation class.
kernel32: Move Get/SetSystemTimeAdjustment to kernelbase.
kernel32: Move the *PreferredUILanguages functions to kernelbase and ntdll.
ntdll: Silence a va_start compiler warning.
Alistair Leslie-Hughes (2):
shell32: Correct if condition.
loader: http.sys belongs in the driver directory.
Alon Barzilai (1):
ntdll: Add missing RtlQueryEnvironmentVariable function.
André Hentschel (1):
ntdll: Fix SystemRecommendedSharedDataAlignment on ARM.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
mshtml: Mark tests that need wine-gecko as todo on arches without it.
Biswapriyo Nath (2):
include/dwrite_1.idl: Fix typo in DWRITE_PANOSE_STROKE_VARIATION symbol name.
include/dwrite.idl: Fix typo in DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME member name.
Brendan Shanks (1):
ntdll: Fix length calculation of generated SMBIOS tables.
Charles Davis (8):
wined3d: Have ARB_fbo imply EXT_packed_depth_stencil.
winemac.drv: Use InitOnceExecuteOnce to initialize OpenGL.
preloader: Depend on wine_info.plist.
d3d11: Implement d3d11_immediate_context_FinishCommandList().
d3d11: Implement d3d11_immediate_context_GetContextFlags().
wined3d: Introduce wined3d_device_flush().
d3d11: Implement d3d11_immediate_context_Flush().
d3d11: Implement d3d10_device_Flush().
Connor McAdams (4):
d2d1: Introduce a helper to check for Bézier segments.
d2d1: Introduce a helper to check for split Bézier segments.
d2d1: Allow inserting multiple Bézier control points into a figure at once.
d2d1: Allow appending multiple Bézier control points to a figure at once.
Damjan Jovanovic (2):
ntdll: Fix ELF initializer address calculations on FreeBSD.
libwine: Add support for mmap at fixed start addresses on FreeBSD.
Daniel Lehman (1):
vcruntime140_1: Use return address from catch block routine if not provided by catch block info.
Derek Lesho (2):
mf/samplegrabber: Attach markers to previously queued sample, not the next.
mfreadwrite/reader: Add recognition of ftypemp42 mp4 header.
Dmitry Timoshkov (5):
server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.
ntdll: Don't try to map the PE file past the size of the backing file.
kernel32: On process entry store PEB address in %ebx.
kernel32/tests: Add a PE test image that resembles format of some of 8k demos.
crypt32: pwszContainerName or pwszProvName could be NULL in CRYPT_KEY_PROV_INFO.
Emilio Cobos Álvarez (2):
widl: Use DECLSPEC_ALIGN in MSVC compatible way for return types too.
api-ms-win-crt-private-l1-1-0: Implement _o__fileno, _o__setmode, _o__wfopen.
Esme Povirk (7):
joy.cpl: Add a description.
gdiplus: Don't set a palette when loading non-indexed images.
gdiplus: Return an error retrieving the palette for a metafile.
gdiplus: Add tests for image palette size.
gdiplus: Implement GdipGetMetafileDownLevelRasterizationLimit.
gdiplus: Improve GdipSetMetafileDownLevelRasterizationLimit.
maintainers: Changing my name.
François Gouget (5):
windowscodecs/tests: Fix the spelling of a couple of variable names.
msvcrt: Fix a couple of spelling errors in comments.
wineusb.sys: Fix the spelling of an ERR() message.
winebus.sys: Fix the spelling of HID_USAGE_SIMULATION_ACCELERATOR.
rsaenh: Remove an unnecessary reference to wine-devel.
Gabriel Ivăncescu (2):
winex11.drv: Use a helper to retrieve the decoration rect for managed windows.
winex11.drv: Fix X11DRV_X_to_window_rect to handle windows smaller than the decoration.
Gijs Vermeulen (10):
advpack: Extract inf file before installing in ExecuteCab().
dxgi: Introduce helper to convert between dxgi and wined3d scanline ordering types.
dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
include: Fix SetupDiGetActualSectionToInstallExA/W definitions.
setupapi: Add SetupDiGetActualSectionToInstallExA/W.
winemac: Add default case in isMouseMoveEventType.
setupapi: Correct SetupDiGetActualSectionToInstall[Ex]A/W .spec file entries.
advapi32: Set last error directly in GetUserName.
ucrtbase: Add more _o forwards.
ntdll: Fix number of arguments passed to mmap_remove_reserved_area in apple_create_wine_thread.
Hans Leidekker (4):
wbemprox: Fix allocation size.
crypt32: Recognize 'Microsoft Root Certificate Authority 2010' when verifying the Microsoft root policy.
crypt32: Microsoft root policy does not include the base policy.
wbemprox: Get the operating system serial number from the registry.
Henri Verbeet (34):
wined3d: Introduce WINED3D_BITMAP_SIZE.
wined3d: Check for a bound compute shader in wined3d_cs_exec_dispatch().
wined3d: Introduce a SPIR-V shader backend for the Vulkan adapter.
wined3d: Implement adapter_vk_dispatch_compute().
wined3d: Implement Vulkan constant buffer descriptors.
wined3d: Implement Vulkan image shader resource view descriptors.
wined3d: Implement Vulkan buffer shader resource view descriptors.
wined3d: Implement Vulkan sampler descriptors.
wined3d: Implement Vulkan buffer unordered access view descriptors.
wined3d: Implement Vulkan image unordered access view descriptors.
wined3d: Implement Vulkan unordered access view counter descriptors.
wined3d: Implement Vulkan NULL buffer shader resource view descriptors.
wined3d: Implement Vulkan NULL 1D image shader resource view descriptors.
wined3d: Implement Vulkan NULL 2D image shader resource view descriptors.
wined3d: Reference shader resources in wined3d_context_vk_update_descriptors().
wined3d: Add a supported extensions array to the wined3d_vk_info structure.
wined3d: Implement Vulkan draws.
wined3d: Implement indirect Vulkan draws.
wined3d: Implement indexed Vulkan draws.
wined3d: Create Vulkan pipeline objects.
wined3d: Bind Vulkan vertex buffers.
wined3d: Implement scissor rectangle support for the Vulkan adapter.
wined3d: Implement blend object support for the Vulkan adapter.
wined3d: Implement rasterisation object support for the Vulkan adapter.
wined3d: Store the wined3d primitive type in the wined3d state structure.
wined3d: Store the wined3d patch vertex count in the wined3d state structure.
wined3d: Implement different primitive topologies for the Vulkan adapter.
wined3d: Implement primitive restart for the Vulkan adapter.
wined3d: Set the correct patch vertex count for the Vulkan adapter.
wined3d: Implement depth tests and writes for the Vulkan adapter.
wined3d: Implement stencil tests for the Vulkan adapter.
wined3d: Implement alpha to coverage multisampling for the Vulkan adapter.
wined3d: Implement vertex attribute divisors for the Vulkan adapter.
wined3d: Move the swapchain fps counter to wined3d_cs_exec_present().
Jacek Caban (24):
dbghelp: Use debuggee environment in search_unix_path.
notepad: Use int for point size value.
dmscript: Remove unused function.
winegcc: Introduce --debug-file option for generating separated symbol files.
configure: Allow specifying cross debug format.
makedep: Support split debug for cross compiled modules.
configure: Check if --disable-stdcall-fixup is supported before using it.
makedep: Install also generated typelib for installed idl files.
oleacc.idl: Generate tlb file for importlib.
winnt.h: Add ARRAYSIZE macro.
wine/test.h: Remove NAN and INFINITY macros.
dmusicf.h: Move typedef below enum declarations.
gdiplusenums.h: Remove PaletteFlags.
winegcc: Default to ucrtbase.
configure: Use cross compiler for EXCESS_PRECISION_CFLAGS check when available.
winegcc: Pass only raw compiler and linker arguments in forward mode.
include: Add winapifamily.h file.
include: Avoid redefinition warnings when basetyps.h is used together with winnt.h or objbase.h.
stdlib.h: Remove _strtold declaration.
stdlib.h: Provide strtold as an inline wrapper.
configure: Remove no longer needed -Wno-incompatible-library-redeclaration.
ucrtbase: Use MSVCRT prefix for __stdio_common_vsprintf implementation.
math.h: Provide copysign declaration for ucrt.
math.h: Add scalbn declaration.
Jactry Zeng (6):
include: Add some interface definitions for axextend.idl.
qcap/tests: Add interface tests for video capture filter.
qcap/videocapture: Initialize caps struct.
qcap/tests: Correct CLSID in aggregation tests of smart tee filter.
qcap/videocapture: Implement IAMFilterMiscFlags interface.
qcap/videocapture: Implement IAMVideoControl interface.
Józef Kucia (3):
wined3d: Introduce a (stub) SPIR-V fixed-function vertex pipe implementation.
wined3d: Introduce a (stub) SPIR-V fixed-function fragment pipe implementation.
wined3d: Implement shader_spirv_select().
Louis Lenders (3):
iphlpapi: Add stub for NotifyRouteChange2.
setupapi: Add stub for CM_Get_Device_Interface_Alias{A,W}.
shcore: Return S_OK in SetCurrentProcessExplicitAppUserModelID.
Markus Engel (2):
user32: Force undefined bits in GetKeyState() and GetKeyboardState() to zero.
user32/tests: Add more tests for GetKeyState().
Martin Storsjo (5):
ntdll: Fix arm64 unwind across ELF/PE boundaries.
ntdll: Pass a nonnull handler_data when continuing after a collided unwind on arm64.
ntdll: Properly restore x29/x30 for arm64 packed unwind data with local stack.
ucrtbase: Add tests and fix more zero length __stdio_common_vs[w]printf cases.
ucrtbase: Extend the printf tests even further.
Michael Stefaniuc (1):
dmusic: Remove an unused function.
Murray Colpman (1):
winex11.drv: Interpret mouse 6/7 as horiz scroll.
Nikolay Sivov (40):
dxgi: Translate DXGI_USAGE_UNORDERED_ACCESS to corresponding wined3d bind flag.
mf: Add a helper for session commands without parameters.
mf: Add a helper to set closed state for the session.
mf: Add a helper to set paused state for the session.
mf: Move locking from individual command helpers to command callback.
mf: Serialize session commands.
mf: Add internal placeholder command for end-of-presentation.
shlwapi: Forward SHRegDuplicateHKey() to shcore.dll.
shlwapi: Forward SHRegGetPath() to shcore.dll.
shlwapi: Forward SHRegSetPath() to shcore.dll.
shlwapi: Forward SHGetValue() to shcore.dll.
shlwapi: Forward SHQueryInfoKey() to shcore.dll.
shlwapi: Forward SHDeleteValueW() to shcore.dll.
shlwapi: Forward SHSetValue() to shcore.dll.
shlwapi: Forward SHQueryValueExA() to shcore.dll.
mf: Add flags field for additional SAR state.
mf: Avoid unnecessary prerolling calls in SAR.
mf: Preroll on sink start.
mf/sar: Implement sample processing.
mf/sar: Implement stream flushing.
mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS attribute to configure audio client.
mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID to initialize audio client.
mfreadwrite/reader: Consider end-of-stream state when picking stream for MF_SOURCE_READER_ANY_STREAM requests.
mf/samglegrabber: Dump pending items on shutdown.
mf/samplegrabber: Remove now unnecessary shutdown state check.
mf/samplegrabber: Test shutdown state under the lock for methods that modify item queue.
quartz/dsoundrenderer: Remove dead method call.
dwrite: Remove feature duplicates before applying them.
dwrite: Set feature indices before collecting lookups.
dwrite: Enable 'vert' feature.
dwrite: Append enabled user features that apply to whole text.
dwrite: Keep user features values.
dwrite: Propagate feature mask to lookups collected from it.
dwrite: Keep track of shaping stage feature applies to.
dwrite: Set per-glyph feature mask.
dwrite: Silence warning for name entries with platform 3/encoding 10.
dwrite: Use mirrored character only if font supports it.
mf/topology: Setting tee node input type does not create input stream.
mf/topology: Remove logic already present in stream resize helper.
include: Add IMFTopologyNodeAttributeEditor definition.
Paul Gofman (4):
wined3d: Allow setting user memory for mipmapped textures in wined3d_texture_update_desc().
ntoskrnl.exe: Emulate full user shared data area range.
ntoskrnl.exe: Support 'or Ev, Gv' opcode for x86_64.
ntoskrnl.exe: Support 'xor Ev, Gv' opcode for x86_64.
Philip Rebohle (4):
include: Add IDXGIFactory6.
dxgi: Implement IDXGIFactory6.
include: Add IDXGIFactory7.
dxgi: Add stubs for IDXGIFactory7.
Piotr Caban (1):
ucrtbase: Add remaining _o_* functions forwards.
Rémi Bernon (4):
ntdll/tests: Add tests for USD timestamp updates.
ntdll/tests: Add tests for USD memory basic info.
server: Add USD support with timestamp updates.
ntdll: Reduce USD section size to 0x1000.
Stefan Dösinger (2):
wined3d: Implement Vulkan NULL 3D image shader resource view descriptors.
wined3d: Implement Vulkan NULL cube image shader resource view descriptors.
Vijay Kiran Kamuju (1):
include: Add new defines and fix struct WNODE_HEADER.
Vladimir Panteleev (3):
kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
kernelbase: Don't return ERROR_INSUFFICIENT_BUFFER from GetEnvironmentVariableW.
kernelbase: Fix GetEnvironmentVariableW return for empty variables.
Zebediah Figura (49):
include: Add dpfilter.h.
quartz/tests: Fix a test failure on 32-bit Windows.
quartz/tests: Add some tests for windowless video size.
quartz: Set VMR9AllocationInfo dimension members to the video dimensions.
quartz: Get rid of the texture drawing path.
quartz/vmr9: Get rid of VMR9_SurfaceAllocator_UpdateDeviceReset().
quartz/vmr9: Perform image stretching in Present() instead of StretchRect().
quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl9::GetNativeVideoSize().
quartz/vmr9: Remove a redundant check from VMR9_SurfaceAllocator_InitializeDevice().
quartz/vmr9: Rename hWndClippingWindow to clipping_window.
quartz/vmr9: Render to the clipping window in windowless mode.
quartz/vmr9: Destroy the window when set to windowless or renderless mode.
quartz/vmr9: Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
quartz/vmr9: Partially implement IVMRFilterConfig9::SetNumberOfStreams().
quartz/vmr9: Implement IVMRFilterConfig9::GetNumberOfStreams().
quartz/vmr9: Add IVMRMixerControl9.
quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Allocate the surface array in allocate_surfaces().
qcap/tests: Get rid of the VFW capture filter tests.
devenum: Use calloc() in enum_moniker_create().
devenum: Map CLSID_LegacyAmFilterCategory to DMOCATEGORY_AUDIO_DECODER and DMOCATEGORY_VIDEO_DECODER.
devenum: Use wide string literals.
quartz/tests: Fix a crash in test_allocate_surface_helper().
quartz/tests: Test filter mapper interfaces.
quartz/tests: Fix a leak in test_fm2_enummatchingfilters().
quartz: Pass the matching filter count to IEnumRegFiltersImpl_Construct().
devenum: Return filter data for DMO monikers.
quartz/tests: Test enumerating DMOs.
quartz/tests: Fix a crash in test_renderless_formats().
quartz/tests: Fix a test failure in Windows 7 and higher.
quartz/tests: Relax an intermittently failing test.
quartz/filtergraph: Get rid of tracing for outer IUnknown methods.
shell32/tests: Add more tests for IShellWindows.
explorer: Implement IShellWindows::Register() and IShellWindows::Revoke().
explorer: Implement IShellWindows::OnNavigate().
explorer: Implement IShellWindows::FindWindowSW() for non-desktop windows.
explorer: Look for an existing window browsing the given path first.
quartz: Complain louder if a filter reports the wrong state.
quartz: Implement IMediaControl::StopWhenReady().
ntdll: Remove extraneous newline from debugstr_ObjectAttributes().
d3dcompiler: Synthesize a variable when subscripting a non-deref node.
d3dcompiler: Synthesize a variable when indexing a non-deref node.
d3dcompiler: Do not store matrix and vector indexes as deref instructions.
include: Add asferr.h.
quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.
quartz: Merge enumregfilters.c into filtermapper.c.
quartz: Merge enummoniker.c into filtermapper.c.
wine.inf: Install some driver libraries in the system32/drivers subdirectory.
ntoskrnl.exe: Protect the two relocated pages independently.
Zhiyi Zhang (21):
dxgi: Search all adapters for the containing output of a swapchain.
ddraw/tests: Test window position.
d3d8/tests: Test window position.
d3d9/tests: Test window position.
ddraw/tests: Add get display mode tests.
d3d8/tests: Add more get display mode tests.
d3d9/tests: Add more get display mode tests.
winex11.drv: Resize desktop upon display change events.
winex11.drv: Move update_windows_on_desktop_resize().
dxgi/tests: Test IDXGISwapChain_GetContainingOutput() after Alt+Enter.
d3d8: Store a struct d3d8 in struct d3d8_device.
wined3d: Specify a wined3d output for swapchain creation.
wined3d: Determine output from window position in wined3d_hook_proc().
wined3d: Get output from swapchain state.
kernelbase: Check NULL canonicalized_len parameter in UrlCanonicalizeW().
shlwapi/tests: Test NULL UrlCanonicalizeA/W() parameters.
wined3d: Move device window to the correct output when handling WM_ACTIVATEAPP with full screen swapchains.
wined3d: Restore display mode for the previous output before changing to another output.
wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_set_fullscreen().
dxgi: Remove dxgi_swapchain_set_fullscreen_state().
wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_resize_target().
Ziqing Hui (3):
windowscodecs/tests: Add tests for IWICDdsDecoder_GetParameters().
windowsccodecs: Implement DdsDecoder_Dds_GetParameters().
windowscodecs/tests: Add tests for DdsDecoder_GetFrame() and DdsFrameDecode_GetSize().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.8 is now available.
What's new in this release (see below for details):
- Support for Plug & Play device notifications.
- More support for building with Clang in MSVC mode.
- Still more progress on the WineD3D Vulkan backend.
- Initial implementation of a GIF encoder.
- Vulkan spec update.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.8 (total 44):
17233 Zanzarah game opens a black fullscreen window and then crashes (needs support for IDirectDraw7::EnumSurfaces 'DDENUMSURFACES_CANBECREATED')
32337 ABBYY FineReader 11 trial version crashes when trying to activate the production (RichEdit control incorrectly returns failure for EM_SETREADONLY)
34495 Total War: Shogun 2 (Steam): character models are fixed sideways with NVIDIA drivers
37388 GTA IV fails to launch (using XLiveLess)
38495 Origin crashes when launching a game
39534 Bad Mojo Redux crashes on start (ddraw1_vtbl and ddraw_surface1_vtbl need to be writable)
39649 Anno 1701 doesn't show images in ANNOpedia when anti-aliasing enabled
40311 Processing of 'DeviceIoControl' calls doesn't corresponds to specification
40820 Karaoke DVD Burner v1.0 crashes when attempting to 'Create and Burn' (missing 'CLSID_FileWriter', clsid '{8596E5F0-0DA5-11d0-BD21-00A0C911CE86}')
40894 Warcraft 3: Crash on starting the game
42313 64-bit Process Hacker 2.39.124 crashes when attempting to inspect any process
42326 Darsksiders Warmastered Edition crashes on startup
42555 Units are invisible in Shogun: Total War battle map
43454 Multiple installers and applications crash on unhandled exception 0x000006ba inside NdrAsyncClientCall (ABBYY FineReader 12 Professional)
43765 RSpec-Explorer windows are sometimes unresponsive to keyboard and mouse input
44216 The 4Th coming crashes
45377 StreetFighter V Arcade Edition (Steam) custom protection scheme requires pids/tids to be multiples of four
45774 Multiple games and applications show black screen or have broken user interface rendering (Ragnarok Online kRO, Microsoft Expression Design 4)
45839 Qt 5.8 SDK installer needs 'IFileSystem.MoveFile' method implementation for maintenance tool creation step
46377 The Bat!: weird behaviour of program icon on the KDE taskbar
46949 DDraw games using older windowed mode wrappers such as DirectX Windower Embedded v2.3/D3D Windower v1.x crash (ddraw_palette_vtbl and ddraw_surface{1,2,3,4,7}_vtbl need to be writable)
47621 Command link buttons in task dialog are displayed in wrong style
47623 Acronis Disk Director 12 installer fails in 'MsiFltSrvInstall64' custom action (Acronis Storage Filter Management Driver 'fltsrv.sys')
47690 Notepad++ shows no ligatures for Fira Code font, when used with DirectWrite backend
47999 Gif pictures stored in PE files are not loaded into HTML web pages via Res protocol
48308 KERNEL32.dll.SetEnvironmentStringsW function needed for GoG Galaxy 2 beta
48586 d3d tests broke on cw-gtx560-64 due to recent user32/tests changes
48738 cmd.exe crashes when running certain batch files
48857 Tokyo Xanadu eX+: game crashes when trying to play videos with builtin quartz
48920 Can't quit Legends of Runeterra by closing virtual desktop window (stack overflow) (5.6 regression)
48927 Heap buffer underflow in TiffFrameDecode_ReadTile when decoding 1x1 4bpp RGBA image
48984 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.{vswprintf_s,swprintf_s}
48985 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.ZwFlushBuffersFile
48987 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.{wcscat_s,wcscpy_s}
49005 Listview header occasionally fails to redraw when list is scrolled vertically
49011 Multiple games and applications cause wineserver crash in Wine 5.7
49034 Enlarge list width in font selection dialog
49043 iLok License Manager daemon 'LDSvc.exe' crashes on startup (PACE copy protection spuriously fails to get/set thread context of newly created threads)
49064 Riot Vanguard (Riot Games) v0.3.3 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.RtlDuplicateUnicodeString
49068 'Access violation in riched20.dll' with certain GOG.com installers
49086 Blindwrite 7.0 'ezplay.sys' crashes in driver entry point
49087 Blindwrite 7.0 'ezplay.sys' needs ntoskrnl.exe.RtlCopyMemoryNonTemporal
49088 Acronis Storage Filter Management Driver 'fltsrv.sys' crashes on unimplemented function 'ntoskrnl.exe.IoIs32bitProcess'
49090 The Witcher: Enhanced Edition: tooltips, object descriptions are wrongly displayed
----------------------------------------------------------------
Changes since 5.7:
Alexandre Julliard (40):
ntdll: Avoid using wine_get_config_dir() from libwine.
ntdll: Avoid using wine_get_server_dir() from libwine.
ntdll: Avoid using wine_get_user_name() from libwine.
ntdll: Avoid using wine_get_build/data_dir() from libwine.
ntdll: Avoid using wine_dll_enum_load_path() from libwine.
libwine: Make the various directory functions obsolete.
configure: Check for deprecation warnings from sys/sysctl.h.
ntdll: Add a helper to exec wineserver.
ntdll: Add a helper to exec wineloader.
ntdll: Store the pending free list in the main process heap.
ntdll: Don't use a custom alignment for large heap blocks.
ntdll: Remove VFAT_IOCTL_READDIR_BOTH kernel bugs workarounds.
ntdll: Add a helper for platform-specific threading initialization.
ntdll: Move signal stack size computation to the common code.
ntdll: Move TEB allocation to the common code.
ntdll: Use server_enter_uninterrupted_section() for LDT locking.
ntdll: Get rid of obsolete KERN_THALTSTACK sysctl.
ntdll: Allocate TEBs out of a larger memory block.
ntdll: Remove support for custom virtual memory alignments.
wrc: Remove some dead code.
include: Get rid of BITFIELDS_BIGENDIAN.
include: Get rid of ALLOW_UNALIGNED_ACCESS.
include: Get rid of Mac support in RPC headers.
ntoskrnl: Add missing exports for functions that are already implemented.
gdi32: Return 0 char width for missing glyphs.
include: Use the gcc interlocked functions also on i386 if possible.
ntdll: Use the standard Interlocked* functions.
user32: Use the standard Interlocked* functions.
server: Avoid using interlocked functions.
libport: Get rid of interlocked functions.
kernel32: Move volume functions to kernelbase.
kernel32: Move some file functions to kernelbase.
kernel32: Move Wer* function stubs to kernelbase.
kernel32: Move FlushProcessWriteBuffers() stub to ntdll.
kernel32: Move some stub functions to kernelbase.
kernelbase: Add CopyMemoryNonTemporal export.
kernel32: Move the psapi functions to kernelbase.
api-ms-win-core-windowserrorreporting-l1-1-0: Add WerUnregisterFile().
kernel32/tests: Use wide character string literals in FormatMessage() tests.
kernel32/tests: Fix some incorrect FormatMessage() tests.
Alistair Leslie-Hughes (3):
ddraw: Make palette and remaining surface vtbls writable.
dmime: Parse lyric track data.
dmime: Support more common chunks.
Andrew Eikum (5):
include/xapo.idl: Add XAPO registration flags.
setupapi: Quiet down missing driver debug message.
ntoskrnl: Quiet down failed class installer debug message.
winmm: Accept open handles in wave{In,Out}GetDevCaps.
winmm/tests: Test using a device handle in wave{In,Out}GetDevCaps and wave{In,Out}Open.
Bernhard Übelacker (3):
cmd: Fix crash in if condition parsing.
cmd/tests: Test that the if command is not influenced by a previous one.
server: Save whole input history line again.
Biswapriyo Nath (2):
include: Add d3d11 video processor capability flags.
include/dxgi.idl: Add cpu access flags.
Brendan Shanks (8):
include: Add additional DISPLAYCONFIG defines.
user32: Move DisplayConfig stubs together into sysparams.c.
user32/tests: Add QueryDisplayConfig() and DisplayConfigGetDeviceInfo() tests.
user32: Improve QueryDisplayConfig() stub.
user32: Improve DisplayConfigGetDeviceInfo() stub.
include: Add additional DISPLAYCONFIG defines.
user32/tests: Rename DisplayConfig test functions to match style.
user32/tests: Test success for QueryDisplayConfig() and DisplayConfigGetDeviceInfo().
Christian Costa (1):
d3dx9/tests: Remove useless '\n' within some ok() messages.
Derek Lesho (1):
mf: Add missing ::Release of clock timer.
Dmitry Kislyuk (1):
wshom.ocx: Use wide character string literals.
Dmitry Timoshkov (3):
windowscodecs: Add initial implementation of the GIF encoder.
windowscodecs: Fix IWICBitmapDecoder::CopyPalette for a not initialized case in the GIF decoder.
windowscodecs/tests: Add the tests for GIF encoder and decoder.
Fabian Maurer (2):
find.exe/tests: Add test for multiple files at once.
find.exe: Implement file searching.
Gabriel Ivăncescu (6):
qedit: Check for S_OK when enumerating the splitter pin.
qedit: Check for S_OK when enumerating the source pin.
qedit: Retrieve the pin media type using a helper function.
qedit: Use the pin's media type instead of querying for IFileSourceFilter.
qedit: Implement IMediaDet::get_StreamLength().
cmd.exe: Don't treat explicit paths as a PATH search list.
Gijs Vermeulen (3):
wineqtdecoder: Do not use wide string literals to fix warning.
ntdll: Remove unused function fast_wait_cv().
kernel32: Remove unused functions is_executable() and get_table_entry().
Hans Leidekker (3):
msxml3: Update version resource.
msxml6: Update version resource.
msi: Return void from init_automation_object.
Henri Verbeet (25):
wined3d: Do not flush read-only mappings in wined3d_texture_vk_download_data().
wined3d: Move device_clear_render_targets() to texture.c.
wined3d: Use the view instead of the texture in is_full_clear().
wined3d: Create Vulkan image views for rendertarget views.
wined3d: Implement clears in the Vulkan blitter.
wined3d: Implement depth/stencil clears in the Vulkan blitter.
wined3d: Make the adapter responsible for compute dispatch.
wined3d: Make the adapter responsible for draws.
wined3d: Add Vulkan format information for WINED3DFMT_R9G9B9E5_SHAREDEXP.
wined3d: Add Vulkan format information for WINED3DFMT_D32_FLOAT_S8X24_UINT.
wined3d: Add Vulkan format information for WINED3DFMT_R32_FLOAT_X8X24_TYPELESS.
wined3d: Add Vulkan format information for WINED3DFMT_X32_TYPELESS_G8X24_UINT.
wined3d: Add Vulkan format information for WINED3DFMT_D24_UNORM_S8_UINT.
wined3d: Implement WINED3D_MAP_DISCARD support in adapter_vk_map_bo_address().
wined3d: Use DISCARD maps in wined3d_buffer_vk_upload_ranges() if possible.
wined3d: Create Vulkan image views for shader resource views.
wined3d: Create Vulkan buffer views for shader resource views.
wined3d: Create Vulkan image views for unordered access views.
wined3d: Create Vulkan buffer views for unordered access views.
wined3d: Create Vulkan buffer views for unordered access view counters.
wined3d: Create Vulkan samplers for samplers.
wined3d: Add a swizzle to the Vulkan format information for WINED3DFMT_A8_UNORM.
wined3d: Add Vulkan format information for WINED3DFMT_B8G8R8X8_UNORM.
wined3d: Add Vulkan format information for WINED3DFMT_B8G8R8X8_UNORM_SRGB.
wined3d: Submit the current command buffer in adapter_vk_flush_context().
Jacek Caban (39):
server: Fix setting context flags in get_thread_context.
msvcp: Get rid of no longer needed hack.
wine/exception.h: Don't override __attribute__ keyword on clang MSVC target.
wincon.h: Don't use calling convention wrappers on MSVC.
include: Improve _CrtDbgBreak macro.
math.h: Use builtin nan and inf on clang MSVC target.
wine/asm.h: Introduce __ASM_USE_THISCALL_WRAPPER macro.
msvcirt: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcp60: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcp: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcrt: Use __ASM_USE_THISCALL_WRAPPER macro.
riched20/tests: Don't use thiscall wrappers on clang MSVC target.
riched20: Use __ASM_USE_THISCALL_WRAPPER macro.
rpcrt4: Don't use GetExceptionCode outside __except block.
server: Don't try to synchronize system registers on not initialized threads in get_thread_context request.
server: Delay setting system registers until suspending select is waken.
winbase.h: Support using int for LONG in MSVC interlocked functions.
riched20: Include wine/asm.h in editstr.h.
winegcc: Add entry symbol underscore when building linker command.
winegcc: Explicitly pass DLL crt entry point to PE linker when Wine crt is used.
winegcc: Make mingw a separated platform from msvc.
winegcc: Use libgcc only on mingw target.
winegcc: Add support for msvc target.
include: Introduce WINE_USE_LONG macro.
include: Add intrin.h and use it to provide __cpuid implementation.
wineboot: Use __cpuid from intrin.h.
wbemprox: Use __cpuid from intrin.h.
ntdll: Export _chkstk from importlib.
ntoskrnl.exe: Export _chkstk from importlib.
winecrt0: Build exception functions on clang msvc target.
winecrt0: Add _fltused symbol.
configure: Assume that -delayload linker argument is supported when -target argument is used.
configure: Allow specifying default CROSSTARGET as configure argument.
configure: Explicitly specify subsystem when using msvc target.
winebuild: Introduce --safeseh option that allows marking assembly files as SEH compatible.
winegcc: Use --safeseh winebuild option on msvc target.
msdmo: Use proper buffer types in IEnumDMO::Next.
winuser.h: Add touch event flags.
comdlg32: Improve error handling in get_config_key_string.
Jactry Zeng (6):
qcap/videocapture: Store capabilities information.
qcap/videocapture: Use formats from capabilities instead of hard coding.
qcap/videocapture: Remove code for resizing.
qcap/videocapture: Implement IAMStreamConfig::GetNumberOfCapabilities().
qcap/videocapture: Implement IAMStreamConfig::GetStreamCaps().
qcap/videocapture: Reimplement source_get_media_type().
Jeff Smith (2):
gdiplus/tests: Indicate which encoder failed when attempting to save image.
gdiplus: Include palette when writing PNG indexed formats.
Liam Middlebrook (1):
winevulkan: Update to VK spec version spec 1.2.139.
Mas Ahmad Muhammad (1):
comdlg32: Enlarge list area in CHOOSE_FONT window.
Micah N Gorrell (2):
advapi32: Replace usage of internal SERV_ functions with exported functions.
advapi32: Replace SERV_dup() with strdupAW().
Michael Müller (1):
ddraw: Make ddraw1_vtbl and ddraw_surface1_vtbl writable.
Nikolay Sivov (28):
mfuuid: Add file scheme handler CLSID to static library.
mfplat/tests: Use file scheme handler CLSID from mfuuid.
comctl32/monthcal: Use wide string literals.
comctl32/ipaddress: Use wide string literals.
comctl32/animate: Use wide string literals.
comctl32/rebar: Use wide string literals.
comctl32/datetime: Use wide string literals.
comctl32/syslink: Use wide string literals.
comctl32/datetime: Use designated initializers for constants.
dwrite: Add separate structure for top level gsub/gpos offsets.
dwrite: Initialize GSUB offsets in shaping cache.
dwrite: Add helper functions to collect default GSUB features.
dwrite: Add a helper to collect gsub/gpos lookups.
dwrite: Implement single substitution lookup (GSUB lookup 1).
dwrite: Partially implement chaining contextual substitution (GSUB lookup 6).
comctl32/header: Use wide string literals.
comctl32/propsheet: Use wide string literals.
comctl32/tab: Use wide string literals.
comctl32: Move MRU functions to another file.
dwrite: Enable common positional features for all scripts.
dwrite: Use feature tags directly instead of SDK symbols.
dwrite: Update DWRITE_SHAPING_TEXT_PROPERTIES definition.
dwrite: Enable global directional substitution features.
mf: Fix timer instance leak on error path in SetTimer().
rtworkq: Invoke cancelled waiting item with RTWQ_E_OPERATION_CANCELLED.
mfplat: Add I420 format support for frame size helpers.
qmgr: Update to IBackgroundCopyJob4.
qmgr: Make SetMaximumDownloadTime() succeed.
Philip Rebohle (3):
winevulkan: Support struct forward-declarations as base types.
winevulkan: Avoid adding duplicate enum aliases.
winevulkan: Update to VK spec version spec 1.2.140.
Piotr Caban (5):
msvcrt: Fix overflow checks in parse_double.
msvcrt: Improve string to double conversion accuracy.
msvcrt: Avoid depending on signed variable overflow in parse_double.
msvcrt/tests: Cleanup strtod tests.
msvcrt: Fix 0 parsing in parse_double helper.
Rémi Bernon (5):
mfplat: Signal synchronous resolver methods on handler failure.
ntdll/tests: Test that ptids are multiples of four.
server: Make sure pids/tids are multiples of four.
user32: Don't read preparsed data on non-HID devices.
devenum: Use free for memory allocated with wcsdup.
Serge Gautherie (1):
rpcrt4: Remove inexistent CreateServerInterfaceFromStub().
Stefan Dösinger (1):
configure: Try -lgnutls as gnutls default lib.
Vijay Kiran Kamuju (13):
include: Add IWbemRefresher related interfaces.
include: Add dvdif.idl.
include: Add some missing defines to winioctl.h.
include: Add missing GUIDs and CLSIDs to wincodecsdk.idl.
include: Add related ASN1encoding_s and ASN1decoding_s structs.
msasn1: Add ASN1_CreateModule stub implementation.
msasn1/tests: Add initial tests.
msasn1: Implement ASN1_CreateModule function.
msasn1: Implement ASN1_CloseModule function.
msasn1: Add partial implementation of ASN1_CreateEncoder.
msasn1: Add stub for ASN1_CloseEncoder function.
msasn1: Add partial implementation of ASN1_CreateDecoder.
msasn1: Add stub for ASN1_CloseDecoder function.
Vincent Povirk (1):
gdiplus: Support character offsets in GDI32_GdipDrawDriverString.
Zebediah Figura (85):
wineusb.sys: Avoid touching the IRP structure after queueing it.
cmd: Use _wsplitpath() from msvcrt.
cmd: Fix the spelling of "tilde".
cmd: Ignore quotes when parsing command line parameters.
wine.inf: Install WMI DLLs in the wbem subdirectory in WoW64 too.
http.sys: Avoid touching the IRP structure after queueing it.
amstream/tests: Remove some no longer necessary callbacks.
wineqtdecoder: Remove some no longer necessary callbacks.
qasf/tests: Remove some no longer necessary callbacks.
winegstreamer: Remove some no longer necessary callbacks.
quartz/tests: Remove some no longer necessary callbacks.
sechost: New stub DLL.
advapi32: Move event tracing APIs to sechost.
ddraw/tests: Test vtbl protection.
quartz: Don't register the DirectSound renderer as a filter for autoplugging.
quartz: Don't register the audio renderer as a filter for autoplugging.
quartz/tests: Relax a test for PresentImage().
include: Add the missing SetStreamMediaType() method to IVMRImageCompositor9.
advapi32: Make {Lock, Unlock}ServiceDatabase() into a no-op.
services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op.
advapi32: Reimplement EnumServicesStatusW() on top of EnumServicesStatusExW().
ksproxy.ax: New stub DLL.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify from the VMR9.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify9 from the VMR7.
quartz/vmr9: Don't expose IVMRWindowlessControl from the VMR9.
quartz/vmr9: Don't expose IVMRWindowlessControl9 from the VMR7.
quartz/tests: Expand tests for VMR9 interfaces.
advapi32: Move service functions into sechost.
quartz/vmr9: Remove some dead code.
quartz/vmr9: Support VMR9AllocFlag_3DRenderTarget in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
quartz/vmr9: Retrieve a default format if none is given in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
quartz/vmr9: Improve tracing in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
d3dcompiler: Fix matrix dimension declaration and access.
d3dcompiler: Set the struct base type to HLSL_TYPE_VOID.
d3dcompiler: Respect arrays in struct fields.
d3dcompiler: Set the dimensions for array types.
d3dcompiler: Set the x-dimension for struct types.
quartz/tests: Fix a copy-paste error.
quartz/tests: Add more tests for mixing mode.
quartz/tests: Add some tests for sample presentation time on the VMR9.
quartz/tests: Add some tests for end-of-stream notifications on the VMR9.
quartz/tests: Test current position caching.
d3dcompiler: Add a helper to initialize the hlsl_ir_node structure.
qcap/filewriter: Propagate file I/O failure in file_writer_sink_receive().
advapi32: Move string SID/SD conversion functions to sechost.
quartz/tests: Add some tests for IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Validate the window in IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Forbid setting the video clipping window while connected.
quartz/vmr9: Do not call VMR9_maybe_init() in vmr_start_stream().
quartz/vmr9: Remove the "force" parameter of VMR9_maybe_init().
ntoskrnl.exe: Protect relocated pages one at a time.
ntdll: Export RtlCopyMemoryNonTemporal.
ntoskrnl.exe: Implement IoIs32bitProcess().
quartz/tests: Add tests for the separate reference count of IVMRSurfaceAllocatorNotify9.
quartz/vmr9: Track the IVMRSurfaceAllocatorNotify9 reference count separately.
quartz/vmr9: Call IVMRSurfaceAllocator9::TerminateDevice() when destroying the filter.
quartz/vmr9: Add a stub IVMRMixerBitmap9 interface.
kernel32/tests: Account for unsupported NLSVERSIONINFOEX.
kernel32/tests: Fix failures in test_GetThreadSelectorEntry() on 32-bit machines.
ddraw/tests: Add more tests for EnumSurfaces().
ddraw: Properly compare DDENUMSURFACES_NOMATCH to TRUE.
ddraw: Implement DDENUMSURFACES_CANBECREATED.
quartz/videorenderer: Factor out get_bitmap_header().
quartz/videorenderer: Set the source rect at connection time.
quartz/videorenderer: Resize the window in video_renderer_connect().
quartz/vmr9: Factor out get_bitmap_header().
quartz/vmr9: Resize the window in vmr_connect().
sechost: Implement I_ScRegisterDeviceNotification().
ntoskrnl.exe: Broadcast device notifications to registered handlers.
user32: Implement RegisterDeviceNotification().
ntoskrnl.exe: Move the BroadcastSystemMessage() call to plugplay_send_event().
quartz: Rename "baseControlWindow" to "window".
quartz: Retrieve the video format directly from the pin.
quartz: Get rid of the IsDefault*Rect callbacks.
quartz: Move the source and destination rectangles to the BaseControlVideo structure.
quartz: Merge the BaseControlVideo object into the video_window object.
ntdll/tests: Add tests for RtlSetCurrentEnvironment().
ntdll: Avoid leaking the previous environment in RtlSetCurrentEnvironment().
kernelbase: Implement SetEnvironmentStrings().
http.sys: Use a separate file and preprocessor directives to avoid duplication.
quartz: Get rid of the SetDefault*Rect callbacks.
quartz: Get rid of the resize callback.
quartz: Resize the destination rect only if we are using the default destination rect.
quartz: Implement IBasicVideo::IsUsingDefaultSource().
quartz/tests: Add tests for IBasicVideo.
Zhiyi Zhang (19):
user32/tests: Flush messages after mode changes.
user32/tests: Fix a ChangeDisplaySettings() test.
user32/tests: Test EnumDisplayMonitors().
user32: Leave critical section before calling callbacks in EnumDisplayMonitors().
dxgi/tests: Fix a possible test failure on D3D12.
dxgi/tests: Do not run test_multi_adapter() in parallel with other tests.
dxgi/tests: Test IDXGISwapChain_ResizeTarget() with all outputs.
wined3d: Move device window to the correct output in wined3d_swapchain_state_resize_target().
wined3d: Fix an uninitialised variable warning.
user32/tests: Add a trailing '\n' to some ok() calls.
user32/tests: Test button styles.
comctl32/tests: Test button styles.
comctl32/button: Do not set BS_PUSHBUTTON and BS_DEFPUSHBUTTON style directly to Split Buttons and Command Links.
user32/tests: Test restoring a full screen window with WS_THICKFRAME style.
winex11.drv: Update _NET_WM_STATE before resizing windows.
dxgi/tests: Add more default full screen swapchain target output tests.
wined3d: Release wined3d mutex if wined3d_swapchain_state_init() failed in wined3d_swapchain_init().
wined3d: Move device window to the correct output when changing swapchain state to full screen.
dxgi/tests: Add more get swapchain containing output tests.
Ziqing Hui (3):
windowscodecs: Add stub for DdsFrameDecode.
windowscodecs: Add stub implementation for IWICDdsDecoder.
windowscodecs: Add stub implementation for IWICDdsFrameDecode.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.7 is now available.
What's new in this release (see below for details):
- Wine Mono engine updated to 5.0.0, with upstream WPF support.
- More progress on the WineD3D Vulkan backend.
- Beginnings of a USB device driver.
- Support for building with Clang in MSVC mode.
- Builtin modules no longer depend on libwine.
- Support for configuring Windows version from the command line.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.7.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.7 (total 38):
10600 Multiple applications using skinning have distorted/unusable GUI (ABC Amber LIT Converter 2.0, GSA Search Engine Ranker v7.25)
18104 Multiple TTS applications using Microsoft SAPI runtime report 'Speech engine not installed' (CLSID_SpVoice '{96749377-3391-11D2-9EE3-00C04F797396}')(Final Draft, TactileView, Vocaboly 3.0)
19239 Multiple applications crash with division by zero on edit control with zero line height (eBay Turbo Lister, Clarin TX control wrapper)
27825 Super Street Fighter IV AE : Videos won't play
29067 Skyrim crashes during game intro
38776 ReadPlease 2003 (SAPI 4.0) won't load non-English Text to Speech Engine
40502 Global objects constructors fail when invoking standard libs
41559 (winecfg) Add ability to change windows version via command line
42136 switching tab in sapi.cpl from Microsoft Speech SDK 5.1 crashes control
43638 Multiple 4k demoscene OpenGL demos crash on startup with 'No active WGL context found' (Yermom, 'End of time' by Alcatraz and Altair)
45111 Winamp - Milkdrop complains
46633 Multiple applications need threadpool I/O (MariaDB mysqld, Mono's System.Threading.ThreadPoolBoundHandle)
47061 Multiple E-Banking applications by KOBIL Systems GmbH crash on startup or report 'Security issue code: 0x03938745 (60000069)' (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
47365 jittering caused by mouse input in vkquake
47944 Wine64 tries to change permissions in /private/tmp/ that fails on macOS 10.15 Catalina
48052 kernel32:debugger - Wine randomly fails to get the thread context
48389 Detroit: Become Human has poor performance (use of unaligned futexes for condition variables on Linux)
48556 Nascar racers crash at start
48731 Just Cause crashes while loading level with builtin d3dx9_26
48740 ConEmu is constantly loosing focus
48747 ConEmu flickers and scrolls randomly
48803 FITietokanta crashes every time after ADD-button is pressed
48807 Panzer Corps 2 needs vcruntime140_1.dll.__CxxFrameHandler4
48817 Module_InitDLL fails if LDR_MODULE.Flags was modified
48898 4k demoscene OpenGL demos crash on startup due to missing opengl32.dll 'wglGetDefaultProcAddress' stub (Crinkler's imports resolver requires named API exports matching native opengl32)
48923 Heroes of Might and Magic IV crashes on start
48932 Wine does not display any windows unless `xrandr --auto` has been run
48937 Wine 5.6 ships broken 'winepath' that emits DOS-style instead of UNIX-style line endings, breaking scripts
48941 IMalloc::DidAlloc() return value is inaccurate
48956 winecfg fails to initialize kernelbase.dll
48958 wineusb driver doesn't install in WINEPREFIX
48960 NtQueryDirectoryFile incorrectly returns STATUS_NO_MORE_FILES when it encounters an ignored entry
48961 Il-2 Sturmovik 1946 (GOG.com) fails to start
48966 Previously created Wine prefix: "kernelbase.dll" failed to initialize, aborting
48971 Multiple Blizzard Games not running anymore with a Game Initialization Failed: T error
48973 eDrawings 2015 (.NET 4.0 app) crashes on startup (needs 'Win32_VideoController' WMI class 'AdapterCompatibility' property)
48974 Multiple MSI-based installers show 'newBinaryXX' text instead of bitmap on button controls (missing support for 'msidbControlAttributesBitmap')
48983 DeutschlandLAN Cloud PBX Desktop client v22.x is not able to connect with the internet
----------------------------------------------------------------
Changes since 5.6:
Alex Henrie (1):
kernelbase: Stub LoadAppInitDlls().
Alexandre Julliard (44):
ntdll: Don't call entry point for the main process so that we don't need to check the dll flag.
ntdll: Allow the module file name to not be null-terminated.
ntdll: Always use the loaded path as builtin module file name.
msvcrt: Build the CRT startup code also for non-PE builds.
winegcc: Use the CRT startup code also for non-PE builds.
ntdll: Support loading builtin modules that don't use a constructor.
winecrt0: Remove constructor support for exe and native modules.
winebuild: Only generate a constructor for dll modules.
winegcc: Only use a constructor for dll modules.
winepath: Avoid CR characters in output.
winebuild: Set page size to 4096 also on ARM64.
ntdll: Load .so builtin modules without using libwine.
ntdll: Use a Wine-specific field in WINE_MODREF for the .so handle.
winebuild: Add --fixup-ctors option to allow intercepting constructors in .so files.
winegcc: Fixup constructors after building a module.
configure: Add check for dlinfo().
ntdll: Execute .so constructors during module initialization.
ntdll: Export Unix user name in WINEUSERNAME variable.
advapi32: Use WINEUSERNAME variable to implement GetUserNameA/W.
kernel32: Move GetNamedPipeHandleStateW() implementation to kernelbase.
winecfg: Use Windows paths to load the library list.
winecfg: Get rid of drive autodetection.
gdi32: Use Windows paths in add/remove_font_resource().
gdi32: Use Windows paths to read Wine font directories.
winemenubuilder: Avoid using wine_get_config_dir().
winevdm: Avoid using wine_get_config_dir().
mountmgr.sys: Avoid using wine_get_config_dir().
libport: Remove the Windows libwine stubs.
include: Also undefine PAGE_SHIFT to avoid compiler warnings.
ntdll: Don't abort directory search in single entry mode when a file is ignored.
ntdll: Also ignore missing directories in NtGetNlsSectionPtr().
ntdll: Make sure we don't try to attach the main exe a second time.
ntdll: Support loading ntdll without a constructor.
winebuild: Don't use a constructor for dll modules either.
winegcc: No longer use a constructor for module initialization.
winecrt0: Get rid of constructor support.
makefiles: Explicitly import libwine where necessary.
ntdll: Call TLS callbacks also for the main exe.
ntdll: The builtin load callback is no longer used for ntdll itself.
ntdll: Add a helper function to allocate module dependencies.
opengl32: Specify the exact commit when fetching Khronos files.
opengl32: Update to the current OpenGL spec.
opengl32: Make wgl driver entry points WINAPI.
opengl32: Add stub for wglGetDefaultProcAddress().
Alistair Leslie-Hughes (2):
d3dx9: Add support for D3DFMT_P8 in DDS files.
ntdll: Correct compile error under macos.
Anton Baskanov (6):
amstream: Implement AMAudioStream::SetState.
amstream: Store parent as struct audio_stream in audio stream sample.
amstream: Implement AMAudioStream::EndOfStream().
amstream: Implement AMAudioStream::Receive().
amstream: Implement IAudioStreamSample::Update().
amstream: Implement IAudioStreamSample::CompletionStatus().
Brendan Shanks (8):
dinput8/tests: Test injecting keyboard events.
cmd: Use RtlGetVersion to fix displayed Windows version on Win8.1 or 10 prefix.
winedbg: Use RtlGetVersion to fix displayed Windows version on Win8.1 or 10 prefix.
dinput: Block Acquire() until hooks are installed to prevent input being lost.
dinput: Fix DInput8 keyboard behavior for injected events with scancode=0.
dinput: Fix crash in dump_DIEFFECT() when lpvTypeSpecificParams is unexpectedly NULL.
dinput/tests: Test IDirectInputEffect::SetParameters() with a zeroed DIEFFECT and flags=0.
dinput: Fix IDirectInputEffect::SetParameters() when called with flags=0.
Charles Davis (2):
wined3d: Remove WINED3D_RS_EDGEANTIALIAS.
wined3d: Use GL_APPLE_rgb_422 for UYVY and YUY2 surfaces.
Damjan Jovanovic (3):
mshtml/tests: Fix a HRESULT comparison in ProtocolSink_ReportResult().
mshtml: Fix handling res protocol resource type ids without leading '#'.
mshtml: Support implicit RT_FILE resource type in res protocol.
Derek Lesho (1):
mfreadwrite: Clear STREAM_FLAG_SAMPLE_REQUESTED flag on MEEndOfStream event.
Dmitry Timoshkov (24):
adsldp: Fix mapping for 1.3.6.1.4.1.1466.115.121.1.26.
adsldp: Fix IDirectorySearch::FreeColumn() for ADSTYPE_NT_SECURITY_DESCRIPTOR.
adsldp: Add support for searching of deleted objects.
adsldp/tests: Add one more skip() to catch ERROR_DS_SERVER_DOWN.
schedsvc/tests: Fix compilation with recent gcc/clang versions.
wldap32: Implement ldap_search_init_pageW.
wldap32: Implement ldap_search_abandon_page.
wldap32: Implement ldap_get_paged_count.
wldap32: Implement ldap_get_next_page_s.
adsldp: Add support for paged search.
adsldp: Fix memory leaks (Valgrind).
adsldp/tests: Fix memory leaks (Valgrind).
wldap32/tests: Add a test for LDAP paged search.
wldap32: Set count and result to 0 when returning LDAP_NO_RESULTS_RETURNED.
windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.
windowscodecs: Add support for 128bppRGBAFloat format to TIFF decoder.
windowscodecs: Add support for 32bppCMYK and 64bppCMYK formats to TIFF decoder.
windowscodecs: Add support for 3bps RGB format to TIFF decoder.
windowscodecs: Add support for 12bps RGB format to TIFF decoder.
windowscodecs: Add support for 4bps RGBA format to TIFF decoder.
windowscodecs: Add support for 16bps RGBA format to TIFF decoder.
windowscodecs: Add support for 96bppRGBFloat and 128bppPRGBAFloat formats to TIFF decoder.
windowscodecs/tests: Add some tests for various TIFF color formats.
windowscodecs/tests: Add a separate test for 4bps BGRA TIFF format.
François Gouget (14):
dbghelp: Fix the spelling of a comment.
adsldp: Fix the spelling of some FIXME() messages.
winapi_check: Fix support for .ocx API documentation.
winapi: Tweak a couple of typedef error messages.
winapi: Allow DECLSPEC_ALIGN() in typedef declarations.
winapi_test: Clarify the error message regarding struct size and alignment.
winapi: Add support for some new spec file declarations.
winapi: Ignore function declarations that are too complex.
winapi: Skip #if 0 sections.
winapi_test: Add support for more base types.
winex11: Set res_class to the program name for Crostini.
adsldp: Fix typos and spelling issues in FIXME() messages.
dwrite: Include config.h for HAVE___BUILTIN_POPCOUNT.
appwiz.cpl: Rename ARCH_STRING to GECKO_ARCH.
Gabriel Ivăncescu (9):
qedit: Implement IMediaDet::get_StreamType().
qedit: Implement IMediaDet::get_StreamTypeB().
qedit: Implement IMediaDet::get_Filter().
qedit: Use "Source" as the name of the source filter.
qedit: Move GetFilterInfo up and rename it.
qedit: Move GetSplitter up and rename it.
qedit: Implement IMediaDet::put_Filter().
qedit: Store the filename instead of querying the filter for it.
qedit: Remove the splitter from the graph if it failed to connect.
Gerald Pfeifer (1):
ntdll: Fix call_constructor build on FreeBSD.
Hans Leidekker (4):
secur32: Add application protocol stubs for macOS.
wbemprox: Use wide character string literals.
wbemprox: Implement Win32_VideoController.AdapterCompatibility.
msi: Add support for bitmap buttons.
Henri Verbeet (35):
wined3d: Move Vulkan specific context functions to context_vk.c.
wined3d: Only insert read barriers for WINED3D_MAP_READ maps in adapter_vk_map_bo_address().
wined3d: Invalidate non-coherent memory before reading from it in adapter_vk_map_bo_address().
wined3d: Flush non-coherent memory ranges in adapter_vk_unmap_bo_address().
wined3d: Do not request coherent memory in wined3d_buffer_vk_create_buffer_object().
wined3d: Move OpenGL specific context functions to context_gl.c.
wined3d: Track buffer usage.
wined3d: Implement a Vulkan device memory allocator.
wined3d: Implement WINED3D_MAP_NOOVERWRITE support in adapter_vk_map_bo_address().
wined3d: Implement Vulkan buffer uploads.
wined3d: Implement Vulkan GPU buffer copies.
wined3d: Create Vulkan images for texture resources.
wined3d: Implement Vulkan texture uploads.
wined3d: Implement Vulkan texture downloads.
wined3d: Introduce a slab allocator for small buffers.
wined3d: Introduce a structure for OpenGL buffer objects.
wined3d: Store the preferred binding in the wined3d_bo_gl structure.
wined3d: Use the bo bindings in wined3d_context_gl_copy_bo_address().
wined3d: Implement wined3d_unordered_access_view_copy_counter() on top of wined3d_context_copy_bo_address().
wined3d: Implement wined3d_unordered_access_view_set_counter() on top of wined3d_context_copy_bo_address().
wined3d: Use the bo binding in wined3d_context_gl_map_bo_address().
wined3d: Use the bo binding in wined3d_context_gl_unmap_bo_address().
wined3d: Derive the access mask from the bo usage in adapter_vk_map_bo_address().
wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_unmap_bo_address().
wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_map_bo_address().
wined3d: Drop the bind flag parameters to wined3d_adapter_ops.adapter_copy_bo_address().
wined3d: Add a miscellaneous state template for the Vulkan adapter.
wined3d: Move the OpenGL fixed-function blitter to texture.c.
wined3d: Move the FBO blitter to texture.c.
wined3d: Move the raw blitter to texture.c.
wined3d: Introduce wined3d_context_vk_reference_bo().
wined3d: Introduce wined3d_context_vk_reference_texture().
wined3d: Introduce a Vulkan GPU blitter.
wined3d: Implement raw blits in the Vulkan GPU blitter.
wined3d: Handle MSAA resolves in the Vulkan blitter.
Jacek Caban (46):
server: Introduce a separated type for user APCs.
ntdll: Factor out server_select.
ntdll: Use server_select in RtlWaitOnAddress.
ntdll: Directly use server_select in wait_suspend.
ntdll: Directly use server_select in send_debug_event.
devpropdef.h: Fix DECLSPEC_SELECTANY usage.
wdm.h: Fix MmMapLockedPagesSpecifyCache declaration.
kernelbase: Forward threadpool I/O functions to ntdll.
kernelbase: Implement CreateThreadpoolIo.
include: Fix DECLSPEC_NORETURN usage.
winnt.h: Add __readgsqword declaration.
server: Allow passing suspend context in select request.
ntdll: Use select request to pass suspend context to server.
ntdll: Use select request instead of get_suspend_context to transfer context back to client.
server: Get rid of no longer needed get_suspend_context and set_suspend_context requests.
ntdll: Block signals in send_debug_event.
ntdll: Use server_select to pass context to server in send_debug_event.
server: Get rid of separate thread suspend_context.
ntdll: Remove APC handling from RtlWaitOnAddress.
ntdll: Leave critical section before blocking in RtlWaitOnAddress.
kernel32/tests: Avoid arithmetic on pointer to stack variable.
appwiz.cpl: Explicitly compare strcmp result to 0.
widl: Use DECLSPEC_ALIGN in MSVC compatible way.
httpapi/tests: Use DECLSPEC_ALIGN in MSVC compatible way.
kernel32/tests: Use DECLSPEC_ALIGN in MSVC compatible way.
jscript: Support null this in Function.prototype.bind.
oleaut32/tests: Define NONAMELESSUNION.
server: Don't change context flags in copy_context.
server: Don't change cached thread context in set_thread_context.
server: Make thread context a server object.
server: Create thread context object in stop_thread.
server: Don't wait for client thread to enter suspended state in set_thread_context.
server: Block by waiting on context handle in get_thread_context.
makedep: Don't try to use .delay.a extension for non-PE delay imports.
windowscodecs: Provide UUIDs in importlib.
winbase.h: Unify MSVC interlocked functions declarations.
include: Use long type for __msvcrt_long when possible.
include: Don't override keywords with macros on MSVC.
windef.h: Use __thiscall keyword on Clang with MSVC target.
winnt.h: Use the same C_ASSERT version on all compilers.
debug.h: Use GNU style variadic macros on MSVC clang target.
wine/asm.h: Introduce __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcirt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcp60: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcp90: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcrt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
Jeff Smith (10):
gdiplus: Clear new multi-point paths that end with Start.
gdiplus: Check that GdipAddPathLine2 is passed at least one point.
gdiplus: Reuse point when calling GdipAddPathBezier on open figure.
gdiplus: Reuse point when calling GdipAddPathBeziers on open figure.
gdiplus: Reuse point when calling GdipAddPathLine on open figure.
gdiplus: Reuse point when calling GdipAddPathLine2 on open figure.
gdiplus: Reuse point when calling GdipAddPathArc on open figure.
gdiplus: Use internal function to add bezier points for curve.
gdiplus/tests: Use originating line when ok_path reports failures.
jscript/tests: Fix some function-to-string failure message typos.
Liam Middlebrook (4):
winevulkan: Don't mark alias functions as required.
winevulkan: Respect sortorder extension attribute.
winevulkan: Handle VkEnumValue aliases to provisional exts.
winevulkan: Update to VK spec version spec 1.2.138.
Marcus Meissner (1):
ws2_32: Add IPPROTO_IPIP mapping.
Martin Storsjo (1):
ntdll: Properly return errors when failing to unwind.
Michael Müller (1):
opengl32: Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat.
Michael Stefaniuc (2):
oledb32: Remove redundant NULL check before CoTaskMemFree().
d3d10: Remove superfluous TRUE : FALSE conditional expression.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (37):
mf: Implement sink prerolling.
mf/tests: Add some tests for node list management.
mf: Handle EndOfStream events within Media Session.
mf: Forward MEEndOfPresentation event from Media Session.
mf: Add support for end of presentation state change.
mf: Raise MESessionStopped again if session is already stopped.
mf: Set approximate occurrence time for MESessionStopped/MESessionEnded events.
mfplat: Fix subtype test condition for MFInitMediaTypeFromWaveFormatEx().
mf: Validate new current type set for sample grabber.
ole32: Fix IMalloc::DidAlloc() return value to reflect block validity.
ole32: Improve thread safety in DidAlloc().
ole32: Fix spy callback arguments for IMalloc::GetSize().
maintainers: Take Media Foundation core modules section.
ole32: Do not allocate spyed memory array on freeing attempts.
ole32: Improve locking safety in IMalloc::Free().
ole32: Improve locking safety in IMalloc::HeapMinimize().
ole32: Remove unused field.
ole32: Simplify static IMalloc instance initialization.
mf: Merge SAR sink and steam instances.
mf: Add initial implementation of SAR stream type handler.
mf: Release presentation clock on SAR shutdown.
mf: Create and initialize audio client for SAR stream.
mf: Handle state changes for SAR stream.
mf: Implement prerolling for SAR stream.
mf: Send format invalidation event when new type is set for SAR stream.
mf: Make SAR stream request some samples on restart.
mf: Implement IMFAudioStreamVolume for SAR stream.
mf: Implement IMFSimpleAudioVolume for SAR stream.
mf: Shutdown SAR sink on ShutdownObject().
mf: Merge sample grabber sink and stream instances.
mf: Release presentation clock on sample grabber shutdown.
mf: Add missing IMFMediaEventGenerator query support for sample grabber stream.
mf: Add missing IMFMediaEventGenerator query support for SAR stream.
comctl32/listview: Only apply horizontal offset when setting header position.
dwrite: Use unsigned types for single-bit fields.
mf: Handle null marker context for sample grabber stream.
mf: Make sure to request another sample for sample grabber after current timed sample.
Owen Rudge (3):
winecfg: Add support for '/v' parameter allowing Windows version to be changed.
winecfg: Add /? parameter to print help and valid versions.
winecfg: Return 0 on success when setting Windows version.
Paul Gofman (9):
ddraw: Convert BOOL flags to bitfields in ddraw_surface.
ddraw: Check surface flags when marking surface as lost.
ddraw/tests: Test system memory surface with lost device for ddraw4.
ddraw/tests: Test system memory surface with lost device for ddraw2.
ddraw/tests: Test system memory surface with lost device for ddraw1.
quartz/filesource: Store file size on load.
quartz/filesource: Check for past EOF read in _Request().
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of EOF.
kernel32/tests: Mark ERROR_HANDLE_EOF result as broken for async file read.
Philip Rebohle (9):
dxgi: Create frame latency events for d3d12 swapchains if requested.
dxgi: Signal the frame latency event on present.
dxgi: Implement d3d12_swapchain_GetFrameLatencyWaitableObject().
dxgi: Implement d3d12_swapchain_SetMaximumFrameLatency().
dxgi: Implement d3d12_swapchain_GetMaximumFrameLatency().
dxgi/tests: Add a test for frame latency events using d3d12.
dxgi: Improve the d3d12_swapchain_CheckColorSpaceSupport() stub.
dxgi: Improve the d3d12_swapchain_SetColorSpace1() stub.
dxgi/tests: Add test for colour space support APIs.
Piotr Caban (6):
ucrtbase: Change ptd fields offsets to match with native.
vcruntime140_1: Export functions only on x86_64.
vcruntime140_1: Add __CxxFrameHandler4 stub.
vcruntime140_1: Implement function description version 4 structures reading.
vcruntime140_1: Add __CxxFrameHandler4 implementation.
vcruntime140_1: Fix rethrow handling in __CxxFrameHandler4.
Roman Pišl (6):
comctl32/edit: Avoid division by zero during initialization.
comctl32/edit: Avoid division by zero in EDIT_EM_LineScroll_internal.
user32/edit: Avoid division by zero during initialization.
user32/edit: Avoid division by zero in EDIT_EM_LineScroll_internal.
wineconsole: Don't activate window when computing positions.
wineconsole: Don't allow recurrent resizing while grabbing changes.
Serge Gautherie (5):
winapi_test: Tests.dat needs timezoneapi.h.
winapi_test: Add DYNAMIC_TIME_ZONE_INFORMATION to tests.dat.
winapi_test: Do not multiply type size when it is undefined, in _refresh().
ntdll: Reorder DECLSPEC_NORETURN on raise_status().
winegcc: Reorder DECLSPEC_NORETURN on error().
Stefan Dösinger (4):
iphlpapi: MacOS struct sockaddr is 4 byte aligned on 64 bit.
iphlpapi: Write an ERR if the sockaddr parsing went wrong.
iphlpapi: Use the dst sa_family for the netmask too.
iphlpapi: Honor sa_len when reading AF_INET addresses.
Sven Baars (8):
setupapi: Fix a memory leak (Valgrind).
setupapi: Fix a leak on early return in SetupDiGetDriverInfoDetailA (Valgrind).
setupapi: Only copy driver info if SetupDiEnumDriverInfoW succeeded (Valgrind).
setupapi: Make sure the class name is always set on success in SetupDiGetINFClassW (Valgrind).
kernelbase: Fix a string leak in CreateProcessInternal (Valgrind).
ntdll: Fix a string leak in init_user_process_params (Valgrind).
kernel32: Fix a memory leak in MoveFileWithProgressW (Valgrind).
ntdll: Fix a memory leak in fork_and_exec.
Thomas Faber (1):
gdiplus/tests: Disable double-freeing test.
Vijay Kiran Kamuju (2):
qdvd: New stub DLL.
winspool.drv/tests: Remove win9x checks and enable some tests.
Vincent Povirk (3):
mscoree: Use mono_get_corlib to get mscorlib image.
mscoree: Replace uses of mono_domain_assembly_open.
mscoree: Update Wine Mono to 5.0.0.
Zebediah Figura (76):
devenum: Don't bother creating the category key for codecs if there are no codecs to register.
devenum: Get rid of the DEVENUM_ prefix on all method names.
devenum: Get rid of the MediaCatMoniker typedef.
devenum: Use calloc() in moniker_create().
devenum: Pass moniker fields to moniker_create().
ntdll: Factor out object_is_finished().
ntdll: Implement threadpool I/O queues.
ntdll/tests: Add tests for kernel32 threadpool I/O functions.
d3dcompiler: Check for multiple matrix majority keywords on typedefs.
d3dcompiler: Always set the matrix majority for declaration types.
d3dcompiler: Calculate the register size of types.
d3dcompiler/tests: Add some tests for matrix majority.
devenum/tests: Use wide character string literals.
devenum/tests: Add more tests for IPropertyBag methods.
devenum: Don't support VT_LPWSTR in IPropertyBag methods.
devenum: Don't support VT_UI4 in IPropertyBag methods.
devenum: Merge the property bag object into the moniker object.
ntdll: Handle unaligned condition variables when using futexes.
ntdll: Handle unaligned SRW locks when using keyed events.
ntdll: Handle unaligned SRW locks when using futexes.
devenum/tests: Avoid running test_devenum() twice.
devenum: Return E_INVALIDARG from IPropertyBag::Write() for invalid variant types.
devenum: Remove some unnecessary includes.
devenum: Get rid of the union in struct moniker.
maintainers: Add devenum to the DirectShow section.
winegstreamer: Remove some unused imports.
winegstreamer: Delay-load mfplat.
wineusb.sys: New stub driver.
wineusb.sys: Implement AddDevice().
wineusb.sys: Implement basic IRP_MJ_PNP requests for the bus FDO.
wineusb.sys: Start an event handler thread.
wineusb.sys: Create USB devices.
wineusb.sys: Implement IRP_MN_QUERY_DEVICE_RELATIONS.
d3dcompiler: Make printed IR a bit more readable.
d3dcompiler: Avoid using the lookahead token for location.
wineusb.sys: Implement device and instance IDs.
wineusb.sys: Implement hardware IDs.
wineusb.sys: Return compatible IDs.
wineusb.inf: Add new INF file.
wineboot: Install wineusb as a root-enumerated PnP service.
devenum: Ignore the "left" parameter to IMoniker::BindToObject().
devenum: Access the IPropertyBag interface directly in IMoniker::BindToObject().
devenum: Implement IMoniker::BindToObject() for DMO devices.
wineusb.sys: Implement URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE.
wineusb.sys: Partially implement URB_FUNCTION_SELECT_CONFIGURATION.
wineusb.sys: Implement URB_FUNCTION_VENDOR_INTERFACE.
wineusb.sys: Implement URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER.
wineusb.sys: Implement URB_FUNCTION_ABORT_PIPE.
wineusb.sys: Implement URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL.
configure: Install wineusb.inf.
msi: Report the real NT version number up to 6.3.
winecfg: Set the Current{Major, Minor}VersionNumber registry values.
wine.inf: Set the default Current{Major, Minor}VersionNumber registry values.
strmbase: Make the pin_get_media_type() callback optional.
strmbase: Make the pin_query_accept() callback optional.
qcap/tests: Remove some no longer necessary callbacks.
qcap: Add a stub file writer filter.
qcap/filewriter: Add a stub sink pin.
configure: Check for a recent enough version of libusb.
qcap/filewriter: Add a stub IFileSinkFilter interface.
qcap/filewriter: Implement IFileSinkFilter::SetFileName().
qcap/filewriter: Implement file_writer_sink_query_accept().
qcap/tests: Add tests for file writer pin connection.
include: Define RTL_BALANCED_NODE.
include: Add more fields to LDR_MODULE.
qedit/tests: Add some tests for IMediaDet::put_Filter().
include: Rename LDR_MODULE to LDR_DATA_TABLE_ENTRY.
include: Rename InMemoryOrderModuleList to InMemoryOrderLinks.
include: Rename BaseAddress to DllBase.
include: Rename the other In*OrderModuleList fields to In*OrderLinks for consistency.
qcap/filewriter: Implement state change methods.
qcap/filewriter: Implement sample processing.
qcap/filewriter: Implement IAMFilterMiscFlags.
qcap/filewriter: Post EC_COMPLETE on receiving EOS.
qcap: Register the file writer.
wineusb.sys: Correctly implement device removal.
Zhiyi Zhang (8):
setupapi: Fix a registry key handle leak.
winex11.drv: Ignore disconnected outputs when finding mirroring slaves.
winex11.drv: Fix incorrect frequency for double scan and interlaced modes.
wined3d: Correct a comment in wined3d_check_device_type().
wined3d: Fix uninitialised variable warnings.
ddraw: Handle more cases in hr_ddraw_from_wined3d().
winex11.drv: Allocate LUID for GPUs.
winemac.drv: Allocate LUID for GPUs.
Ziqing Hui (18):
comctl32/tests: Check alpha channel in ImageList_DrawIndirect tests.
comctl32/tests: Add more tests for ILD_PRESERVEALPHA.
comctl32/imagelist: Add support for ILD_PRESERVEALPHA.
windowscodecs/tests: Add tests for DDS format.
windowscodecs: Implement stub for DdsDecoder.
windowscodecs/tests: Add tests for DdsDecoder_Initialize().
windowscodecs: Implement DdsDecoder_Initialize().
comctl32/tests: Remove duplicate ImageList_DrawIndirect() tests.
comctl32/tests: Fix ImageList_DrawIndirect() test failures on winxp.
windowscodecs/tests: Add tests for global properties of DdsDecoder.
windowscodecs: Implement global property functions for DdsDecoder.
windowscodecs/tests: Avoid using SUCCEEDED() and FAILED() in ddsformat.c.
windowscodecs: Implement DdsDecoder_GetDecoderInfo().
windowscodecs: Add TRACE in DdsDecoder_GetContainerFormat().
windowscodecs/tests: Add more DDS test images.
windowscodecs/tests: Add tests for DdsDecoder_GetFrameCount().
windowscodecs: Add support for extended DDS header.
windowscodecs: Implement DdsDecoder_GetFrameCount().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.4 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.4.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.4 (total 65):
11998 NEXON client installers using embedded IE browser control: buttons don't respond to click (Lunia Senki, Combat Arms, War Rock)
12406 Microsoft Document Explorer 2008 crashes when using MS Help 2 URL from command line (ieframe's WebBrowser COM object doesn't support aggregation)
16808 Password Safe crashes with page fault when renaming entries
20465 Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
22030 LegoLand: crashes at main menu without native directmusic
24529 TSDoctor 1.0.58 fails to run
25264 treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file)
25728 UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
30506 GdipGraphicsClear() needs to overwrite pixels, not alpha blend (Text misrendered in Brain Workshop)
34041 Skyrim (Steam) hangup on quit
34666 In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
36388 Problems with Russian localization in page setup dialog
38300 using winegcc with stdin passes arguments in the wrong position to gcc
38817 FXCM Trading Station II installer reports 'OLE error 80004001' when running as 'Windows Vista' or higher ('ITaskbarList3::ThumbBarSetImageList' is a stub)
39692 64-bit dlls/msdaps/row_server_p.c generates build warnings (discarded "const" qualifier)
40364 Broken geometry in Indiana Jones and the Emperor's Tomb
40740 Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
40777 The Moment of Silence launcher unusable (displays only black)
41639 Wine with freetype 2.7 causes font rendering issues
41936 The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
42046 VSDC Video Editor. Crashes in ole32 when opening.
43368 HashMyFiles: Drag & Drop from native File Managers (Dolphin, Nautilus, ...) does not work
43817 Multiple .NET applications (Chime, DxO Photolab 2 trial) crash, need RegisterApplicationRecoveryCallback to return S_OK
44408 Tetris for Windows has wrong colors for the game pieces and the score box
45031 HotS - taking screenshot causes client crash, needs d3dx11_42.dll.D3DX11SaveTextureToFileW
45732 Far Cry 5 Cannot Steer Land Vehicles
46279 Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
46404 Shed installer - text overflow in browse-for-folder dialog
46417 Abiword 2.6.8 comboboxes should have a white background color
46421 μTorrent has squares in its update dialog
46560 Smoke not rendering properly in Castlevania: Lords of Shadow 2
46578 IVMU Social Network Client (500 series) crashes when selecting menu / settings
46972 Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
46981 winetricks -q --verify dotnet461 crashes under win64
46983 type command in cmd.exe with two files and stdout redirect, behavior is different
47049 boolean type defined as 'unsigned char' rather than 'char'
47075 32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
47101 Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
47427 Glide wrapper - Configuration buttons misbehaving
47433 Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
47459 ListBox LB_SETSEL doesn't scroll to newly selected item
47615 _putws outputs NULs, other wchar.h functions don't
47693 ExHIBIT (Sample Project): Can't select menu item in the title screen
47709 Zoom Edit&Share 5.0.0.0: installer crashes starting with wine-3.19
47752 commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
47779 iCloud refuses to install: "Your computer is missing Media features."
47790 putty.exe displays an error at startup when placed in a path with accented characters.
47820 Magic: The Gathering Arena installer needs powershell.exe (cannot find it)
47832 FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer
47833 FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
47880 Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
47918 Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
47935 Nextiva: Logging in fails with "Client is unable to connect to the server."
47956 IGMP source specific multicast does not create join requests for source
47979 NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
47986 R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
47991 motec i2 pro v1.0 data logger fails to start
48016 Multiple applications need shcore.dll.GetScaleFactorForMonitor stub (Karafun player, Sync)
48077 UPlay fails to start : "Error at hooking API NtProtectVirtualMemory" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
48082 Visual C++ Express 2005 needs shell32.PathResolveW implementation (or fake success)
48088 Wrong color mapping with client-side graphics on 256-color X server
48242 IXMLDOMDocument_load() paths aren't URL-unescaped (Microsoft Document Explorer 2008 startup error)
48314 Building wine on CentOS7 fails due to lack of libkrb5
48358 Dell Latitude E6440 BIOS updater crashes on unimplemented function ntoskrnl.exe.KeSetImportanceDpc
48549 Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
----------------------------------------------------------------
Changes since 4.0.3:
Akihiro Sagawa (5):
comctl32/tests: Add tests to show no NM_RELEASEDCAPTURE notifications in the updown control.
comctl32/updown: Suppress the NM_RELEASEDCAPTURE notification.
msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
msvcrt: Fix _mbsspn implementation.
msvcrt: Reimplement _mbsspnp using _mbsspn.
Alex Henrie (2):
ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
ntoskrnl: Add KeSetImportanceDpc stub.
Alexandre Julliard (7):
ntdll: Always add path separator when looking for a relative path name.
winex11: Use the default color table for window surfaces on 8bpp displays.
configure: Disable gssapi also when linking with kerberos doesn't work.
msi: Use %define api.pure instead of %pure-parser.
msxml3: Use %define api.pure instead of %pure-parser.
vbscript: Use %define api.pure instead of %pure-parser.
wbemprox: Use %define api.pure instead of %pure-parser.
Alistair Leslie-Hughes (6):
dsound: Primary buffer doesn't support flag DSBCAPS_CTRLFX.
kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
dmloader: Stop after find first matching object.
dmstyle: Add GUID_IDirectMusicStyle support in Style Track GetParam.
dmime: IDirectMusicSegment8 SetLoopPoints support zero start/end.
dinput: Cap the buffer size to 20.
Andrew Eikum (1):
winex11.drv: Throttle calls to XResetScreenSaver.
Andrew Sheldon (1):
wined3d: Add Navi 10 PCI id and device description.
Bernhard belacker (1):
cmd.exe: Command type with multiple files should print filenames to stderr.
Byeong-Sik Jeon (2):
gdi32: Add a helper macro for FreeType version check.
gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.
Charles Davis (2):
ntdll: Implement RtlCaptureStackBackTrace() for x86_64.
winemac.drv: Pass the CAMetalLayer to MoltenVK.
Damjan Jovanovic (12):
comctl32: Test the treeview edit control EM_LIMITTEXT.
comctl32: Implement treeview edit control EM_SETLIMITTEXT.
comctl32: Test treeview text trimming after label editing is complete.
comctl32: Test text buffer passed to TVN_ENDLABELEDIT is always MAX_PATH chars long.
comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.
comctl32: Test overwriting of pszText pointer in TVN_ENDLABELEDIT.
comctl32: Implement treeview edit control text trimming and overwriting.
comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply.
ieframe: Implement COM aggregation in WebBrowser.
msxml3: All string passed to IXMLDOMDocument_load() need to be URL-unescaped.
gdiplus: GdipGraphicsClear() should overwrite pixels, not alpha blend.
winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.
Dmitry Timoshkov (2):
gdiplus/tests: Add some tests for GdipInitializePalette.
mshtml: Add support for DIID_HTMLDocumentEvents2 connection point sink.
Ethan Lee (1):
wined3d: Add Intel HD 615 PCI id and device description.
Fabian Maurer (7):
comctl32/syslink: Properly handle '\r'.
shell32: Prevent text truncation inside the old "browse folder" dialog.
ws2_32: Handle more IGMP socket options.
comctl32/tests: Add combo tests for WM_CTLCOLOR*.
comctl32/combo: Properly handle WM_CTLCOLOR* messages.
user32/tests: Add combo tests for WM_CTLCOLOR*.
user32/combo: Properly handle WM_CTLCOLOR* messages.
Felix Hädicke (1):
msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
Gijs Vermeulen (2):
msvcrt: Add Concurrency::details::_Context::_Yield stub.
shell32: Implement PathResolve.
Isira Seneviratne (1):
jscript: Replace '%pure-parser' with '%define api.pure'.
Jacek Caban (2):
kernel32: Terminate process in unhandled exception handler.
include: Add roerrorapi.h header.
Jeff Smith (3):
kernelbase: Fix PathAllocCanonicalize handling segments that contain dots.
kernel32: Quote first command line arg in process paramenters.
user.exe16: Releasing DC does not disable it.
Joseph Kogut (1):
iphlpapi: Report success in NotifyIpInterfaceChange.
Ken Thomases (1):
winemac: Only manipulate an NSOpenGLContext's view on the main thread.
Kevin Puetz (1):
winegcc: Correctly pass the '-' file name (stdin) to the compiler.
Liam Middlebrook (1):
d3dx11: Add D3DX11SaveTextureToFileA/W() stub.
Louis Lenders (5):
wine.inf: Add value for DigitalProductId.
kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
wine.inf: Install powershell.exe in WindowsPowerShell/v1.0/.
include: Add restrictederrorinfo.idl.
combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.
Matteo Bruni (1):
d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
Michael Müller (3):
wine.inf: Create the WindowsMediaVersion key and set its default value.
ole32: Fix property name handling for dictionary entries in CP_UNICODE case.
setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.
Myah Caron (1):
kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.
Nikolay Sivov (4):
po: Fix Russian strings for page setup dialog.
comctl32/rebar: Fix invalid band index access.
explorerframe: Return success from ThumbBarSetImageList().
user32/listbox: Update caret index on LB_SETSEL.
Patrick Hibbs (1):
wtsapi32: Make WTSRegisterSessionNotificationEx's return consistent with WTSRegisterSessionNotification.
Paul Gofman (7):
wined3d: Allow loading buffers mapped through system memory.
ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
ntdll: Add DECLSPEC_HOTPATCH to NtProtectVirtualMemory().
d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.
Piotr Caban (4):
wbemdisp: Handle NULL signatures in init_members.
msvcrt: Fix _putws implementation.
msi: Fix component Action for shared components in CostFinalize.
ntdll: Work around futimens weak linking problem in set_file_times.
Richard Pospesel (1):
widl: Use FC_CHAR rather than FC_BYTE for boolean typedef to match midl.exe output.
Rémi Bernon (3):
widl: Cast freed pointers to void* to fix discarded-array-qualifiers warning.
dinput: Increase device buffer size to 1024.
opencl: Define CL_TARGET_OPENCL_VERSION 220 to fix a header warning.
Vijay Kiran Kamuju (1):
shcore: Add stub for GetScaleFactorForMonitor.
Vincent Povirk (1):
regsvr32: Re-exec as 32-bit or 64-bit if necessary.
Zebediah Figura (2):
winex11: Track the client colormap separately.
qedit/mediadet: Check for failure from IEnumPins::Next().
Zhiyi Zhang (1):
kernelbase/tests: Add more PathAllocCanonicalize tests.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.6 is now available.
What's new in this release (see below for details):
- Still more Media Foundation work.
- Improvements to Active Directory LDAP support.
- A few more modules converted to PE.
- Improvements to gdb proxy mode.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.6.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.6 (total 38):
19420 Passmark 7.0 2d benchmark tests fails without native gdiplus
21466 Multiple applications need NtQueryVolumeInformationFile 'FileFsVolumeInformation' class support (AVG Free 8.x/9.x Antivirus Edition, MSYS2)
24784 Explorer++ displays disabled toolbar icons incorrectly
27324 Cossacks II (DotEmu version) refuses to start from its install directory (path too long?)
30810 Keygener Assistant 2.x: main window has incorrect size and contents are all black
31207 Monogram GraphStudio v0.3.x crashes when using Graph->Insert Filter
33290 Fullscreen games cause panning configurations to be generated on some NVidia proprietary drivers
34014 Star Wars KOTOR II: The Sith Lords: Movies/cutscenes do not play with opengl on
37029 Evernote 5.5.x - unable to capture webcam note
37043 Keyboard input broken in Roblox Player
37051 Roblox Studio embedded webpage does not load consistently or properly using built-in winhttp
38856 LEGO Lord of the Rings crashes randomly
41610 ChurchBoard: Trying to create a window(about 3 minutes). And the error takes off.
41740 Diablo 3's mouse sprite stops moving, but the mouse is still working.
42072 Dead Space (Steam) crashes on save with "divide by zero" error
42479 MYOB Accounting v18.5.x crashes on startup
43704 Contacam crashes
47083 MySQL 8.0.x community installer (.NET 4.5.x app) fails to configure mysql, needs support for WS_AF_INET6 in 'iphlpapi.GetExtendedTcpTable'
47109 WineVulkan ICD isn't registered in wineprefixes
47362 Media Feature Pack for W10N requires rtworkq.dll
47794 Rockstar Games Launcher installer button images do not display
47825 Webex Meetings crashes
48611 Cairo Shell v0.3.x (.NET 4.7 app) crashes due to missing 'HKCU\\Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon\\Shell' registry sub-key
48623 Error authenticating to LDAP controller
48729 Binary Domain has misplaced text in configuration tool with builtin d3dx9_43
48766 Late Shift doesn't work properly
48778 Star Wars: The Old Republic crashes shortly after intro screen
48788 null pointer in wined3d_palette_set_entries with Diablo GOG
48798 RegCloseKey: Uninitialized read from get_language_sort
48806 Panzer Corps 2 needs msvcp140.dll.?_XLgamma@std@@YANN@Z
48816 The explorer doesn't support '/cd' option
48832 Magic The Gathering Online: client does not start due to long file names since 2020-03-25 update
48838 Wine fails to build wldap32 if LDAP is not installed
48844 Magical Scramble Demo 1.20P shows white boxes instead of pictures.
48846 msvcr90/tests/msvcr90.c: error: variadic functions must use the base AAPCS variant
48888 error: redefinition of typedef ‘_onexit_t’ [/dlls/d3dcompiler_33]
48897 Building fails with '/usr/bin/ld: cannot find -ldl'
48902 Warframe launcher fails to replace updated Launcher.exe the first time (works when Retry option pressed, as Launcher.exe deleted first time)
----------------------------------------------------------------
Changes since 5.5:
Akihiro Sagawa (2):
ddraw/tests: Add more managed texture tests.
ddraw: Allow to create managed textures with DDSCAPS_TEXTURE|DDSCAPS_3DDEVICE caps.
Alexandre Julliard (84):
ntdll: Avoid using toupperW().
ntdll: Avoid using tolowerW().
ntdll: Avoid using memrchrW().
ntdll: Avoid using memchrW().
ntdll: Avoid using atoiW().
ntdll: Avoid using sprintfW().
ntdll: Use wcscpy() instead of strcpyW().
ntdll: Use wcscat() instead of strcatW().
ntdll: Use wcschr() instead of strchrW().
ntdll: Use wcspbrk() instead of strpbrkW().
ntdll: Use wcsrchr() instead of strrchrW().
ntdll: Use wcstoul() instead of strtoulW().
ntdll: Use wcslen() instead of strlenW().
ntdll: Use wcscspn() instead of strcspnW().
ntdll: Use wcsspn() instead of strspnW().
ntdll: Use wcscmp() instead of strcmpW().
ntdll: Use wcsncmp() instead of strncmpW().
kernel32: Reimplement Get/WritePrivateProfileStructW functions using exported APIs.
kernel32: Avoid using tolowerW/toupperW().
kernel32: Avoid using memrchrW().
kernel32: Avoid using memchrW().
kernel32: Avoid using wctype functions.
krnl386: Avoid using toupperW().
ntdll: Move support for getting LDT entries to the platform-specific files.
ntdll: Implement NtSetLdtEntries().
ntdll: Reimplement LDT support for the TEB selector.
ntdll: Avoid using the LDT definitions from libwine.
krnl386: Reimplement LDT support using NtSetLdtEntries().
krnl386: Avoid using the LDT definitions from libwine.
ntdll: Export the LDT copy from ntdll instead of libwine.
krnl386: Avoid using the selector functions from libwine.
winebuild: Support building krnl386.exe in PE format.
krnl386: Build with msvcrt.
makefiles: Always build 16-bit modules with msvcrt.
makefiles: Always explicitly specify the C runtime import.
makefiles: Don't add default libs for msvcrt builds.
wineandroid: Avoid using wine_get/set_fs().
winex11: Avoid using wine_get/set_fs().
libwine: Avoid using wine_get/set_fs().
ntdll: Avoid using the selector functions from libwine.
libwine: Make the LDT functions obsolete.
configure: Add -ldl to default libs if necessary.
bcrypt: Use standard dlopen() instead of the libwine wrappers.
capi2032: Use standard dlopen() instead of the libwine wrappers.
crypt32: Use standard dlopen() instead of the libwine wrappers.
ctapi32: Use standard dlopen() instead of the libwine wrappers.
dwrite: Use standard dlopen() instead of the libwine wrappers.
dxgi: Use standard dlopen() instead of the libwine wrappers.
gdi32: Use standard dlopen() instead of the libwine wrappers.
glu32: Use standard dlopen() instead of the libwine wrappers.
gphoto2.ds: Use standard dlopen() instead of the libwine wrappers.
kerberos: Use standard dlopen() instead of the libwine wrappers.
kernel32: Use standard dlopen() instead of the libwine wrappers.
mountmgr.sys: Use standard dlopen() instead of the libwine wrappers.
msgsm32.acm: Use standard dlopen() instead of the libwine wrappers.
msxml3: Use standard dlopen() instead of the libwine wrappers.
dbghelp: Make qsort callback explicitly cdecl.
dbghelp: Use stricmp() instead of _strnicmp(..., -1).
krnl386: Use stricmp() instead of _strnicmp(..., -1).
netapi32: Use standard dlopen() instead of the libwine wrappers.
ntdll: Use standard dlopen() instead of the libwine wrappers.
odbc32: Use standard dlopen() instead of the libwine wrappers.
qcap: Use standard dlopen() instead of the libwine wrappers.
sane.ds: Use standard dlopen() instead of the libwine wrappers.
secur32: Use standard dlopen() instead of the libwine wrappers.
user32: Use standard dlopen() instead of the libwine wrappers.
windowscodecs: Use standard dlopen() instead of the libwine wrappers.
wineandroid: Use standard dlopen() instead of the libwine wrappers.
winebus.sys: Use standard dlopen() instead of the libwine wrappers.
winemac: Use standard dlopen() instead of the libwine wrappers.
winex11: Use standard dlopen() instead of the libwine wrappers.
winspool: Use standard dlopen() instead of the libwine wrappers.
wineconsole: Use standard dlopen() instead of the libwine wrappers.
libwine: Make the dlopen() wrapper functions obsolete.
makefiles: Don't use standard libs for programs that specify -nodefaultlibs.
winecrt0: Rebuild the argv array instead of getting it from libwine.
msvcrt: Rebuild the argv array instead of getting it from libwine.
winecfg: Avoid depending on the PACKAGE_* macros.
winepath: Remove the --version option.
winepath: Build with msvcrt.
winver: Build with msvcrt.
libwine: Remove some no longer needed helper functions.
libwine: Remove __wine_main_arg* from the public header.
winedump: Get rid of a useless destructor.
Alistair Leslie-Hughes (2):
winmm: Use CreateFileA instead of OpenFile.
secur32: Fix compile for older gnutls libraries.
Andrew Eikum (3):
kernel32/tests: Actually run OpenFile tests.
winmm/tests: Test mmioOpen with long file name.
audioclient.idl: Correct IAudioClockAdjustment IID.
Andrew Guertin (1):
d3d11: Stop warning about depth stencil view flags.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
winevulkan: Create JSON manifest and registry entry used by official Vulkan loader.
winevulkan: Enable VK_KHR_get_surface_capabilities2.
Charles Davis (46):
ddraw/tests: Introduce compare_uint().
d3d8/tests: Introduce compare_uint().
d3d8/tests: Avoid abs() on unsigned values in compare_mode().
ddraw: Introduce a helper to convert ddraw render states to wined3d states.
ddraw: Introduce a helper to convert ddraw transform states to wined3d states.
ddraw: Introduce a helper to convert ddraw primitive types to wined3d types.
ddraw: Introduce a helper to convert ddraw stateblock types to wined3d types.
d3d8: Introduce helpers to convert between d3d8 and wined3d multisample types.
d3d8: Introduce a helper to convert d3d8 device types to wined3d types.
d3d8: Introduce a helper to convert d3d8 transform states to wined3d states.
d3d8: Introduce a helper to convert d3d8 render states to wined3d states.
d3d8: Introduce a helper to convert d3d8 primitive types to wined3d types.
d3d9: Introduce helpers to convert between d3d9 and wined3d multisample types.
winegcc: Put quotes around arguments with spaces when printing them.
dbghelp: Ignore N_INDR symbols.
iphlpapi: Use res_getservers() if available to get the DNS server list.
iphlpapi: Implement GetTcp6Table() for Mac OS and FreeBSD.
iphlpapi: Implement GetUdp6Table() for Mac OS and FreeBSD.
d3d9/tests: Use compare_uint() in a couple more places.
d3d10core/tests: Use compare_uint() in a few more places.
d3d11/tests: Use compare_uint() in a few more places.
d3d11: Introduce a function to convert D3D10 map types to wined3d map flags.
d3d11: Introduce a function to convert D3D10 DSV dimensions to D3D11.
d3d11: Introduce a function to convert a wined3d feature level to a D3D feature level.
d3d11: Introduce a function to convert a D3D11 input class to wined3d.
d3d11: Introduce a function to convert D3D11 blend factors to wined3d.
d3d11: Introduce a function to convert D3D11 blend ops to wined3d.
d3d11: Introduce a function to convert D3D11 fill modes to wined3d.
d3d11: Introduce a function to convert D3D11 cull modes to wined3d.
d3d8: Explicitly cast FourCC formats in d3dformat_from_wined3dformat() and wined3dformat_from_d3dformat().
d3d9: Explicitly cast FourCC formats in d3dformat_from_wined3dformat() and wined3dformat_from_d3dformat().
opencl: Build with CL_SILENCE_DEPRECATION.
winemac.drv: Build with GL_SILENCE_DEPRECATION.
d3d11: Introduce a function to convert a D3D feature level to a D3D10.1 feature level.
d2d1: Return enum constants directly in d2d_bitmap_brush_GetInterpolationMode() (Clang).
d2d1: Introduce a function to convert D2D1.0 interpolation modes to D2D1.1.
libwine: Add missing return (Clang).
winemac.drv: Build with GL_SILENCE_DEPRECATION.
d3d11: Introduce a function to convert D3D11 blend factors to D3D10.
d3d11: Introduce a function to convert D3D11 blend ops to D3D10.
wined3d: Introduce compare_uint().
d3d9: Remove an unneeded conversion.
configure: Make Clang fail optimization arguments it doesn't care about.
widl: Cast server functions to void *.
d3d10_1: Introduce a function to convert d3d10_1 feature levels to D3D_FEATURE_LEVEL.
wined3d: Use GL_APPLE_flush_render and GL_APPLE_rgb_422 to detect Apple OpenGL.
Daniel Lehman (3):
loader: Add Chatham Islands Standard Time Zone.
loader: Add Bougainville Standard Time Zone.
loader: Add Marquesas Standard Time Zone.
Derek Lesho (2):
mfreadwrite: Fix flushing on MF_SOURCE_READER_ALL_STREAMS.
include: Add codecapi.h.
Dmitry Timoshkov (50):
wldap32: Fix compilation without LDAP installed.
adsldp: Recognize and skip not supported schema tokens.
adsldp: Require attribute definition to be properly terminated.
adsldp: Add support for NAME token with multiple entries.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.38 to ADSTYPE_CASE_IGNORE_STRING.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.15 to ADSTYPE_CASE_IGNORE_STRING.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.
adsldp: Implement IDirectorySearch::FreeColumn().
adsldp: Fix IDirectorySearch::GetColumn() behaviour for not found case.
adsldp/tests: Handle more cases of ERROR_DS_SERVER_DOWN.
adsldp: Blacklist serverless and rootDSE connections in QueryInterface(&IID_IDirectorySearch).
adsldp: Store original LDAP values pointer in hReserved.
adsldp: Initialize also pADsValues->dwType field.
adsldp: Ignore attribute definitions without NAME.
adsldp: Sort the attribute types array.
activeds: Add IADsPathname stubs.
activeds: Make IADsPathname::Set() and IADsPathname::Retrieve() return success.
adsldp: Add IDirectoryObject stubs.
adsldp: Forward IDirectoryObject::QueryInterface() to parent.
adsldp: Add support for IDirectorySearch::SetSearchPreference(ADS_SEARCHPREF_SECURITY_MASK).
adsldp: Map 1.2.840.113556.1.4.907 to ADSTYPE_NT_SECURITY_DESCRIPTOR.
wldap32/tests: Test setting a not supported server control.
wldap32: Actually use private LDAP structure for internal storage.
wldap32: Locally cache "supportedControl" rootDSE attribute, and check it in ldap_set_option(LDAP_OPT_SERVER_CONTROLS).
adsldp: Fix a typo in IDirectorySearch::GetNextRow().
wldap32: Fix server controls lookup logic.
adsldp: Always fully initialize returned column values.
adsldp: Recognize ADS_SEARCHPREF_PAGESIZE in IDirectorySearch::SetSearchPreference().
adsldp: Recognize ADS_SEARCHPREF_CACHE_RESULTS in IDirectorySearch::SetSearchPreference().
adsldp/tests: Remove no longer needed goto.
include: Add dsclient.h.
dsuiext: Add IDsDisplaySpecifier stubs.
adsldp: Map "1.3.6.1.4.1.1466.115.121.1.24" to ADSTYPE_UTC_TIME.
adsldp: Map "1.2.840.113556.1.4.906" to ADSTYPE_LARGE_INTEGER.
adsldp: Map 1.2.840.113556.1.4.903 to ADSTYPE_DN_WITH_BINARY.
adsldp: Add support for ADS_SEARCHPREF_ATTRIBTYPES_ONLY to IDirectorySearch::SetSearchPreference().
adsldp: Recognize ADS_SEARCHPREF_TOMBSTONE in IDirectorySearch::SetSearchPreference().
include/winnt.h: Update ACE types list.
advapi32: Properly skip not supported parts of the object ACE.
adsldp: Use correct format specifiers for SYSTEMTIME fields.
adsldp: Fix typos in ADSTYPE_BOOLEAN handling.
activeds/tests: Add some IADsPathname tests.
activeds: Implement IADsPathname::Set(ADS_SETTYPE_FULL).
activeds: Implement remaining cases for IADsPathname::Set().
activeds: Implement IADsPathname::Retrieve(ADS_FORMAT_X500).
activeds: Implement some simple cases for IADsPathname::Retrieve().
activeds: Implement IADsPathname::Retrieve(ADS_FORMAT_LEAF).
activeds: Implement IADsPathname::GetElement().
activeds: Implement IADsPathname::GetNumElements().
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.26 to ADSTYPE_CASE_EXACT_STRING.
François Gouget (2):
wpp: Standardize the error and warning messages.
gameux/tests: Remove unneeded parentheses around a gamestatistics string.
Gabriel Ivăncescu (6):
vbscript: Look for the identifier in the named item's disp only if it doesn't have the CODEONLY flag.
vbscript/tests: Add more persistent named items tests.
vbscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
msscript.ocx: Fix the idl output parameters.
quartz: Cache IMediaSeeking for filters.
quartz/tests: Add tests for when IMediaSeeking on a filter is released by the filter graph.
Gerald Pfeifer (1):
dbghelp: Define NT_GNU_BUILD_ID regardless of whether __ELF__ is defined.
Gijs Vermeulen (4):
riched20: Turn FIXME into a TRACE for ITextRange::SetRange.
iphlpapi: Silence unused function warning for sockaddr_in6_to_WS_storage.
iphlpapi: Fix unused function warning for get_ipv6_addr_scope_table & find_ipv6_addr_scope.
iphlpapi: Fix unused variable warning.
Hans Leidekker (4):
secur32: Map GNUTLS_E_REHANDSHAKE to SEC_I_RENEGOTIATE.
winhttp: Explicitly pass errors.
winhttp: Handle renegotiate requests.
secur32: Add TLS application protocol negotiation support.
Hans-Kristian Arntzen (1):
dxgi: Implement dxgi_factory_CheckFeatureSupport().
Henri Verbeet (15):
d3d9/tests: Introduce compare_uint().
d3d10core/tests: Introduce compare_uint().
d3d11/tests: Introduce compare_uint().
d3d12/tests: Introduce compare_uint().
d2d1/tests: Introduce compare_uint().
d3drm/tests: Introduce compare_uint().
d3dx9/tests: Introduce compare_uint().
d3d9: Introduce helpers to convert between d3d9 and wined3d scanline ordering types.
d3d9: Introduce a helper to convert d3d9 device types to wined3d types.
d3d9: Introduce a helper to convert d3d9 texture filter types to wined3d types.
d3d9: Introduce a helper to convert d3d9 transform states to wined3d states.
d3d9: Introduce a helper to convert d3d9 render states to wined3d states.
d3d9: Introduce a helper to convert d3d9 sampler states to wined3d states.
d3d9: Introduce a helper to convert d3d9 primitive types to wined3d types.
d3d9: Introduce helpers to convert between d3d9 and wined3d query types.
Jacek Caban (49):
dbghelp: Pass module to map_dwarf_register.
dbghelp: Use DWARF registry mapping quirk only for actual macho modules.
dbghelp: Provide N_PEXT and N_SECT defines when not available.
dbghelp: Clear N_PEXT flag of stab type in macho files.
dbghelp: Use local stab_nlist declaration in macho_module.c.
dbghelp: Use local declaration for 64-bit macho nlist.
dbghelp: Pass stab size to stabs_parse.
dbghelp: Fix misleading indentation warning.
dbghelp: Use local NOTE_GNU_BUILD_ID declaration.
dbghelp: Don't use *_NULL constants.
dbghelp: Use local AT_SYSINFO_EHDR definition.
dbghelp: Use local declarations of r_debug and link_map structs.
dbghelp: Use local elf_header declaration.
dbghelp: Use local elf_section_header declaration.
dbghelp: Use local ELF program segment header declaration.
dbghelp: Use local dynamic section entry declaration.
dbghelp: Use local symbol table entry declaration.
dbghelp: Inline ELF magic constants.
dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros.
dbghelp: Use local ELF constants definitions.
dbghelp: Don't use system headers for ELF declarations.
dbghelp: Don't store entire mach header in image_file_map.
dbghelp: Use local macho load command declaration.
dbghelp: Use local macho section declaration.
dbghelp: Use local fat header declaration.
dbghelp: Use local symtab and segment commands declarations.
dbghelp.c: Use local mach header declaration.
dbghelp: Don't use stdint.h types.
dbghelp: Use local constants definitions instead of mach-o/loader.h.
dbghelp: Don't use _NSGetExecutablePath in macho_search_loader.
dbghelp: Get rid of get_dyld_image_info_address.
dbghelp: Don't bother trying to initialize loader backend if we can't get debug base address from PEB.
mountmgr: Add mac-specific ioctl to lookup symbol files.
dbghelp: Factor out query_dsym.
dbghelp: Use mount manager to lookup dsym by uuid.
dbghelp: Introduce read_process_memory helper.
dbghelp: Fix GCC warnings in macho_module.c.
dbghelp: Always build all loader backends.
dbghelp: Import zlib inflate code.
dbghelp: Remove unneeded includes.
dbghelp: Don't use PATH to search for libraries.
dbghelp: Build with ucrtbase.
makefiles: Remove no longer needed explicit ucrtbase imports.
include: Avoid _onexit_t redefinition.
dbghelp: Get rid of no longer needed HAVE_ZLIB checks.
dbghelp: Get rid of no longer needed #ifdefs.
configure: Get rid of no longer needed zlib checks.
dbghelp: Use debuggee environment variables in search_dll_path.
api-ms-win-core-localization: Update spec files.
Jactry Zeng (4):
qasf: Implement WM ASF reader stub.
qasf: Implement IFileSourceFilter stub for WM ASF reader.
qasf: Implement IFileSourceFilter_Load() for WM ASF reader.
qasf: Implement IFileSourceFilter_GetCurFile() for WM ASF reader.
Jeff Smith (5):
gdiplus/tests: Add widen-path test for UnitWorld zero-width line.
gdiplus: Pass line-width parameter to widen-figure functions.
gdiplus: Do not shrink UnitWorld lines below width 1.0.
gdiplus: Widen-path for zero-width lines only emits anchors.
gdiplus: Handle some degenerate cases with GdipCreatePath2.
Lauri Kenttä (1):
po: Update Finnish translation.
Mathew Hodson (1):
user32/tests: Don't report cursor handle since it always changes.
Matteo Bruni (6):
d3dx9: Switch character count to unsigned int in the DrawText implementation.
wined3d: Get rid of a WARN in wined3d_query_get_data().
wined3d: Add a TRACE to wined3d_buffer_gl_download_ranges().
wined3d: Add a TRACE to wined3d_buffer_gl_upload_ranges().
wined3d: Add a TRACE to wined3d_buffer_copy().
wined3d: Add a few traces to draw_primitive().
Myah Caron (1):
ucrtbase: Export _o___stdio_common_v[fs]wprintf functions.
Nikolay Sivov (39):
mfplat: Forward MFScheduleWorkItemEx() to rtworkq.dll.
mfplat: Fix PRESENTATION_CURRENT_POSITION handling for system time source.
mfplat/tests: Link to MFHeap* functions directly.
mf: Set cancellation object directly (Coverity).
mfplat: Add a warning for buffer method failure (Coverity).
mfreadwrite: Do not call async reader callback if source failed to start up.
mfreadwrite: Use single reader lock for all streams.
mfreadwrite: Implement MF_SOURCE_READER_ANY_STREAM for async mode.
mfreadwrite: Pack stream selection state as flags.
rtworkq: Add RtwqJoinWorkQueue()/RtwqUnjoinWorkQueue() stubs.
rtworkq: Add MMCSS-related stubs.
comctl32/button: Use duplicated image for drawing.
ntdll: Fix trace pointer returned from RtlGetUnloadEventTraceEx().
mfreadwrite: Add stream index validation for Flush().
mfreadwrite: Use default queue so submit flush commands.
mfreadwrite: Handle async reads when flush is in progress.
mfreadwrite: Move source shutdown mode to reader flags.
mfreadwrite: Block recurring flush calls in async mode when flush is pending.
mfreadwrite: Implement MF_SOURCE_READER_ANY_STREAM for synchronous case.
mfreadwrite: Add support for seeking in Source Reader.
mf: Add IMFMediaSink stub for SAR.
mf: Implement dynamic stream management methods in SAR.
mf: Add IMFMediaSinkPreroll stub for SAR.
mf: Return sink flags for SAR.
mf: Add event queue for SAR sink.
include: Add ISpatialAudioClient definition.
mf: Add support to get/set presentation clock for SAR.
mfplat: Add SAR attribute traces.
mf: Attempt to create mmdevapi device on SAR creation.
mf: Add stream sink stub for SAR.
mf: Add events support for SAR stream.
mf: Add type handler stub for SAR stream.
mfplat: Partially implement MFInitMediaTypeFromWaveFormatEx().
mfplat: Initial support for WAVE_FORMAT_EXTENSIBLE in MFInitMediaTypeFromWaveFormatEx().
mf: Add volume control stubs for SAR.
mf: Add IMFAudioPolicy stub for SAR.
mf/tests: Add some more tests for SAR current type.
mf: Always queue set topologies.
mf: Use original topology instance for both MESessionTopologySet and MESessionTopologyStatus.
Paul Gofman (1):
ddraw: Reserve extra space for video memory surfaces in compatibility mode.
Piotr Caban (7):
msvcr90/tests: Fix swscanf tests compilation on arm.
server: Initialize current_time before it's used in init_registry.
server: Use monotonic clock for relative timeouts.
server: Use monotonic clock for SetTimer timeouts.
server: Use monotonic clock in waitable timers.
server: Use correct clock in select.
kernel32/tests: Test timeout behaviour on system clock change.
Rémi Bernon (27):
winedbg: Force read data to be NUL terminated.
winedbg: Force packet data to be NUL terminated.
winedbg: Cleanup extract_packets for faster acking.
winedbg: Support QStartNoAckMode to reduce verbosity.
winedbg: Explicitly handle MustReplyEmpty packet.
winedbg: Cleanup return for kill and status packets.
winedbg: Remove outdated commented code.
winedbg: Simplify and fix register read/write handlers.
winedbg: Simplify individual thread single_step control.
winedbg: Use tid for other/exec thread operations.
winedbg: Store the current debug event in gdbctx.
winedbg: Rewrite and simplify step / continue handlers.
winedbg: Remove uses of dbg_curr_thread from gdbproxy.
winedbg: Support qXfer:libraries:read request.
winedbg: Support qXfer:threads:read request.
winedbg: Add gdb feature names to the register maps.
winedbg: Add gdb register names to the register maps.
winedbg: Add gdb register types to the register maps.
winedbg: Support qXfer:features:read request.
winedbg: Remove the use of gdb specific register length.
winedbg: Use target pointer size in indirect string access.
winedbg: Add support for hardware watchpoints.
winedbg: Clean handle_exception return values.
winedbg: Clean handle_debug_event return value.
winedbg: Recompute signal from debug event as needed.
winedbg: Don't wait or load the wine loader module.
winedbg: Use debug event code in packet_reply_status.
Serge Gautherie (2):
include: Remove remaining '&& !defined(CINTERFACE)' in guiddef.h.
ntdll/tests: Fix 'path' copypastas.
Sven Baars (3):
d3dx9: Add a helper for computing the bounding rectangle in ID3DXFont_DrawText.
d3dx9: Handle vertical alignment in ID3DXFont_DrawText.
d3dx9: Handle horizontal alignment in ID3DXFont_DrawText.
Zebediah Figura (70):
server: Check whether the new file name is executable.
quartz/avidec: Use the strmbase_passthrough object directly.
quartz/acmwrapper: Use the strmbase_passthrough object directly.
qasf/dmowrapper: Use the strmbase_passthrough object directly.
qedit/samplegrabber: Use the strmbase_passthrough object directly.
strmbase: Return void from strmbase_renderer_init().
kernel32/tests: Add more tests for deleting and replacing open files.
kernel32: Don't fail ReplaceFile() if unable to delete a generated backup.
qedit/samplegrabber: Use calloc() in sample_grabber_create().
qedit/samplegrabber: Get rid of the SG_Impl typedef.
qedit/nullrenderer: Use calloc() in null_renderer_create().
qedit/nullrenderer: Get rid of the NullRendererImpl typedef.
evr: Use calloc() in evr_filter_create().
evr: Get rid of the evr_filter typedef.
quartz/acmwrapper: Get rid of the ACMWrapperImpl typedef.
quartz/avidec: Get rid of the AVIDecImpl typedef.
quartz/avidec: Fix some copy-paste errors.
quartz/dsoundrender: Use calloc() in dsound_render_create().
quartz/dsoundrender: Get rid of the DSoundRenderImpl typedef.
d3dcompiler: Index instructions for liveness ranges.
d3dcompiler: Compute liveness ranges for variables.
d3dcompiler: Compute liveness ranges for anonymous nodes.
quartz/filesource: Get rid of the AsyncReader typedef.
quartz/videorenderer: Use calloc() in video_renderer_create().
quartz/videorenderer: Get rid of the VideoRendererImpl typedef.
quartz/vmr9: Use calloc().
quartz/vmr9: Get rid of the VMR9DefaultAllocatorPresenterImpl typedef.
ntdll: Synchronize ZwSetLdtEntries spec entry with NtSetLdtEntries.
quartz: Return void from basic_video_init().
quartz: Get rid of BaseControlVideo_Destroy().
quartz: Get rid of the BaseControlWindow typedef.
quartz: Get rid of the BaseWindowFuncTable typedef.
quartz: Merge the BaseWindow structure into video_window.
msvfw32: Fix a debug trace.
kernel32: Create the backup in the same directory.
rpcrt4: Handle FC_NON_ENCAPSULATED_UNION in calc_arg_size().
rpcrt4: Implement NdrClientCall3().
rpcrt4: Implement Ndr64AsyncClientCall().
rpcrt4: Bump the maximum accepted NDR version.
quartz: Return void from video_window_init().
quartz: Get rid of the "width" and "height" fields of video_window.
quartz/filesource: Remove unused callbacks.
strmbase: Check the peer direction in source_Connect().
winegstreamer: Check the format GUID, size, and pointer in amt_to_gst_caps().
mountmgr: Determine and store the filesystem type, label, and serial.
mountmgr: Return the filesystem type from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
mountmgr: Allow querying a Unix device by device ID.
ntdll: Implement NtQueryVolumeInformationFile(FileFsAttributeInformation).
mountmgr: Return the serial and label from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
ntdll: Implement NtQueryVolumeInformationFile(FileFsVolumeInformation).
qcap/tests: Use explicit source and sink structures.
qcap/tests: Add some basic tests for ICaptureGraphBuilder2::FindPin().
qcap/tests: Add more tests for ICaptureGraphBuilder2::RenderStream().
qcap: Use separate functions when searching from a pin and filter.
qcap: Use pin_matches() directly in find_unconnected_source_from_pin().
qcap: Iterate over all source pins in find_unconnected_source_from_filter().
qcap: Search downstream pins regardless of whether the category and major type match.
ntdll: Silence a warning for FileFsVolumeInformation.
kernelbase: Return the volume serial number in GetFileInformationByHandle().
ntdll: Fill the volume serial number in NtQueryInformationFile(FileIdInformation).
mountmgr: Assign a unique nonzero serial to all volumes.
kernel32: Reimplement is_same_file() using FileIdInformation.
kernel32: Implement GetVolumeInformationByHandleW().
user32: Rename the "hid_device" structure to "device".
user32: Rename hid_devices_* variables to rawinput_devices_*.
user32: Also scan for mouse devices in GetRawInputDeviceList().
maintainers: Add Paul Gofman to the Staging branch section.
maintainers: Add myself to some sections.
maintainers: Take maintainership of DirectShow.
maintainers: Take maintainership of the HTTP server libraries.
Zhipeng Zhao (1):
explorer: Support '/cd,' command line option.
Zhiyi Zhang (15):
winex11.drv: Get the minimum screen size from XRRGetScreenSizeRange().
d3d8/tests: Fix possible test failures.
d3d9/tests: Fix possible test failures.
d3d8/tests: Add cursor size tests.
d3d9/tests: Add cursor size tests.
wined3d: Check cursor sizes are powers of two.
wined3d: Move cursor size check against display mode out of wined3d_device_set_cursor_properties().
dxgi/tests: Fix uninitialized variable warnings.
d3d8/tests: Test cursor clipping.
d3d9/tests: Test cursor clipping.
dxgi/tests: Fix some test failures in test_find_closest_matching_mode().
dxgi/tests: Test cursor clipping.
ddraw/tests: Test cursor clipping.
wined3d: Do not clip the cursor after changing display modes.
dxgi/tests: Add a test for IDXGIFactory5 feature support queries.
Ziqing Hui (1):
comctl32/toolbar: Correctly draw disabled button which contains 32 bpp bitmap with alpha channel.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.5 is now available.
What's new in this release (see below for details):
- Builtin libraries use the new UCRTBase C runtime.
- Compatibility mode used when reporting Windows version.
- Better support for debug information in PE files.
- Support for linguistic case mappings.
- More attributes supported in WebServices.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.5 (total 32):
8439 Multiple Microsoft product installers fail due missing shell app path expansion (Visual Studio .NET 2002, 2003, Visual Foxpro 9.0)
23523 Call of Juarez DX10 Benchmark does not start
31890 Multiple applications need IAudioEndpointVolume::GetMasterVolumeLevelScalar method implementation (Cisco IP Communicator, Cairo Shell v0.3.x)
32114 LTSpice: Dialog resizing glitches, slow panning when zooming, minor traces
32222 LTspice: text fields issues
32723 Death to Spies: Moment of Truth (Steam/non-Steam) crashes on startup (intro video needs WMV3 decoder support in an AVI container)
35671 ERD Concepts 6 crashes with division by zero when editing relations
39428 Failing owner SID test in advapi32:security
39429 Failing ACE flag tests in advapi32:security
40854 Adobe Flash Player 22-25 installer crashes (wtsapi32.WTSQuerySessionInformation needs to support WTSUserName info class)
41208 Gridcoin Research Client crashes
41305 Might and Magic VI: Game hangs before intro video (making it unplayable) [regression]
41929 Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode
45967 Beat hazard 2 - bad network/float behavior
47056 Solid Edge v15: Program freeze on File->Open
48276 VSDC Video Editor needs VT_VECTOR|VT_I4 support in PropertyStorage_ReadProperty
48473 kernelbase WaitNamedPipeW contains non-null terminated string, causing garbage output in trace logs
48495 XCP-ng Center v8.x (.NET 4.6 app) can't connect to server with self-signed certificate
48593 Multiple games play only one frame of video (Fable: The Lost Chapters, Audiosurf, Dark Souls 2, Oddworld: Munch's Oddysee)
48642 kernel32:process contains a race condition in test_WaitForJobObject()
48683 iTunes v12.10.4.2 crashes on unimplemented function wmvcore.dll.WMIsContentProtected when adding folders to directory scan
48698 Multiple installers fail with "Unknown method" (Flash 29, Rexygen)
48700 Wolcen: Lords of Mayhem - there's a blob around the character's head.
48732 How to Survive crashes on start (fullscreen mode)
48734 How to Survive crashes when starting a new game
48739 ConEmu (Windows console emulator) v19.10.12 fails to set Wininet's INTERNET_OPTION_IGNORE_OFFLINE and shows error dialog at startup
48743 Multiple games have broken rendering (Sniper Elite V2, Sniper Elite 3, F1 2012)
48750 Few missing DirectSound3D Algorithms GUID Defs
48762 IExplore immediately crashes on www.msnbc.com with a failed assertion
48765 Firefox 74.0 crashes instantly: Call to unimplemented function WS2_32.dll.WSCGetProviderInfo, aborting
48801 Multiple games crash on unimplemented function d3dx11_43.dll.D3DX11GetImageInfoFromFile (Assetto Corsa 1.14.x, Project Cars)
48814 Microsoft Word 6.0 for Windows installer crashes after wine-4.8-247-g0d7d0427d0
----------------------------------------------------------------
Changes since 5.4:
Alex Henrie (2):
mmdevapi: Report 100% volume in GetMasterVolumeLevelScalar stub.
wine.inf: Add Winlogon keys.
Alexandre Julliard (46):
winedump: Add dumping of sortkey NLS files.
unicode: Add separate helper for removing linguistic case mappings.
unicode: Store data for CT_CTYPE3 types.
unicode: Generate a registry script for Nls keys.
unicode: Generate the NLS file for sortkeys.
ntdll: Support the sortkey file in NtGetNlsSectionPtr().
kernelbase: Load the sortkey file and use it for the case mapping table.
kernelbase: Use the ctype table from the sortkey file.
kernelbase: Use linguistic case table for LCMAP_LINGUISTIC_CASING.
unicode: Add compression flags to the sortkey table.
make_makefiles: Remove updating codepage list, this is done by make_unicode now.
kernelbase: Implement GetNLSVersion/GetNLSVersionEx().
kernelbase: Implement IsValidNLSVersion().
server: Use byte length in dump_strW() for consistency.
server: Store length of window text instead of null-terminating it.
server: Store length of console title instead of null-terminating it.
server: Store length of console history lines instead of null-terminating them.
comctl32: Forward string functions to kernelbase.
loader: Remove a check for antediluvian glibc.
kernelbase: Open registry keys before looking for sort table.
server: Add a helper function for splitting a path into individual elements.
server: Add a helper function for creating a Unicode string.
server: Add a helper function for case-insensitive Unicode string comparisons.
server: Add a helper function for hashing a Unicode string.
server: Don't use wine/unicode.h.
unicode: Store downloaded data files in the cache directory.
krnl386: Fix some calling convention mismatches.
krnl386: Get rid of DOS UMB support.
krnl386: Get rid of DOS EMS support.
krnl386: Get rid of DOS floppy disk support.
krnl386: Get rid of DOS Soundblaster support.
krnl386: Get rid of DOS DMA support.
ntdll: Use the NLS case mapping table for RtlHashUnicodeString().
user.exe: Clear out the thunk array to catch invalid winprocs.
krnl386: Get rid of DOS direct I/O support.
krnl386: Get rid of DOS SCSI ioctl support.
krnl386: Return a handle to the vxd file itself instead of creating a dummy file.
krnl386: Get rid of DOS parallel port I/O support.
ntdll: Update some string functions prototypes to match msvcrt.
ntdll: Use wcsicmp() instead of strcmpiW() where possible.
ntdll: Use wcsnicmp() instead of strncmpiW() where possible.
ntdll: Use RtlEqualUnicodeString() instead of strcmpiW().
ntdll: Use RtlCompareUnicodeStrings() instead of strncmpiW().
ntdll: Use the ascii_to_unicode() helper to compare relay module names.
ntdll: Use wcsupr() instead of toupperW().
ntdll: Use wcslwr() instead of tolowerW().
Alistair Leslie-Hughes (9):
dmime: IDirectMusicGraph GetTool isn't a stub.
dmime: Free more interfaces in IDirectMusicPerformance FreePMsg.
include: Add msdasql.h.
oledb32/tests: Add ODBC provider tests.
oledb32/tests: Add MSDASQL Enumerator tests.
dmime: IDirectMusicPerformance8 GetGraph return DMUS_E_NOT_FOUND if graph not set.
xaudio2_7: Trace FAudio version being used.
dmime: Store flags when parsing track data.
dmime: Reimplement IDirectMusicAudioPath Activate.
Andrey Gusev (1):
d3dx11: Add D3DX11GetImageInfoFromFileA/W stub.
Anton Baskanov (4):
amstream: Implement adding existing streams in AMMultiMediaStream::AddMediaStream.
amstream: Implement MediaStreamFilter::GetState.
amstream/tests: Refactor test stream to allow multiple instances.
amstream: Implement MediaStreamFilter::Stop, ::Pause, and ::Run.
Bernhard Übelacker (1):
ws2_32: Add stub implementation for WSCGetProviderInfo.
Biswapriyo Nath (2):
include/dxva: Add HEVC and VP8/VP9 structures.
include/wincodec.idl: Add missing GUIDs.
Brendan Shanks (4):
vulkan-1: Set FILEVERSION to fix official Vulkan loader installer.
dinput: Fix crash in dump_DIEFFECT() when rglDirection is unexpectedly NULL.
dinput/tests: Test IDirectInputEffect::SetParameters() with NULL effect parameters.
dinput: Fix IDirectInputEffect::SetParameters() behavior with NULL effect parameters.
Connor McAdams (9):
d2d1: Make sure arc fill vertex buffer has correct BindFlag.
d3d10: Implement matrix effect variable set methods.
d3d10: Implement matrix effect variable get methods.
d3d10: Add tests for matrix effect variable.
d3d10: Get resources used by effect shaders.
d3d10: Add impl_from_ID3D10EffectShaderVariable.
d3d10: Apply shader resources for shaders used in pass.
d3d10: Implement ShaderResource effect variable set method.
d3d10/tests: Add ID3D10EffectShaderResourceVariable tests.
Damjan Jovanovic (4):
shell32/tests: Tmpdir shouldn't end with a backslash.
shell32/tests: Test shlexec argv[0], and same-named executables in a different directory.
shell32: Simplify SHELL_execute().
shell32: Pass the executable's full path from SHELL_execute() to CreateProcess().
Derek Lesho (4):
mfreadwrite: Configure stream decoder on SetCurrentMediaType() if necessary.
winegstreamer: Make callback parameter names more generic.
winegstreamer: Move broad callback handling code to gst_cbs.
mfreadwrite: Pass source samples through decoder as they arrive.
Dmitry Timoshkov (32):
wldap32/tests: Add ldap_bind_s test.
adsldp: If secure open object fails fallback to simple bind.
adsldp: Bind to an LDAP server after connection.
activeds: ADsOpenObject should return E_FAIL by default.
activeds: Implement ADsGetObject.
msxml3: Add support for windows-125x encodings to IMXWriter::put_encoding().
wldap32: Add support for ldap_bind_s(LDAP_AUTH_NEGOTIATE).
wldap32: Handle NULL return in ldap_get_values_lenW.
adsldp: Add support for IADsOpenDSObject::OpenDSObject(ADS_SECURE_AUTHENTICATION).
activeds: Implement ADsBuildVarArrayStr.
adsldp: Implement IADs::GetInfo().
adsldp: Implement IADs::GetInfoEx().
adsldp: Implement IADs::Get().
adsldp: Add support for multi-valued attributes to IADs::Get().
adsldp: Turn FIXME into a TRACE for IADsOpenDSObject::OpenDSObject().
adsldp: Forward IADsOpenDSObject::AddRef/Release to base object.
adsldp: Add IDirectorySearch stubs.
adsldp: Add support for ADS_SEARCHPREF_SEARCH_SCOPE to IDirectorySearch::SetSearchPreference().
adsldp: Implement IDirectorySearch::ExecuteSearch().
adsldp: Implement IDirectorySearch::CloseSearchHandle().
adsldp: Implement IDirectorySearch::GetFirstRow().
adsldp: Implement IDirectorySearch::GetNextRow().
adsldp: Fix a memory leak.
adsldp: Add a trace.
adsldp: Improve IDirectorySearch::GetNextRow() end of entries detection logic.
adsldp: Implement IDirectorySearch::GetNextColumnName().
adsldp: Add special column "ADsPath" at the end of the entry.
adsldp: Implement IDirectorySearch::GetColumn().
adsldp: Add support for special column name "ADsPath" to IDirectorySearch::GetColumn().
adsldp/tests: Add some tests for IDirectorySearch.
adsldp: Add more traces.
adsldp: Add initial version of attribute schema parser.
François Gouget (18):
configure: Add an option to enable -Werror.
kernel32/tests: Clean up the argv[0] tests and improve coverage.
gameux/tests: Avoid an ever changing value in a gamestatistics failure message.
shell32/tests: Fix some wording issues in shlexec comments.
tests: Report all errors when failing to wait for a child process.
shell32/tests: Don't use randomized paths in the shlexec test.
tests: Fix the wait_child_process_() macro in the no-line-number case.
kernel32/test: Fix the semaphore handling in test_WaitForJobObject().
iphlpapi/tests: Fix a spelling error in an ok() message.
qasf/tests: Fix a couple of spelling errors in ok() messages.
kernel32/tests: Fix a race condition in test_QueryInformationJobObject().
kernel32/tests: Remove an unneeded sprintf() in the process tests.
advapi32/tests: On Windows 7 GetServiceKeyName() fails for all localized display names.
advapi32/tests: The Everyone group name is sometimes translated.
kernel32/tests: Add a couple of process helper functions.
kernel32/tests: Fix the grammar and formatting of a process comment.
mscoree: Handle the shared wine-mono installation like the msi case.
shell32/tests: Fix the temporary directory creation in shlexec.
Gabriel Ivăncescu (19):
quartz: Clear the WS_CHILD style instead of unparenting the window.
jscript: Get rid of the variable_obj parameter to exec_source.
jscript: Use the proper variable_obj for bytecodes with named items.
jscript: Lookup and ref the named item's dispatch first, during interpretion.
jscript: Create separate script dispatches for each named item.
include/winnt: Add more ACTCTX_COMPATIBILITY_ELEMENT_TYPE definitions and fix typo.
ntdll: Store the default process activation context into the PEB.
kernelbase: Implement compatibility mode for GetVersionEx.
kernelbase: Implement compatibility mode for GetVersion.
kernel32: Implement compatibility mode for VerifyVersionInfo.
vbscript: Retrieve the vbscode context from the named item directly.
vbscript: Retrieve the item's dispatch in a helper function.
vbscript: Implement persistent named items.
vbscript/tests: Add tests for persistent named items.
jscript: Retrieve the item's dispatch in a helper function.
jscript: Implement persistent named items.
jscript/tests: Add tests for persistent named items.
vbscript: Lookup the identifier in the named item's disp after its script dispatch.
jscript/tests: Add more persistent named items tests.
Gijs Vermeulen (3):
cmd: Use wide character string literals in batch.c.
cmd: Use wide character string literals in directory.c.
kernelbase: Set req->mask in SetConsoleScreenBufferInfoEx.
Hans Leidekker (10):
webservices: Use wide character string literals.
webservices/tests: Use wide character string literals.
webservices: Handle WS_XML_TEXT_TYPE_INT32 in text_to_uint64.
webservices: Add support for WS_FIELD_NILLABLE_ITEM.
webservices: Implement WS_ANY_ATTRIBUTES_FIELD_MAPPING for the writer.
webservices: Implement WS_TYPE_ATTRIBUTE_FIELD_MAPPING for the writer.
webservices: Read past XML declaration and opening bracket in WsReadStartElement.
webservices: Accept empty namespace in attribute type mapping.
webservices: Implement WS_TYPE_ATTRIBUTE_FIELD_MAPPING for the reader.
webservices: Support WS_CHARSET_UTF16LE for buffer input.
Jacek Caban (70):
dbghelp: Use generic image_find_section in elf_check_alternate.
dbghelp: Move alternate file map pointer to generic image_file_map.
dbghelp: Use vtbl to handle different image_file_map types.
dbghelp: Introduce generic image_unmap_file.
dbghelp: Move HANDLE-based crc32 helper to dbghelp.c.
dbghelp: Support Windows paths in elf_locate_debug_link.
dbghelp: Pass module struct to elf_locate_debug_link.
ucrtbase/tests: Build with -fno-builtin.
ucrtbase/tests: Use more functions directly.
ucrtbase/tests: Fix clock tests.
corecrt_startup.h: Add onexit table declarations.
ucrtbase/tests: Use public onexit table declarations.
msvcrt: Use public onexit table declarations in importlib.
ucrtbase/tests: Link to _o_* functions directly.
mshtml/tests: Remove file protocol tests from htmllocation.c.
dbghelp: Check checksum before mapping elf file.
dbghelp: Use elf_check_debug_link in elf_locate_build_id_target.
dbghelp: Move get_dos_file_name to path.c.
dbghelp: Move elf_check_alternate implementation to module.c.
dbghelp: Support GNU debug link and build id in PE files.
dbghelp: Support PE debug link files.
dbghelp: Lookup real image paths in image_locate_debug_link.
ctype.h: Add _to[w]lower_l and _to[w]upper_l declarations.
string.h: Add __strncnt declaration.
memory.h: Add _memicmp_l declaration.
ucrtbase/tests: Use ucrtbase functions directly in string.c.
include: Add fenv.h header.
corecrt_startup.h: Add more declarations.
ctype.h: Add more declarations.
float.h: Add __fpe_flt_rounds declaration.
io.h: Add _sopen_dispatch and _sopen_s declarations.
locale.h: Add _Strftime declaration.
process.h: Add quick_exit declaration.
stdlib.h: Add _get_thread_local_invalid_parameter_handler and _set_thread_local_invalid_parameter_handler declarations.
ucrtbase/tests: Use more ucrtbase functions directly in misc.c.
dbghelp: Use Windows API to map macho files.
jscript: Simplify Object.prototype.toString implementation.
wininet: Use _ltow instead of sprintf for port number in InternetCreateUrl.
mscoree: Use wcstok_s instead of wcstok.
makefiles: Explicitly import msvcrt in modules that need specific crt version.
makedep: Build builtin DLLs with ucrtbase.
dbghelp: Call GetSystemInfo in DllMain.
dbghelp: Use page size from sysinfo.
dbghelp: Rename helpers to make unicode variants default.
dbghelp: Use file_name helper in more places.
dbghelp: Make dll builtin PE path search helper more generic.
dbghelp: Use search_dll_path in elf_search_and_load_file.
dbghelp: Introduce search_unix_path helper and use it in elf_search_and_load_file.
dbghelp: Use search_unix_path to load seach macho files.
dbghelp: Use search_dll_path to load seach macho files.
dbghelp: Store process struct pointer in dump context.
dbghelp: Pass process struct to elf_enum_modules and macho_enum_modules.
dbghelp: Move loader search functions to the end of module files.
dbghelp: Introduce loader_ops to abstract platform-specific loader and use it to synchronize module list.
dbghelp: Don't use elf_fetch_file_info and macho_fetch_file_info in module_find_cb.
dbghelp: Use loader_ops for fetch_file_info.
dbghelp: Pass process struct to image_uses_split_segs.
ntdll: Support device paths in LdrGetDllPath.
dbghelp: Use loader_ops for enum_modules.
dbghelp: Use loader_ops for load_module.
dbghelp: Use loader_ops for load_debug_info.
dbghelp: Explicitly pass file type to path_find_symbol_file.
dbghelp: Use PE type for virtual modules.
dbghelp: Move reading debug base address from PEB to check_live_target.
dbghelp: Remove unused code in module_find_cb.
dbghelp: Use LONG_PTR instead of long type.
rpcrt4: Fix use after free in get_iface_info.
oleaut32: Fix handling dual interfaces in ITypeInfo::GetRefTypeInfo.
jscript: Lookup the identifier in the named item's disp before the global context.
jscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
Jeff Smith (6):
mshtml/tests: Add tests showing how toString has changed in IE9+.
jscript: Set return object's class to 'object' in Object.create.
jscript: Fix typo in Object_toString fixme message.
jscript: Use wide-string literals in-place for object.
gdiplus/tests: Add tests for multi-figure lines to test_widen_cap.
gdiplus: Caps are added at the end of a path.
Jefferson Carpenter (1):
kernelbase: Zero out retkey in the ERROR_INVALID_HANDLE case in RegOpenKeyExW.
Liam Middlebrook (5):
winevulkan: Generate typedefs for aliased enums.
winevulkan: Add alias field to VkEnumValue.
winevulkan: Generate alias enum values.
winevulkan: Update to VK spec version spec 1.2.134.
winevulkan: Generate typedefs for aliased structs.
Lukáš Horáček (1):
wined3d: Add GTX 1660 SUPER as a card.
Matteo Bruni (16):
wined3d: Get rid of the vertex sampler offset.
wined3d: Optimize scanning for changed state in wined3d_stateblock_capture().
wined3d: Optimize scanning for changed state in wined3d_stateblock_apply().
ddraw: Store primary stateblock state pointer in the device.
d3d9: Fix RTV refcounting in d3d9_texture_cube_AddRef().
wined3d: Don't pass the whole context to needs_srgb_write().
d3dx9: Use an assert() to validate access to const_tbl[].
wined3d: Make rasterizer state cleanup more consistent with samplers cleanup.
wined3d: Get rid of MAX_RENDER_TARGET_VIEWS.
wined3d: Align CS packet size to the header size.
wined3d: Store the framebuffer inline in struct wined3d_state.
wined3d: Make blend state cleanup more consistent with samplers cleanup.
wined3d: Fix ARB_TEXTURE_STORAGE_MULTISAMPLE core_extension[] entry.
wined3d: Skip loading current index buffer if the draw is not indexed.
wined3d: Only invalidate STATE_INDEXBUFFER if the buffer being destroyed is bound as index buffer.
d3d10/tests: Improve compare_matrix() ok() messages.
Myah Caron (1):
api-ms-win-core-registry-l2-2-0: Add dll.
Nikolay Sivov (46):
mfplat: Implement MFCreateMediaBufferFromMediaType() for audio types.
mfplat: Add some more YUV formats data.
mfplat: Use underlying work queue API.
mfplat: Forward MFCreateAsyncResult() to rtworkq.dll.
mfplat: Implement locking methods for 2D memory buffers.
mf: Remove FIXME for zero buffer size, it's used as is.
mfplat: Implement ConvertToContiguousBuffer() for multiple buffers.
mfplat: Fix optional buffer argument handling in ConvertToContiguousBuffer().
mfplat: Fix buffer alignment calculation.
mf: Copy sample data to copier transform output.
mf: Forward sink invalidation events to application.
mfplat: Get rid of unsupported interface trace for 1D buffers.
mfplat: Improve 2D buffer sizes estimation.
mfplat/tests: Increase wait timeout to help with intermittent test failures.
mfplat: Add a helper to trace video format name.
mf: Forward more Audio Session events from the session.
mf: Set presentation clock for all node types.
comctl32/imagelist: Implement IImageList::GetItemFlags().
comctl32/imagelist: Update todo list.
mfplat: Fix scanline pointer returned with Lock2D().
mfplat: Fix bpp for RGB24 format.
mfplat: Fix scanline for bottom-up case.
mfplat: Fix packed byte width calculation for 2D buffer.
mfplat: Zero-initialize buffer memory.
include: Add some missing symbols to mftransform.idl.
ole32: Add support for reading VT_CLSID properties.
comctl32/tests: Remove excessive error handling logic.
mfplat: Add more format-specific attributes guids.
include: Added IMFSeekInfo definition.
mfreadwrite: Make pending response reader structure more generic.
mfreadwrite: Handle MEStreamTick event in source reader.
mfreadwrite: Request one sample at a time from the stream.
mfreadwrite: Implement async reader mode.
mfreadwrite: Implement reader flushing.
mfreadwrite: Autodetect ftyp(isom) as .mp4.
mfplat: Add a helper to trace timestamp arguments.
mfplat: Remove trace from MFGetSystemTime().
mf: Add a helper to trace timestamp arguments.
mf: Fix string array access for registration data helpers.
mf: Clean traces format for topology methods.
mf: Fix a typo when setting event attribute.
mfplat: Add more event types to trace.
mfreadwrite: Forward some source events to async reader callback.
mfreadwrite: Move Sink Writer stubs to separate file.
mfplat: Add remaining media type attributes guids.
mf: Fix returned session rates when pipeline objects don't support rate control.
Paul Gofman (20):
d3d9/tests: Add tests for allowed StrecthRect() filters.
wined3d: Validate the filter in wined3d_texture_blt().
ucrtbase: Add test for _strnicmp() count parameter.
d3dx9: Validate state operation in d3dx_parse_state().
d3d11: Use stricmp() instead of _strnicmp(..., -1).
ddraw: Factor out ddraw_surface_is_lost() function.
ddraw: Factor out ddraw_surface_lock_ddsd() function.
ddraw: Deny locking lost surfaces.
ddraw/tests: Test locking lost surface for ddraw4.
ddraw/tests: Test locking lost surface for ddraw2.
ddraw/tests: Test locking lost surface for ddraw1.
hhctrl.ocx: Use stricmp() instead of _strnicmp(..., -1).
inetcomm: Use stricmp() instead of _strnicmp(..., -1).
wineps.drv: Use stricmp() instead of _strnicmp(..., -1).
winhttp: Use stricmp() instead of _strnicmp(..., -1).
wininet: Use stricmp() instead of _strnicmp(..., -1).
mshtml: Use stricmp() instead of _strnicmp(..., -1).
d3dcompiler: Use stricmp() instead of _strnicmp(..., -1).
d3dx9: Use stricmp() instead of _strnicmp(..., -1).
d3dxof: Use stricmp() instead of _strnicmp(..., -1).
Piotr Caban (4):
msvcp140: Remove custom standard streams definition.
msvcp140: Don't load __processing_throw dynamically.
ucrtbase/tests: Set invalid_parameter_handler once.
msvcp90: Add std:_XLgamma implementation.
Rémi Bernon (7):
tools: Only update protocol version if something changed.
user32/tests: Add new test to validate WM_CANCELMODE message.
winex11.drv: Remove frame when non-client area is empty.
winemac.drv: Remove frame when non-client area is empty.
kernel32/tests: Add tests for ContinueDebugEvent with DBG_REPLY_LATER.
winegstreamer: Check the callback list before waiting.
server: Implement DBG_REPLY_LATER handling.
Serge Gautherie (16):
rpcrt4/tests: Remove now useless forced 0x0500 API versions.
shell32/tests: Remove now useless forced 0x0501 API versions.
include: Remove comment about now old NTDDI_VERSION.
psapi/tests: NtQueryVirtualMemory() 3rd parameter is MEMORY_INFORMATION_CLASS, not ULONG.
advapi32: CryptReleaseContext() dwFlags parameter is DWORD, not ULONG_PTR.
advapi32: Use standard refcount in CRYPTPROV.
advapi32: Fix CryptReleaseContext() last error on NULL provider.
advapi32/tests: Check all CryptReleaseContext() calls.
advapi32/tests: Add more cases for CryptReleaseContext().
ntdll/tests: Remove now useless forced 0x500 API versions.
advapi32: Fix 3 comments about pdwReserved and dwFlags.
include: Remove now useless forced WINVER defines.
include: Remove now useless forced _WIN32_IE defines.
tests: Remove now useless forced _WIN32_WINNT defines.
kernelbase: Handle RegGetValue() RRF_SUBKEY_WOW64??KEY flags.
advapi32/tests: Check RegGetValueA() RRF_SUBKEY_WOW64??KEY validation.
Stefan Dösinger (2):
ddraw/tests: Re-init for every test_surface_discard iteration.
ddraw/tests: Don't print uninitialized l in test_compressed_surface_stretch.
Sven Baars (2):
d3dx9: Add two more DT_SINGLELINE tests.
d3dx9: Remove a recursive call to ID3DXFont_DrawTextW when no rect is specified.
Vijay Kiran Kamuju (5):
include: Add missing DPACCOUNTDESC to dplay.h.
wmvcore: Add semi-stub implementation for WMIsContentProtected.
include: Add missing effect related defines and enums in dsound.h.
include: Add missing GUIDs in dsound.h.
include: Add some missing defines to xinput.h.
Vincent Povirk (2):
gdiplus/tests: Don't test font face of DEFAULT_GUI_FONT.
gdiplus/tests: Don't test the exact substitution of MS Shell Dlg.
Zebediah Figura (71):
wined3d: Fix an accidental replacement of STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE).
wined3d: Check the writemask for the correct render target in draw_primitive().
wined3d: Map ARB_draw_buffers_blend functions.
wined3d: Feature level 10.0 does not require independent blend functions.
ntoskrnl.exe: Implement IoOpenDeviceRegistryKey().
wineqtdecoder: Fix compilation.
winegstreamer: Allocate media type format blocks with CoTaskMemAlloc().
winegstreamer: Use accessor macros for GstVideoInfo fields.
winegstreamer: Use amt_from_gst_video_info() in gstdecoder_source_get_media_type().
winegstreamer: Use the image size provided by GStreamer.
winegstreamer: Also use GST_QOS_TYPE_OVERFLOW for samples that arrive on time.
winegstreamer: Clamp both timestamp and timestamp + diff to 0.
winebus.sys: Use public HID_USAGE_* constants.
wined3d: Implement dual source blending.
d3d10core/tests: Add a test for dual source blending.
d3d11/tests: Add a test for dual source blending.
hidclass.sys: Don't reset the report count when recording a main item.
rpcrt4: Handle bare interfaces as top-level parameters.
rpcrt4: Handle bare coclasses as top-level parameters.
kernel32/tests: Add some tests for mounted folders.
kernel32/tests: Remove a test for Unix-style paths.
d3dcompiler: Rename HLSL_MODIFIER_{IN, OUT} to HLSL_STORAGE_{IN, OUT}.
d3dcompiler: Move modifer processing up out of the struct_spec rules.
d3dcompiler: Rename HLSL_MODIFIERS_COMPARISON_MASK to HLSL_MODIFIERS_MAJORITY_MASK and use it in more places.
d3dcompiler/tests: Add more tests for swizzles.
d3dcompiler: Ensure that the lhs of an assignment is reducible to a variable.
quartz/vmr9: Zero-initialize the VMR9PresentationInfo struct.
quartz/vmr9: Determine the D3D format and flags from the subtype.
quartz/vmr9: Request only one surface.
quartz/vmr9: Cache surfaces on connection.
quartz/tests: Add some tests for renderless mode.
quartz/vmr9: Create textures with D3DUSAGE_DYNAMIC.
qasf/tests: Fix a test failure with Windows 2003.
quartz/tests: Fix test failures when we can't create a 3D device.
quartz/tests: Disable some tests that fail intermittently.
include: Fix the definition of USBD_STATUS_CANCELED.
ntdll: Fix the overflow check in read_changes_apc().
kernel32/tests: Fix some test failures when run from a mounted folder.
server: Store the real Unix path.
ntdll: Consider mount points to be reparse points in get_file_info().
ntdll: Report Unix mount points as Win32 mount points in NtQueryInformationFile().
kernel32: Reimplement GetVolumePathName() using NtQueryInformationFile(FileAttributeTagInformation).
d2d1/tests: Adjust a color to prevent test failures.
d3d11/tests: Relax some color comparisons.
d3d10core/tests: Relax some color comparisons.
make_makefiles: Allow running from a separate worktree.
d3dcompiler: Fix the location for a warning.
d3dcompiler: Get rid of the "dxversion" argument to create_writer().
d3dcompiler: Get rid of the "dxversion" argument to SlWriteBytecode().
d3dcompiler: Store the shader version using separate integer fields.
quartz/tests: Add a test for autoplugging from UYVY.
quartz/tests: Add some tests for AVI decoder pin connection.
quartz/avidec: Correctly implement avi_decompressor_source_get_media_type().
quartz/avidec: Correctly implement avi_decompressor_source_query_accept().
quartz/avidec: Don't determine the source format from the sink format.
d3dcompiler: Store a pointer to the bwriter_shader structure inside the bc_writer structure.
include: Rename the FileSystemAttribute field of FILE_FS_ATTRIBUTE_INFORMATION to FileSystemAttributes.
mountmgr: Fill the mountmgr_unix_drive structure even if the buffer is too small to hold the dynamic strings.
mountmgr: Return STATUS_BUFFER_OVERFLOW from query_unix_drive() if the buffer is too small.
winegstreamer: Also clear the pixel-aspect-ratio field in amt_to_gst_caps_video().
strmbase: Support FORMAT_VideoInfo2 in strmbase_dump_media_type().
strmbase: Strip trailing zeroes in debugstr_time().
mf: Strip trailing zeroes in debugstr_time().
mfplat: Strip trailing zeroes in debugstr_time().
quartz: Strip trailing zeroes in debugstr_time().
winegstreamer: Flip only RGB video.
winegstreamer: Set the bit depth for UYVY video.
d3dcompiler: Get rid of the init_*_dx9_writer() helpers.
d3dcompiler: Get rid of the "len" parameter to write_declarations().
d3dcompiler: Introduce an array_reserve() helper.
d3dcompiler: Move some declarations to bytecodewriter.c.
Zhiyi Zhang (18):
wined3d: Pass a struct wined3d_adapter pointer to wined3d_get_device_caps().
d3d8: Report d3d8 adapter ordinal in device caps.
d3d8/tests: Support creating a device with the specified adapter.
d3d9/tests: Support creating a device with the specified adapter.
d3d8/tests: Test device caps on multiple adapters.
d3d9/tests: Test device caps on multiple adapters.
d3d8/tests: Fix a test failure with Win10 WARP.
d3d9/tests: Fix a test failure with Win10 WARP.
wined3d: Refactor wined3d_get_output_desc() to wined3d_output_get_desc().
wined3d: Add an ordinal to struct wined3d_output.
d3d9: Report d3d9 adapter group information in device caps.
d3d8: Report d3d8 adapter ordinal in d3d8_device_GetCreationParameters().
d3d9: Report d3d9 adapter ordinal in d3d9_device_GetCreationParameters().
d3d8/tests: Test detaching adapters.
d3d9/tests: Test detaching adapters.
dxgi/tests: Test detaching outputs.
wined3d: Support non-primary outputs in wined3d_output_get_desc().
wined3d: Remove device_name and device_name_size from struct wined3d_adapter_identifier.
--
Alexandre Julliard
julliard(a)winehq.org