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
The Wine development release 5.4 is now available.
What's new in this release (see below for details):
- Unicode data updated to Unicode version 13.
- Builtin programs use the new UCRTBase C runtime.
- More correct support for Internationalized Domain Names.
- Support for painting rounded rectangles in Direct2D.
- Text drawing in D3DX9.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.4 (total 34):
14949 ABBYY FineReader Pro 7.0 Scrolling Problem
18013 Foxit Reader 3.0: Sidebar Search Window not accessible/useable.
24013 Assassin's Creed (DX10) crashes (ID3D10ShaderReflection::GetConstantBufferByIndex is a stub)
24754 Multiple games have no text rendered due to ID3DXFont::DrawTextA/W method stubs (Nancy Drew 'Tale of the Twister', Europa Universalis Rome)
28141 Delphi Twain examples don't work
29330 8BallClub can't enter login details
35077 PSPad 4.5.7 crashes on startup
39816 BioShock 2 needs d3d10_shader_reflection_GetInputParameterDesc()
40334 Multiple games and applications crash on unimplemented function ntdll.dll.RtlGetNativeSystemInformation (AION, AVG Free Edition 2012-2014, TuneUp Utilities 2014)
40606 Unknown application needs dnsapi.dll.DnsGetCacheDataTable
42585 Final Fantasy V Corrupt Fonts
43533 Keepass 2.36 crashes on startup with Wine-Mono
43620 NieR: Automata (Steam) crashes on startup
43660 Divinity Original Sin 2 preview crash
43696 SanctuaryRPG: Black Edition hangs on exit
44253 Far Manager v3.0 crashes when using quick view mode (needs SHCreateAssociationRegistration stub)
47288 Gaea 1.0.19 (.NET 4.7 WPF app) diagnostic tool 'Watson.exe' crashes due to 'kernel32.SetConsoleScreenBufferInfoEx' stub
47626 Microsoft Visual Studio 2019 web-installer fails due to missing MS root CA 2010 and rstrtmgr stubs
48315 RPG Tkool (RPG Maker) 2k/2k3/XP/VX/VX Ace: MP3 playback doesn't loop
48481 Settings for Templates and Downloads locations aren't exposed in winecfg
48570 Multiple games (Fable: The Lost Chapters, Oddworld - Munch odissey) does not play WMV cutscenes
48580 Discord connecting to voice needs unimplemented function qwave.dll.QOSAddSocketToFlow
48635 Asuka 120% Return BURNING Fest: Crashes after character selection.
48639 Shrew Soft VPN client needs setupapi.dll.SetupDiGetSelectedDriverA()
48664 kernel32:process - Intermittent test_Toolhelp() failure
48689 Wine 5.3 on Mac OS X 10.13.6 High Sierra: Segmentation fault
48694 The Bat! (64bit) crashes right after start
48697 New msvcrt inlines fail to compile on armv7hl due to non-AAPCS variadic function calls
48705 Dynacadd 98 crash
48706 Wineconsole freezes when restoring from minimized to maximized window
48719 wow bat launcher doesn't work
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
48742 ntdll: get_modref: Conditional jump or move depends on uninitialised value(s)
----------------------------------------------------------------
Changes since 5.3:
Aaro Altonen (3):
kernel32/tests: Add tests for SetConsoleScreenBufferInfoEx().
kernelbase: Implement SetConsoleScreenBufferInfoEx().
urlmon: Add URLOpenPullStreamW() stub.
Akihiro Sagawa (2):
dsound/tests: Add a test whether the buffer is a valid global memory.
dsound: Make GlobalHandle() for the sound buffer failed.
Alexandre Julliard (35):
ntdll: Delay NFC table loading on macOS.
ntdll: Reimplement IdnToNameprepUnicode() using the NLS normalization table.
ntdll: Reimplement IdnToAscii() using the normalization table and the ntdll helpers.
ntdll: Reimplement IdnToUnicode() using the normalization table and the ntdll helpers.
kernel32: Remove the nameprep tables.
kernel32: Move Idn functions to kernelbase.
dxerr8: Use wide character string literals.
dxerr9: Use wide character string literals.
kernelbase: Use wide character string literals in debug.c.
kernelbase: Use wide character string literals in file.c.
kernelbase: Use wide character string literals in path.c.
kernelbase: Use wide character string literals in registry.c.
kernelbase: Use wide character string literals in the remaining files.
gdi.exe: Use 32-bit printer functions for print jobs.
gdi.exe: Build with msvcrt.
winaspi: Get rid of DOS mode.
winaspi: Reimplement on top of wnaspi32.
winaspi: Get rid of header files.
winaspi: Build with msvcrt.
kernelbase: Don't use towlower() on the full Unicode character range.
kernelbase: Don't use wcsicmp/wcsnicmp() on the full Unicode character range.
kernelbase: Don't allow the full Unicode character range in StrToInt* functions.
kernelbase: Don't allow the full Unicode character range in path functions.
msvcrt/tests: Add tests for Unicode spaces in wcstol().
ntdll/tests: Remove some workarounds for older Windows versions.
ntdll: Use the NLS case mapping table for towlower/towupper.
ntdll: Don't handle the full Unicode character range in wcslwr/wcsupr.
ntdll: Don't handle the full Unicode character range in wcsicmp/wcsnicmp.
ntdll: Don't handle the full Unicode character range in isw* functions.
ntdll: Reimplement wcstol/wcstoul using the msvcrt code.
ntdll: Reimplement remaining string functions to avoid depending on wine/unicode.h.
ntdll: Fix heap validation when large heap blocks are present.
unicode: Fix parsing of Indic data files.
unicode: Read data files from inside the zip without extracting them.
unicode: Update data tables to Unicode 13.0.
Alistair Leslie-Hughes (6):
oledb32: Initialize all DBGUID values.
oledb32: Initialize data provider when switching tabs.
qwave: Add QOSAddSocketToFlow stub.
xaudio2_7: Correct reference count on newly created XAudio2 object.
xaudio2_7: Correct reference count on newly created IXAPO object.
wineqtdecoder: Don't define CLSID_QTSplitter twice.
Andrew Eikum (1):
xaudio2/tests: Add some refcount tests.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (1):
whoami: Add semi-stub application to display username.
Connor McAdams (6):
d3d10: Implement scalar effect variable set methods.
d3d10: Implement scalar effect variable get methods.
d3d10: Implement vector effect variable set methods.
d3d10: Implement vector effect variable get methods.
d3d10: Add tests for scalar effect variables.
d3d10: Add tests for vector effect variables.
Damjan Jovanovic (1):
gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Dmitry Timoshkov (13):
include/sal.h: Add _Ret_writes_z_ for Visual Studio 14.0.
kernel32/tests: Fix locale.c compilation with Visual Studio 14.0.
kernel32/tests: Fix initialization of parameters in Get[*]PreferredUILanguages tests.
kernel32/tests: Add more tests for Get[*]PreferredUILanguages APIs.
kernel32: Get[*]PreferredUILanguages should return buffer size when setting ERROR_INSUFFICIENT_BUFFER.
msi: Add support for ListView dialog control.
dnsapi/tests: Add some DnsQuery tests.
dnsapi/tests: Also test the "_ldap._tcp.deadbeef" query.
wbemdisp: Use pointer moniker instead of custom moniker implementation.
adsldp: Add IParseDisplayName stub interface.
netapi32: Implement DsGetDcNameW.
adsldp: Implement IADsOpenDSObject::OpenDSObject.
adsldp: Implement IParseDisplayName::ParseDisplayName.
François Gouget (4):
kernel32/tests: Fix test_Toolhelp()'s nested process lookup.
dsound: Move make_fir to the dsound directory.
kernel32/tests: Fix a race condition in test_WaitForJobObject().
kernel32/tests: Remove a 100 ms sleep in 'process exit' children.
Gabriel Ivăncescu (10):
jscript: Use struct list for named items.
jscript/tests: Add tests for named items.
jscript: Use NULL in frame->this_obj for the global code object.
jscript: Lookup host global object on demand instead of storing it in script context.
jscript: Lookup the named item and keep a ref to it from the associated bytecode.
jscript: Add stub implementation of separate script dispatches for named items.
jscript: Retrieve the proper script dispatch from the named item in GetScriptDispatch.
jscript/tests: Add test for function constructor in named item context.
jscript: Don't lookup global members for bytecodes with a named item.
jscript: Retrieve the proper 'this' object for bytecodes with named items.
Giovanni Mascellani (2):
d2d1: Implement ellipse and rounded rectangle filling with arcs.
d2d1: Implement ellipse and rounded rectangle stroking with arcs.
Hans Leidekker (1):
configure: Get rid of an unused powl check.
Henri Verbeet (2):
d3d8: Avoid checking the stage index in d3d8_device_GetTextureStageState() (Coverity).
d3d9: Avoid a dead assignment in d3d9_device_SetStreamSource() (Coverity).
Jacek Caban (27):
ucrtbase: Add exe entry points implementation.
msvcrt: Silence wide environment initialization debug messages.
makedep: Build builtin programs with ucrt.
winetest: Build with msvcrt.
winegcc: Lookup PATH in find_binary and don't try to run binaries that can't be found.
winegcc: Return build_tool_name result as strarray.
winegcc: Pass tool by id to build_tool_name.
winegcc: Add support for using clang directly.
stdio.h: Fix calling convention of variadic inline functions.
msvcrt/tests: Use __[w]getmainargs declarations from headers.
msvcrt20: Use __[w]getmainargs declarations from headers.
winebuild: Also try llvm variants of tools in find_tool.
winebuild: Add an option to build a static library.
makedep: Use winebuild to build cross compiled static libraries.
configure: Try using explicit target option for cross compiling.
ntdll: Use module path as assembly path for manifests embedded in resources.
kernelbase/tests: Add test of assembly path of manifest embedded in exe module.
include: Add corecrt_wprocess.h header.
include: Add corecrt_wdirect.h header.
dbghelp: Try loading builtin modules from unix installation.
dbghelp: Search also real path location in path_find_symbol_file.
dbghelp: Use Windows API to map ELF files.
ucrtbase/tests: Link to ucrtbase.
ucrtbase/tests: Use public _CRT_INTERNAL_PRINTF_* defines.
ucrtbase/tests: Directly use __stdio_common_* functions.
ucrtbase/tests: Directly use ucrtbase functions in printf.c.
ucrtbase/tests: Directly use ucrtbase functions in scanf.c.
Jeff Smith (4):
gdiplus/tests: Use much smaller fudge factor in test_widen_cap.
gdiplus/tests: Add thin-line test to test_widen_cap.
gdiplus: Caps do not shrink for line width < 2.0.
msvcrt: Stop forwarding iswctype functions to ntdll.
Jefferson Carpenter (2):
services: Initialize OVERLAPPED Offset and OffsetHigh.
user32: Always initialize module in load_desktop_driver.
Ken Thomases (1):
winemac: Only call -[NSOpenGLContext update] from the main thread.
Matteo Bruni (8):
wined3d: Introduce a stateblock flag for lights.
wined3d: Introduce a global stateblock flag for transforms.
wined3d: Optimize setting shader constants in wined3d_stateblock_apply().
wined3d: Optimize setting shader constants in wined3d_stateblock_capture().
d3d9: Store primary stateblock state pointer in the device.
d3d9: Retrieve state from the stateblock in d3d9_stateblock_Apply().
d3d8: Store primary stateblock state pointer in the device.
d3d8: Range-check GetPixelShaderConstant() indices to the d3d8 limit.
Michael Müller (1):
server: Hold a reference to the file in delete_file().
Nikolay Sivov (49):
mf: Implement GetFullTopology().
mf: Add a helper to check for session shutdown state.
mf: Fix GetClock() for shutdown state.
include: Add IMFFinalizableMediaSink definition.
mfplat: Use underlying work queue calls more to get rid of duplicated traces.
rtworkq: Change RtwqPutWorkItem() trace format for consistency.
mf: Handle shutdown state in GetFullTopology().
mf: Correctly respond to start attempt from closed state.
mf: Implement transition to closed state together with sink finalization.
mf: Match session state names with events.
mfplat: Implement MFTEnumEx().
mfplat: Add some MFT-related attributes GUIDs.
mfplat: Set activation object attributes for enumeration results.
mfplat: Default to synchronous model for locally registered MFTs.
mfplat: Implement transform activation object.
mf: Implement MFGetSupportedMimeTypes()/MFGetSupportedSchemes().
mf/tests: Fix a test failure on older versions.
include: Fix VMR9AlphaBitmap definition.
include: Add some types used for MF pipeline objects.
mfplat: Remove extra critical section used in sample implementation.
mfplat: Remove extra critical section from presentation descriptor.
mfplat: Remove extra critical section from stream descriptor.
include: Add some MFT flags types.
include: Update MF resolver flags.
mf: Partially implement sample copier transform.
mfplat: Add MFGetPlaneSize().
mfplat: Implement CopyToBuffer().
mf: Implement IsMediaTypeSupported() for simple type handler.
mfplat: Implement IsMediaTypeSupported() for stream descriptor.
mf: Implement MFGetTopoNodeCurrentType().
mf: Shutdown samplegrabber event queue on sink shutdown.
mf: Block samplegrabber stream event calls after stream is removed.
mf: Improve ShutdownObject() behavior for sample grabber activation object.
mf: Set shutdown state flag for presentation clock.
mf: Notify just added sinks with current clock state.
mf: Do not touch clock state when setting rate.
mf/tests: Remove tests causing occasional crashes on Windows.
mfplat: Add MFGetStrideForBitmapInfoHeader().
mf/tests: Use wide string literals.
mfplat: Add a stub for 2D system memory buffer object.
dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm.
mf: Use single list for topology nodes in current presentation.
mf/tests: Add a test for default node attributes.
mf: Handle basic case of sample request/response.
mf: Send MFT_MESSAGE_NOTIFY_BEGIN_STREAMING message after setting current topology.
mf: Pass start and flush messages to transform nodes.
mf: Keep transform node input/output streams map.
mf: Add support for requesting sample from transform nodes.
mf: Implement sample delivering to transform nodes.
Paul Gofman (5):
ntdll: Zero init reg_tzi in find_reg_tz_info().
ntdll: Add semi-stub for RtlGetNativeSystemInformation().
wined3d: Manage source texture resolve in texture2d_blt() for colour blits.
wined3d: Handle scale with multisampled blit destination in texture2d_blt().
wined3d: Use EXT_framebuffer_multisample_blit_scaled for scaled resolves.
Piotr Caban (5):
winemac: Fix leaks in macdrv_surface_destroy.
gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.
gdiplus: Fix leak in SOFTWARE_GdipDrawDriverString.
msvcrt: Optimize _strnicmp_l implementation.
winemac: Handle dummy_surface in get_mac_surface.
Roman Pišl (3):
shell32: Implement SHCreateAssociationRegistration.
wineconsole: Allow maximization.
wininet: Add stub for INTERNET_OPTION_IGNORE_OFFLINE.
Rémi Bernon (5):
d3d9/tests: Register test window class upfront.
d3d8/tests: Add test_window_style results for w1064v1809.
d3d9/tests: Explicit test_window_style results on w1064v1809.
d3d9/tests: Make device test_window_style checks more consistent.
d3d9/tests: Make d3d9ex test_window_style checks consistent with device.
Serge Gautherie (3):
include: COMMCONFIG.wcProviderData is WCHAR, not DWORD.
shell32: Fix SHCNE_UPDATEITEM number of items.
tools: Remove 0x0501 API versions forced by winapi_test.
Sven Baars (7):
d3dx9: Implement ID3DXFont_PreloadText.
d3dx9: Add a very basic ID3DXFont_DrawText implementation.
d3dx9: Handle newlines in ID3DXFont_DrawText.
d3dx9: Handle clipping in ID3DXFont_DrawText.
d3dx9: Handle word breaks in ID3DXFont_DrawText.
d3dx9: Handle DT_SINGLELINE in ID3DXFont_DrawText.
d3dx9: Handle DT_CALCRECT in ID3DXFont_DrawText.
Vijay Kiran Kamuju (2):
include: Add some missing defines in winnt.h.
include: Fix QUOTA_LIMITS_EX in winnt.h.
Vincent Povirk (3):
windowscodecs/tests: Add test for WriteSource with indexed formats.
windowscodecs: Set palette in WriteSource when necessary.
windowscodecs: Fix ICNS encoder write_source call.
Zebediah Figura (128):
httpapi: Update the spec file to Windows 7.
httpapi: Use the "http" debug channel.
httpapi: Stub HttpSetServerSessionProperty().
httpapi: Wait for overlapped I/O completion only if ERROR_IO_PENDING is returned.
httpapi: Stub HttpSetUrlGroupProperty(HttpServerLoggingProperty).
http.sys: Support cancelling IRPs.
http.sys: Cancel outstanding requests when a handle is closed.
http.sys: Translate WSAEACCES to STATUS_ACCESS_DENIED.
http.sys: Handle the "+" URL wildcard.
server: Make free_object() static.
server: Hold a reference to the device on behalf of the device manager.
d3dcompiler/tests: Add some more tests for return statements.
d3dcompiler: Parse return statements without a value.
d3dcompiler: Check for implicit type compatibility in implicit_conversion().
d3dcompiler: Verify a returned value against the function's type and cast it if necessary.
d3dcompiler: Don't set the node type for return instructions.
ddraw: Retrieve the material from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetMaterial().
ddraw: Retrieve the viewport from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetViewport().
ddraw: Retrieve lights from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetLight() and d3d_device7_LightEnable().
amstream: Implement IAMMultiMediaStream::EnumMediaStreams().
amstream: Check for an existing stream in IAMMultiMediaStream::AddMediaStream().
amstream: Implement IMediaStreamFilter::EnumMediaStreams().
amstream: Allow AMMSF_ADDDEFAULTRENDERER only with MSPID_PrimaryAudio.
amstream: Return E_INVALIDARG if AMMSF_ADDDEFAULTRENDERER is requested with a non-NULL ret_stream parameter.
kernel32/tests: Add some tests for hard links.
kernel32: Reimplement CreateHardLink() on top of NtSetInformationFile(FileLinkInformation).
wined3d: Stop setting the device state in wined3d_stateblock_apply().
wined3d: Remove no longer used device state functions.
amstream: Simplify IAMMultiMediaStream::GetFilterGraph().
amstream: Create a default filter graph in IAMMultiMediaStream::AddMediaStream() if one does not exist yet.
amstream: Explicitly create the graph in IAMMultiMediaStream::OpenFile().
amstream: Set the multimedia stream graph in IAMMultiMediaStream::Initialize() only if a graph is specified.
amstream: Forbid changing the graph in IAMMultiMediaStream::Initialize().
amstream: Forbid changing the multimedia stream mode.
wined3d: Make some wined3d_device functions static.
wined3d: Remove now redundant error handling from wined3d_device_set_stream_source_freq().
wined3d: Remove now redundant error handling from wined3d_device_set_light().
wined3d: Return void from wined3d_device_set_light_enable().
wined3d: Remove now redundant error handling from wined3d_device_set_sampler_state().
ntdll/tests: Separate invalid name tests for RtlDosPathNameToNtPathName_U().
ntdll/tests: Use wide character string literals in test_RtlDosPathNameToNtPathName_U().
ntdll/tests: Add more tests for DOS to NT path conversion.
wined3d: Remove now redundant error handling from wined3d_device_set_*_consts_*().
wined3d: Remove now redundant error handling from wined3d_device_set_texture_stage_state().
wined3d: Move the fill mode to wined3d_rasterizer_state.
wined3d: Move the cull mode to wined3d_rasterizer_state.
wined3d: Move the depth bias scale to wined3d_rasterizer_state.
qcap/capturegraph: Return BOOL from pin_matches().
qcap/capturegraph: Implement ICaptureGraphBuilder2::FindInterface().
quartz/filesource: Check if the media type is acceptable.
qedit/samplegrabber: Check the filter media type also in sample_grabber_sink_query_accept().
qedit/samplegrabber: Correctly implement sample_grabber_sink_get_media_type().
d3dcompiler: Return a struct source_location from set_location().
d3dcompiler: Pass a struct source_location to hlsl_report_message().
d3dcompiler: Pass a struct source_location to add_func_parameter().
d3dcompiler: Clarify error messages related to misplaced type modifiers.
d3dcompiler: Pass a struct source_location to check_invalid_matrix_modifiers().
d3dcompiler: Pass a struct source_location to create_loop().
qedit: Register the sample grabber and null renderer.
qcap: Reimplement COM registration and vending locally.
winegstreamer: Reimplement COM registration and vending locally.
wineqtdecoder: Reimplement COM registration and vending locally.
strmbase: Remove no longer used DLL registration and vending framework.
setupapi: Implement SetupDiGetSelectedDriver().
setupapi: Implement SetupDiGetDriverInfoDetail().
setupapi: Use the "section" and "description" fields directly in more places.
include: Use public field names for FILE_RENAME_INFORMATION.
kernel32/tests: Add more tests for MoveFile[Ex]().
ntdll/tests: Test renaming a file to the same name.
wined3d: Explicitly zero the whole wined3d_rasterizer_state_desc structure in wined3d_device_apply_stateblock().
wined3d: Move the constant depth bias to wined3d_rasterizer_state.
wined3d: Move the scissor test state to wined3d_rasterizer_state.
wined3d: Move the line antialias state to wined3d_rasterizer_state.
d3d10core/tests: Add a test for color masks.
d3d11/tests: Add a test for color masks.
winebus.sys: Fix reporting axis values for joysticks.
d3d10core/tests: Add a test for independent blend.
d3d11/tests: Add a test for independent blend.
wined3d: Construct the blend state in wined3d_device_apply_stateblock().
wined3d: Move the blend enable state to wined3d_blend_state.
wined3d: Move the source blend state to wined3d_blend_state.
user32: Do not delay-load setupapi.
winegstreamer: Read into an existing buffer if requested.
wineqtdecoder: Fix compilation.
quartz/acmwrapper: Reimplement the ACM wrapper directly on top of strmbase_filter.
quartz/avidec: Reimplement the AVI decoder directly on top of strmbase_filter.
wineqtdecoder: Reimplement the video decoder directly on top of strmbase_filter.
strmbase: Get rid of the base transform.
wine.inf: Manually register qedit.
qedit: Pass an IUnknown pointer to the object creation functions.
quartz: Pass an IUnknown pointer to the object creation functions.
strmbase: Move window.c to quartz.
strmbase: Move video.c to quartz.
quartz: Unregister the video window class on DLL unload.
ntdll/tests: Add tests for linking a file to the same name.
ntdll: Check for an existing file on the server side.
server: Allow renaming a file to the same name.
server: Fix up executable permissions when renaming files.
kernel32: Reimplement MoveFileWithProgress() on top of NtSetInformationFile(FileRenameInformation).
wined3d: Move the destination blend state to wined3d_blend_state.
wined3d: Move the blend operation to wined3d_blend_state.
wined3d: Move the source alpha blend function to wined3d_blend_state.
wined3d: Move the destination alpha blend function to wined3d_blend_state.
wined3d: Move the alpha blend equation to wined3d_blend_state.
d2d1: Support GUID_WICPixelFormat32bppPRGBA.
d3dcompiler: Parse array types.
d3dcompiler: Don't pass a writemask to make_assignment().
d3dcompiler/tests: Add more tests for swizzles.
d3dcompiler: Unwrap swizzles from the left-hand side of an assignment.
d3dcompiler: Separate out an hlsl_deref structure and store it in hlsl_ir_assignment directly.
kernel32: Reimplement ReplaceFile() on top of MoveFileEx().
quartz/tests: Add a test for aggregation on the seeking passthrough object.
strmbase: Standardize aggregation of the seeking passthrough object.
strmbase: Separate the seeking passthrough object from its implementation.
strmbase: Get rid of the PassThruImpl typedef.
strmbase: Use strmbase_passthrough directly in strmbase_renderer.
strmbase: Move the seeking passthrough object to quartz.
quartz: Implement proper DLL refcounting.
wined3d: Implement independent blend.
wined3d: Move the color masks to wined3d_blend_state.
d3dcompiler/tests: Add some tests for d3d9 constant tables.
d3dcompiler/tests: Add a test for SM4 constant buffers.
d3dcompiler: Don't add the default matrix majority attribute to variables.
d3dcompiler: Fail if modifiers are applied to a function.
d3dcompiler: Apply type modifiers to the hlsl_type.
Zhiyi Zhang (25):
wined3d: Introduce wined3d_get_adapter().
wined3d: Introduce wined3d_adapter_get_output_count().
wined3d: Introduce wined3d_adapter_get_output().
d3d8: Enumerate wined3d outputs in d3d8_init().
d3d9: Enumerate wined3d outputs in d3d9_init().
wined3d: Refactor wined3d_enum_adapter_modes() to wined3d_output_get_mode().
wined3d: Refactor wined3d_get_adapter_mode_count() to wined3d_output_get_mode_count().
wined3d: Get output from window in wined3d_swapchain_state_init().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_fullscreen().
wined3d: Introduce wined3d_swapchain_get_output().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_resize_target().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_display_mode().
wined3d: Refactor wined3d_set_adapter_display_mode() to wined3d_output_set_display_mode().
wined3d: Refactor wined3d_get_adapter_display_mode() to wined3d_output_get_display_mode().
wined3d: Refactor wined3d_find_closest_matching_adapter_mode() to wined3d_output_find_closest_matching_mode().
wined3d: Refactor wined3d_get_adapter_raster_status() to wined3d_output_get_raster_status().
wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_format_conversion().
wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_type().
wined3d: Introduce wined3d_output_get_adapter().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_depth_stencil_match().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_device_create().
wined3d: Refactor wined3d_get_adapter_identifier() to wined3d_adapter_get_identifier().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_multisample_type().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_format().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_calculate_format_pitch().
Ziqing Hui (7):
comctl32/tests: Add tests for alpha channel of imagelist.
comctl32/imagelist: Correctly handle alpha channel of 32bpp image.
comctl32/tests: Remove duplicate line in imagelist.c.
comctl32/tests: Change create_test_bitmap() to give it the ability to create more kinds of bitmaps.
comctl32/tests: Add tests for grayscale.
comctl32/tests: Add a 4x4 bitmap for ImageList_DrawIndirect tests.
comctl32/imagelist: Support flag ILS_SATURATE for ImageList_DrawIndirect().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.3 is now available.
What's new in this release (see below for details):
- More work towards Ucrtbase runtime support.
- Full support for Unicode normalization.
- Improvements in Shell Folders handling.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.3 (total 29):
13925 IKEA Home Planner 2010 2D and 3D graphical views show only garbage
18234 Lotus Approach (MDI app): double clicking minimized MDI child windows (icons) results in "About Wine" instead of maximize
22974 "Shell folders" settings are reset after each wine update
34622 Multiple games need DMO Wrapper Filter, 'qasf.dll' (Neocron, Age of empires III Steam, .NET XNA 3.x/4.x games using Media classes) (`winetricks qasf` is a workaround)
37073 Trees not rendered correctly in Far Cry 2 when anti-aliasing enabled
40649 apps (e.g. sysinternals' ADExplorer) that require ActiveDirectory connections/ADsOpenObject fail
42038 Cannot scroll documents being compared in winmerge (Followup to bug 20695)
42764 Proteus direct 3D render problem
43465 Unit Test: ComboBox Dropdown does not work if Style is set and no scrollbar required
43814 Multiple games require IMFSourceReader ReadSample Implementation (Danganronpa V3, Resident Evil 2 1-Shot Demo)
47857 Logos Bible Software (.Net 4.7.2 app) crashes in win8/10 (because IsNormalizedString is just a stub)
47884 msi:action systematically times out on Windows 2003
47992 msi:action tests fail when running them twice
48136 Wine can't be started, log notice: wineboot failed to start wineboot c00000e5
48229 Regression on Automobilista. A lot of cars and tracks are not shown on Game menu
48302 Warhammer Online doesn't render without d3dx9_34
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)
48484 winecfg doesn't allow disabling Desktop Integration for Downloads
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
48569 Infinite drag & drop loop crashes WinSCP
48577 DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY and other enums are the wrong size
48594 AnyDesk crashes directly on startup (low WORD of instance handle must be ignored when looking up window classes)
48646 QQMusicAgent crashes when started after installation
48648 Gothic II Night of the Raven:unhandled exception in Wine 5.2
48657 GdipGetNearestColor crash in Subtitle Edit
48669 iphlpapi.NotifyUnicastIpAddressChange() should call the callback initially if requested (required for Far Cry 5 online mode)
----------------------------------------------------------------
Changes since 5.2:
Akihiro Sagawa (7):
user32/tests: Use wide string literals in wsprintf tests.
user32/tests: Add wsprintfA %C conversion tests.
user32: Fix wsprintfA %C conversion.
shlwapi: Fix wnsprintfA/wvnsprintfA %C conversion.
user32: Add wsprintfW %C tests.
user32: Fix wsprintfW %C conversion.
shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion.
Alex Henrie (3):
iphlpapi/tests: Add tests for GetTcp6Table.
iphlpapi: Implement GetTcp6Table on Linux.
ntdll/tests: Add more tests for RtlIpv6StringToAddress.
Alexandre Julliard (22):
unicode: Move the compatibility decomposition table to ntdll.
unicode: Copy the composition table to ntdll.
libport: Move the composition tables back to libwine and stop updating them.
unicode: Add support for high Unicode planes to the combining class table.
unicode: Add support for high Unicode planes in decomposition tables.
unicode: Add support for high Unicode planes in composition tables.
ntdll: Add support for Hangul Unicode normalization.
unicode: Generate compositions on the fly based on the decomposition table.
unicode: Remove non-starter and compatibility compositions from the table.
unicode: Take into account explicit composition exclusions.
unicode: Use the standard compression function for the casemap table.
wine.inf: Add registry keys for normalization forms.
kernel32/tests: Add more normalization tests.
winedump: Add dumping of normalization NLS files.
unicode: Generate the NLS files for normalization forms.
ntdll: Use external NLS files for Unicode normalization.
kernelbase: Use external NLS files for Unicode composition.
ntdll: Implement RtlIsNormalizedString().
unicode: Remove no longer used normalization tables.
ver: Use the 16-bit resource function in GetFileVersionInfo16().
kernel32/tests: Add some tests for Idn functions.
ntdll: Allow final null in RtlNormalizeString() even if 0 is an invalid character.
Alistair Leslie-Hughes (2):
oledb32: Ensure provider is selected before changing tabs.
dmstyle: IDirectMusicStyle8 GetDefaultBand return S_FALSE.
Anton Baskanov (3):
amstream: Implement AMAudioStream::GetFormat.
amstream: Implement AMAudioStream::SetFormat.
amstream: Reject incompatible media types in AMAudioStream::ReceiveConnection.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include/dxva2api.idl: Add function declarations.
Brendan Shanks (3):
wineboot: Populate BIOS registry keys.
ntdll: Add system family and SKU to generated SMBIOS tables.
wbemprox: Add embedded controller and system BIOS release numbers to Win32_BIOS.
Connor McAdams (1):
d3d10: Introduce an effect buffer variable structure.
Daniel Lehman (4):
include: Fix compile error with C++ winelib.
include: Update wcstok declarations.
tzres: Add Aleutian Time Zone.
wintrust: Set last error in WinVerifyTrust.
Dirk Niggemann (1):
toolhelp: Return correct handle, address, flag and lock values in LocalNext() for moveable blocks.
Dmitry Timoshkov (8):
widl: Generate name for a tagless union.
widl: If a variable doesn't have a name provide an autogenerated one.
activeds.tlb: Add typelib.
ole32: Correct MkParseDisplayName spec entry.
activeds: Implement ReallocADsMem.
activeds: Implement AllocADsStr and FreeADsStr.
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.
Florian Will (5):
gdiplus: Refactor to split up encode_image_wic().
include: Add enums and GUID required for GdipSaveAdd().
gdiplus: Add GdipSaveAddImage() stub.
gdiplus/tests: Add multi-page tiff file saving test.
gdiplus: Implement GdipSaveAddImage() and GdipSaveAdd().
François Gouget (11):
kernel32/tests: Clarify the process's quotes handling comment.
advapi32/tests: Simplify the name of the test unit for child processes.
msvcrt: Add _CRT_INT_MAX to corecrt.h.
msvcrt: Old versions of _vsnprintf() treat the size as a signed int.
shell32/tests: Simplify the name of the test unit for child processes.
msvcrt/tests: Simplify the name of the test unit for child processes.
kernel32/tests: Simplify the name of the test unit for child processes.
kernel32/tests: Avoid a race in test_WaitForJobObject().
kernel32/test: Simplify a couple of calls to 'process exit'.
kernel32/tests: Check if CreateProcess() resets STARTUPINFO/PROCESS_INFORMATION.
gdi32/tests: Remove unnecessary metafile handle traces.
Gabriel Ivăncescu (14):
vbscript: Move the named_item_t definition.
vbscript: Implement separate script dispatch objects for each named item.
vbscript/tests: Add tests for named item script dispatches.
vbscript: Return the dispatch object directly in retval, rather than its value.
jscript: Initialize the script context in SetScriptSite.
jscript: Move the clear_script_queue up to SCRIPTSTATE_INITIALIZED.
jscript: Move the named_item_t definition.
jscript: Lookup the named item using a helper function.
jscript: Implement the SCRIPTITEM_CODEONLY flag.
jscript: Preserve the 'enter_notified' field when an error occurs.
vbscript: Return the item's disp when it does not have the SCRIPTITEM_CODEONLY flag, rather than the script dispatch.
hid: Implement HidP_GetUsageValueArray.
jscript: Reference-count the named items.
vbscript: Don't create script dispatches for items with the SCRIPTITEM_GLOBALMEMBERS flag.
Hans Leidekker (5):
bcrypt: Support retrieving the PaddingSchemes property for RSA.
wbemprox: Implement Win32_PhysicalMemory.FormFactor.
wbemprox: Implement Win32_DesktopMonitor.Name.
wbemprox/tests: Use wide character string literals.
crypt32/tests: Update *.winehq.org certificate.
Jacek Caban (55):
configure: Use -nostartfiles -nodefaultlibs in cross compiler checks.
stdio.h: Add snprintf inline wrapper.
makedep: Define _UCRT in modules that link to ucrtbase.
stdio.h: Add ucrt version of vsnprintf inline wrapper.
include: Add corecrt_wio.h header.
include: Move __acrt_iob_func declaration to corecrt_wstdio.h.
stdio.h: Add ucrt _vsnprintf_s declaration.
stdio.h: Add ucrt _vscprintf declaration.
stdio.h: Add ucrt vsprintf declaration.
stdio.h: Add ucrt vsprintf_s declaration.
stdio.h: Add ucrt _vsprintf_p_l declaration.
stdio.h: Add ucrt vfprintf declaration.
stdio.h: Add ucrt vfprintf_s declaration.
include: Add corecrt_wtime.h file.
include: Include sys/stat.h from wchar.h.
stdio.h: Add ucrt _scprintf declaration.
stdio.h: Add ucrt _snprintf_s declaration.
stdio.h: Add ucrt fprintf and fprintf_s declarations.
stdio.h: Add ucrt printf and vprintf declarations.
stdio.h: Add ucrt printf_s and vprintf_s declarations.
stdio.h: Add ucrt sprintf_s declaration.
stdio.h: Add ucrt fscanf and fscanf_s declarations.
stdio.h: Add ucrt scanf and scanf_s declarations.
stdio.h: Add ucrt sscanf and sscanf_s declarations.
stdio.h: Add ucrt _snscanf_l declaration.
include: Add new corecrt_wctype file.
winegcc: Recognize -rtlib as linker argument.
winegcc: Treat -target argument as an alias to --target for clang compatibility.
winegcc: Clean up output file on error.
corecrt_wstdio.h: Add ucrt _snwprintf, swprintf and _swprintf declarations.
corecrt_wstdio.h: Add ucrt _snwprintf_s and _vsnwprintf_s declarations.
corecrt_wstdio.h: Add ucrt _scwprintf and _vscwprintf declarations.
corecrt_wstdio.h: Add ucrt _vscwprintf_p_l and _vswprintf_p_l declarations.
corecrt_wstdio.h: Add ucrt fwprintf and vfwprintf declarations.
corecrt_wstdio.h: Add ucrt fwprintf_s and vfwprintf_s declarations.
corecrt_wstdio.h: Add ucrt fwscanf and fwscanf_s declarations.
corecrt_wstdio.h: Add ucrt swprintf_s and vswprintf_s declarations.
include: Add corecrt_wstdlib.h header.
corecrt_wstdio.h: Add ucrt swscanf and swscanf_s declarations.
corecrt_wstdio.h: Add ucrt wprintf and vwprintf declarations.
corecrt_wstdio.h: Add ucrt wprintf_s and vwprintf_s declarations.
corecrt_wstdio.h: Add ucrt wscanf and wscanf_s declarations.
include: Add corecrt_wstring.h header.
include: Make time.h compatible with ucrt.
include: Make corecrt_wtime.h compatible with ucrt.
include: Make corecrt_wio.h compatible with ucrt.
include: Make sys/stat.h compatible with ucrt.
winebuild: Check more target components for platform string.
winegcc: Check more target components for platform string.
stdlib.h: Make externs declarations compatible with ucrt.
include: Add corecrt_startup.h header.
msvcrt: Use more public declarations in exe entry points.
winegcc: Fix passing -delayload argument to linker.
winegcc: Don't pass ld command to winebuild when building PE file.
vbscript: Lookup host global object in interp_me instead of storing it in script context.
Jeff Smith (7):
gdiplus: Each pen dash array element must be greater than zero.
gdiplus/tests: Test path widening on capped lines.
gdiplus: Fix LineCapRound path widening.
gdiplus: Fix LineCapTriangle path widening.
gdiplus: Add LineCapSquareAnchor path widening.
gdiplus: Add LineCapRoundAnchor path widening.
gdiplus: Add LineCapDiamondAnchor path widening.
Lauri Kenttä (2):
oledb32: Resize dialog fields to accomodate translations.
po: Update Finnish translation.
Liam Middlebrook (1):
winevulkan: Fix two spelling errors in make_vulkan.
Matteo Bruni (16):
wined3d: Use a bitmask for the {v, p}s_const_f fields in struct wined3d_saved_states.
wined3d: Check the actual device limit in wined3d_stateblock_set_*s_consts_f().
wined3d: Get rid of the contained_*s_consts_* arrays.
maintainers: Drop Józef Kucia.
maintainers: Move d3d10 and d3d10_1 under Direct3D helper libraries.
d3dcompiler: Get rid of now unused BWRITERVS_SWIZZLE_{SHIFT, MASK}.
d3d8: Fix texture stage index checks.
wined3d: Rename struct wined3d_map_range to struct wined3d_range.
wined3d: Optimize scanning changed shader constants in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed transform states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed render states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed texture states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed sampler states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed stream states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed textures in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed clip planes in wined3d_device_apply_stateblock().
Michael Stefaniuc (9):
msxml3/tests: Get rid of a2bstr().
msxml3/tests: Just use a wchar string literal instead of _bstr_().
urlmon/tests: Get rid of strcmp_wa() in misc.c.
urlmon/tests: Get rid of strcmp_wa() in protocol.c.
kernel/tests: Get rid of strcmp_aw() / strlen_aw().
urlmon/tests: Get rid of a2w() in misc.c.
urlmon/tests: Get rid of strcmp_aw() in sec_mgr.c.
urlmon/tests: Get rid of a2w() in sec_mgr.c.
vbscript/tests: Get rid of strcmp_wa().
Nikolay Sivov (32):
mfplat/tests: Use wide string literals.
scrrun/tests: Use wide string literals.
wschom/tests: Use wide string literals.
mfplat: Fix media type compare logic regarding user data.
mferror: Add some more clock error codes.
mf: Implement timer functionality for presentation clock.
mf: Use more descriptive name for one of the impl_from_* helpers.
kernel32/tests: Link to activation context API directly.
mf: Shut down quality manager on session shutdown.
mf: Request another sample from sample grabber in clock-ignoring mode.
oleaut32/tests: Link to activation context API directly.
vcomp/tests: Link to activation context API directly.
kernel32/tests: Link to activation context API directly.
ole32/tests: Link to activation context API directly.
user32/tests: Link to activation context API directly.
mf: Add MFCreateSimpleTypeHandler().
mf/tests: Add some tests for SAR time source.
gdi32/tests: Reduce some tracing noise in font tests.
include: Add more Media Foundation error codes.
mf: Add support for returning slowest/fastest rates for session.
mf: Subscribe for next pipeline object event after processing current one.
mf: Create separate topology object and use it as current.
mf: Use separate list for source streams.
mf: Use generic enum for object states.
mf: Keep a list of output streams.
mf: Query for optional event generator for sinks.
mf: Add support for MESessionCapabilitiesChanged event.
mf: Implement two-step session transition to running state.
mf: Track stream sinks state to maintain session state.
mf: Implement Pause() command for media session.
mf: Allow restarting from paused state.
mf: Implement Stop() command for media session.
Olivier F. R. Dierick (10):
shell32: Move _SHCreateSymbolicLinks() above shell folders lookup functions.
shell32: Add helper functions for XDG directories lookup and resource deallocation.
shell32: Add a helper function to create 'My Stuff' sub dirs in 'My Documents'.
shell32: Add a helper function to create a shell folder from CSIDL and return its unix path.
shell32: Move 'My Documents' symbolic link creation in a separate function.
shell32: Move 'My Stuff' symbolic link creation in a separate generic function.
shell32: Move 'Desktop' symbolic link creation to a separate function.
shell32: Add a function to create one specific symbolic link at a time for user dirs.
shell32: Create user folder symlinks on lookup and only if it's missing.
winecfg: Add Downloads and Templates to shell folders UI interface.
Paul Gofman (9):
ntdll: Fill NumberOfPhysicalPages field in user shared data area.
ntdll: Report rdtsc processor feature if supported.
wined3d: Introduce wined3d_bitmap_is_set().
wined3d: Support AMD alpha to coverage state.
wined3d: Support NVIDIA alpha to coverage state.
d3d9/tests: Test alpha to coverage state capture.
d3d9/tests: Do not use NVIDIA mode in test_alpha_to_coverage() if the reported GPU is AMD.
iphlpapi: Support InitialNotification flag in NotifyUnicastIpAddressChange().
iphlpapi: Return NO_ERROR from NotifyUnicastIpAddressChange() semi-stub.
Piotr Caban (2):
dbghelp: Support 32 and 64-bit binaries in ImageDirectoryEntryToDataEx.
dbghelp: Use RtlImageDirectoryEntryToData in pe_load_msc_debug_info.
Roman Pišl (2):
ole32: Avoid calling QueryContinueDrag recursively.
shell32: Avoid crash on WM_WINDOWPOSCHANGING in BrsFolderDlgProc.
Rémi Bernon (1):
dinput: Increase device buffer size to 1024.
Stefan Dösinger (3):
ddraw/tests: Clear the DXT3 destination surface manually.
ddraw/tests: P8 -> RGB blits are broken on WARP 1709 and newer.
ddraw/tests: WARP returns SURFACELOST when flipping a surface in normal mode.
Sven Baars (8):
gdi32/tests: Add some more GetCharacterPlacement tests.
gdi32: Handle 0 count in GetCharacterPlacementW.
user32: Add EnableNonClientDpiScaling stub.
d3dx9/tests: Add more ID3DXFont_DrawTextW tests.
d3dx9: Reimplement make_pow2() in d3dx9_private.h.
d3dx9: Implement ID3DXFont_PreloadGlyphs.
d3dx9: Implement ID3DXFont_GetGlyphData.
d3dx9: Implement ID3DXFont_PreloadCharacters.
Vijay Kiran Kamuju (1):
include: Update fields of SYSTEM_TIMEOFDAY_INFORMATION.
Vincent Povirk (1):
mscoree: Remove appdomain tracking.
Zebediah Figura (95):
strmbase: Also match a GUID_NULL formattype as a wildcard in source_Connect().
strmbase: Don't check the subtype when determining if a media type is partial.
strmbase: Don't treat GUID_NULL in enumerated types as a wildcard.
d3d9: Make shader validator traces less verbose.
d3d9: Retrieve transform states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTransform() and d3d9_device_MultiplyTransform().
d3d9: Retrieve clip planes from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetClipPlane().
include: Add dmodshow.idl and IDMOWrapperFilter.
include: Add IDMOQualityControl and IDMOVideoOutputOptimizations.
qasf: Add a stub DMO wrapper filter.
qasf/dmowrapper: Add a stub IDMOWrapperFilter interface.
qasf/dmowrapper: Add an initial implementation of IDMOWrapperFilter::Init().
d3d9: Retrieve the material from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetMaterial().
d3d9: Retrieve light state from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetLight() and d3d9_device_LightEnable().
qasf/dmowrapper: Create sink and source pins for each stream.
qasf/dmowrapper: Implement sink connection.
qasf/dmowrapper: Implement source connection.
qasf/tests: Add tests for filter state.
qasf/dmowrapper: Call IMediaObject::Flush() when cleaning up the stream.
d3d9: Use ARRAY_SIZE in d3d9_device_GetStreamSource().
d3d9: Validate the stream index in d3d9_device_SetStreamSource().
wined3d: Remove the no longer used extra stream state.
d3d8: Set the primary stateblock when executing draw calls.
d3d8: Stop setting the device state in d3d8_device_SetIndices().
d3d8: Stop setting the device state in d3d8_device_SetStreamSource().
d3d8: Retrieve the vertex shader from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetVertexShader().
winegstreamer: Decommit the source allocator when cleaning up the stream.
strmbase/renderer: Return S_FALSE when pausing the stream if approprate.
quartz/tests: Add a test for cyclic connections.
quartz/filtergraph: Use IFilterGraph2::ConnectDirect() instead of calling IPin::Connect().
quartz/filtergraph: Maintain a topologically sorted list of filters.
quartz/filtergraph: Don't check for cyclic connections in IFilterGraph2::Connect().
quartz/filtergraph: Iterate over all filters in state change methods.
qasf/dmowrapper: Implement receiving and delivering samples.
qasf/tests: Add tests for IPin::NewSegment().
qasf/dmowrapper: Flush the DMO on receiving EOS.
qasf/dmowrapper: Flush the DMO on IPin::EndFlush().
qasf/dmowrapper: Implement seeking via pass-through.
d3d8: Retrieve vertex shader constants from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetVertexShaderConstant().
d3d8: Retrieve the pixel shader from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetPixelShader().
d3d8: Retrieve pixel shader constants from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetPixelShaderConstant().
d3d8: Retrieve textures from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTexture().
d3d8: Retrieve texture states from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTextureStageState().
mp3dmod: Implement IMediaObject::GetStreamCount().
mp3dmod: Implement IMediaObject::GetInputStreamInfo().
mp3dmod: Implement IMediaObject::GetOutputStreamInfo().
mp3dmod: Implement IMediaObject::GetInputType().
mp3dmod: Implement IMediaObject::SetInputType().
mp3dmod: Implement IMediaObject::GetOutputType().
mp3dmod: Implement IMediaObject::GetInputSizeInfo().
mp3dmod: Implement IMediaObject::GetOutputSizeInfo().
mp3dmod: Verify the format type in IMediaObject::SetOutputType().
d3d8: Retrieve transform states from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTransform() and d3d8_device_MultiplyTransform().
d3d8: Retrieve clip planes from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetClipPlane().
d3d8: Retrieve the material from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetMaterial().
mp3dmod/tests: Test IMediaBuffer reference counting.
mp3dmod: Release a held buffer on destruction.
mp3dmod: Handle a NULL buffer passed to IMediaObject::ProcessOutput().
mp3dmod: Implement IMediaObject::Flush().
mp3dmod: Implement IMediaObject::Discontinuity().
d3d8: Retrieve the viewport from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetViewport().
d3d8: Retrieve light state from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetLight() and d3d8_device_LightEnable().
ddraw: Avoid leaking the primary stateblock.
ddraw: Set the primary stateblock when executing draw calls.
ddraw: Retrieve textures from the primary stateblock.
ddraw: Stop setting the device state when setting textures.
ddraw: Retrieve sampler states from the primary stateblock.
ddraw: Stop setting the device state when setting sampler states.
kernel32/tests: Add more tests for DefineDosDevice().
kernel32: Reimplement DefineDosDevice() on top of NT symbolic links.
winegstreamer: Don't query or set GStreamer duration if the filter is stopped.
winegstreamer: Don't fail seeking methods if we couldn't query duration.
winegstreamer: Defer a seek to pause time if necessary.
winegstreamer: Use nAvgBytesPerSec to determine buffer size only for raw audio formats.
ddraw: Retrieve transform state from the primary stateblock.
ddraw: Stop setting the device state when setting transforms.
ddraw: Retrieve clip planes from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetClipPlane().
d3dcompiler/tests: Rewrite to use a separate d3d9 device for each test.
d3dcompiler/tests: Port some tests to shader model 4.
d3dcompiler/tests: Add a test for the comma operator.
Zhiyi Zhang (3):
dxgi: Check NULL adapter parameter in dxgi_factory_EnumAdapterByLuid().
dxgi: Check NULL output parameter in dxgi_adapter_EnumOutputs().
gdiplus: Fix a possible NULL pointer reference in GdipGetNearestColor().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.2 is now available.
What's new in this release (see below for details):
- More compatible codepage mapping tables.
- Support for using the null display driver as a real driver.
- Better UTF-8 support in the Resource and Message Compilers.
- Fixes for using ucrtbase as C runtime.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.2 (total 22):
14697 OllyDbg 2.x freezes sometimes during processing of debug events (debug events can block completion of queued user APCs)
18159 Lotus Approach (MDI app) has extra caption buttons and Control box
18933 Free PDF to Word Doc converter doesn't work, window empty/hangs on launch (appinstall)
34848 PDF-XChange Viewer 2.5.213 crashes when switching between document tabs
36059 Multiple Steam games fail to install DirectX runtime prerequisite, resulting in repeated install attempt on startup ('xinput1_3.dll' locked by client)
36521 Star Wars rebellion update 1.01 crashes on start (quoted process command line only created with special 'My Documents' folder)
43934 SumatraPDF 3.1.2 has very narrow buttons in its installer
45462 PDF X-Change Viewer (all versions) cannot click dialog box in menu
45481 Spintires: MudRunner crashes at launch
46619 Lineage 2 crashes (godworld.ru private server)
46735 Multiple applications need Direct3DShaderValidatorCreate9() implementation (The Sims 2 demo, Armed Assault)
47018 Multiple applications show transparent bitmap images on static controls with black background (comctl32 lacking support for painting 32-bit BMPv3 with alpha channel)
47718 x86_64-w64-mingw32-strip strip dlls make wine failed start
48122 Arturia MIDI Control Center crashes on unimplemented function ntoskrnl.exe.RtlIsNtDdiVersionAvailable
48392 Multiple applications crash on unimplemented function WS2_32.dll.WSCSetApplicationCategory (Verbum 8, Lineage 2's SmartGuard 3.0)
48408 mixthread monopolizes buffer_list_lock if WaitForSingleObject returns quickly, causing livelock and game freeze
48424 xl-r8r: Crashes right after splash screen (apparently because vga.dll is missing)
48480 dlls/krnl386.exe16 - thunk.c argument logic incorrect for CallProcEx32W16
48489 .Net 4.7+ requires GpFontFamily to be referenced counted instead of cloning.
48541 Affinity Photo trial (1.7.2) crashes:Call from 0x7b00fa3d to unimplemented function mscms.dll.WcsGetDefaultColorProfileSize
48561 Cadence Allegro Professional 16.6 crashes at startup
48571 Firefox 72.0.* crashes on every tab (unless dwrite is disabled)
----------------------------------------------------------------
Changes since 5.1:
Akihiro Sagawa (7):
user32/tests: Add wsprintfA %S conversion tests.
user32: Fix wsprintfA %S conversion.
shlwapi: Fix wnsprintfA/wvnsprintfA %S conversion.
user32/tests: Add wsprintfW %S conversion tests.
user32: Fix wsprintfW %S conversion.
shlwapi: Fix wnsprintfW/wvnsprintfW %S conversion.
gdi32: Fix function names in comments.
Alex Henrie (10):
iphlpapi: Consolidate append_*_row functions.
include: Add remaining MIB_TCP6 types.
iphlpapi: Remove unnecessary memcpy from build_udp6_table.
iphlpapi/tests: Build rotating buffers into ntoa and ntoa6.
ntdll/tests: Add more tests for RtlIpv6StringToAddress.
iphlpapi: Get rid of dummy arguments to sscanf.
include: Add GetIcmpStatisticsEx.
iphlpapi/tests: Print a message when skipping GetUdp6Table tests.
iphlpapi/tests: Don't allow skipping ParseNetworkString tests on Wine.
iphlpapi/tests: Drop workarounds for Windows <= 2000.
Alexandre Julliard (51):
kernelbase: Use RtlNormalizeString() directly in FoldStringW().
libport: Move Unicode normalization implementation to ntdll.
kernel32/tests: Add some NormalizeString() tests.
ntdll: Add parameter checking in RtlNormalizeString().
ntdll: Fix estimated buffer sizes in RtlNormalizeString().
kernelbase: Fix NormalizeString() return value and last error.
unicode: Store variable-length sequences also for the main decomposition table.
unicode: Store recursive decompositions directly in the tables.
unicode: Avoid copying the decomposition data when not necessary.
unicode: Expand surrogates in decomposition tables.
unicode: Move the combining class table to ntdll.
kernel32/tests: Optionally test the entire NormalizationTest.txt file.
wrc: Directly implement UTF-8 conversions.
wmc: Directly implement UTF-8 conversions.
libport: Move wine_fold_string implementation back to libwine and make it obsolete.
libport: Move wine_compare_string implementation back to libwine and make it obsolete.
libport: Move wine_cpsymbol functions back to libwine and make them obsolete.
libport: Move wine_utf8 functions back to libwine and make them obsolete.
libport: Move the digitmap table back to libwine and stop updating it.
libport: Move the collation table back to libwine and stop updating it.
wmc: Reimplement input format detection to correctly handle Unicode BOM.
wmc: Set the output format from the output file name.
wmc: Add trailing newlines to error messages.
wmc: Always output resource strings in Unicode format.
winegcc: Make the WINEBUILD variable take precedence over the bin directory.
wrc: Add a helper function to terminate the resource data.
wrc: Simplify the put_string() helper function.
wrc: Export the convert_string_utf8() helper function.
wrc: Add an option to set the input codepage to UTF-8.
wrc: Avoid converting Unicode strings back to Ansi.
wrc: Set the output format from the output file name.
unicode: Add JIS-0212 mappings to the 20932 (EUC-JP) codepage table.
unicode: Support fetching a zip containining the data files.
unicode: Use codepage files from Microsoft's Open Specification data.
unicode: Remove some codepages that don't exist on Windows.
setupapi: Use wide character string literals.
setupapi: Support a WineSourceDirs section to copy files from the Wine build or data dir.
makefiles: Move l_intl.nls to a new nls directory.
unicode: Generate nls files for the codepage tables.
ntdll: Use external codepage tables for the Unix codepage too.
wrc: Add --nls-dir option.
wmc: Add --nls-dir option.
wrc: Use external NLS files for codepage conversions.
wmc: Use external NLS files for codepage conversions.
libport: Move wine_cp_mbstowcs implementation back to libwine and make it obsolete.
libport: Move wine_cp_wcstombs implementation back to libwine and make it obsolete.
libport: Move the codepage table functions back to libwine and make them obsolete.
libport: Move the codepage tables back to libwine and stop updating them.
ntdll: Don't allow unsupported codepages as Unix codepage.
ntdll: Add script to generate the error mapping list.
ntdll: Add more error mappings.
Alistair Leslie-Hughes (7):
include: Add cdosys.idl.
oledb32: Add page for ODBC connections to datalink dialog.
include: Add X3DAUDIO_CALCULATE_* defines.
include: Add more x3daudio defines.
oledb32: Add Advanced page to datalink dialog.
d3dx9: Implement D3DXCreateKeyframedAnimationSet.
oledb32: Add All page to data Link dialog.
Andrew Eikum (1):
winealsa.drv: Clean up midiOpenSeq.
Andrew Wesie (3):
ntdll: Add NtQueryVirtualMemory(MemoryWorkingSetExInformation).
kernel32: Make QueryWorkingSetEx use MemoryWorkingSetExInformation.
psapi/tests: Test QueryWorkingSetEx.
Aurimas Fišeras (5):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Update winhttp.h.
Brendan Shanks (6):
wbemuuid: Add library.
wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
include: Fix size of DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum.
include: Fix size of tomConstants enum.
include: Fix size of RecordCreateOptionsEnum.
ntoskrnl: Fix emulation of RIP-relative addressing.
Christian Costa (1):
d3dx9: Support D3DFMT_X8L8V8U8 in DDS files.
Daniel Lehman (6):
msvcrt/tests: Add some wcstombs_s_l tests.
msvcrt: Don't set error in wcstombs_s_l if no characters to convert.
msvcrt: Set return value on all paths in wcstombs_s_l.
include: Add some E_* defines.
crypt32: Implement CryptBinaryToStringW(HEXRAW).
tzres: Add Haiti Time Zone.
Derek Lesho (5):
mfplat: Make functionality of GetMediaTypeHandler more clear.
msctf: Always provide a context when from GetBase/Top.
mfplat: Implement IMFByteStream::GetLength() for file streams.
mfplat: Implement IMFByteStream::SetCurrentPosition() for file streams.
mfplat/tests: Add more comprehensive media source tests.
Dirk Niggemann (1):
krnl386.exe: Make CallProcEx32W16 clear CPEX_DEST_CDECL flag before looping over arguments.
Dmitry Timoshkov (18):
comctl32/tests: Add a test for notification messages order in the monthcal control.
comctl32: For multiselect monthcal control send MCN_SELCHANGE notification on WM_LBUTTONDOWN event.
ntdll: Split logic for MemoryBasicInformation into a separate function.
user32/tests: Add some tests for Static/SS_BITMAP control.
comctl32/tests: Add some tests for Static/SS_BITMAP control.
gdiplus: Make GdipGetNearestColor print FIXME only if indexed bitmap is associated with the graphics object.
comctl32: Switch to using a structure for extra storage.
comctl32: Create an internal copy for 32-bpp bitmaps with an alpha channel for Static control.
comctl32/tests: Add more tests for Static/SS_BITMAP control.
gdiplus: Print fixme in GdipGetNearestColor only once.
include: Add adserr.h.
activeds: Implement ADsOpenObject.
activeds: Implement AllocADsMem and FreeADsMem.
kerberos: Add support for SECQOP_WRAP_NO_ENCRYPT to SpSealMessage.
include/iads.idl: Remove duplicate interface definition.
adsldp: Add LDAPNamespace stubs.
adsldp: Add IADsOpenDSObject stubs.
adsldp/tests: Add some tests for LDAPNamespace.
Donna Whisnant (1):
mshtml.idl: Fix duplicated dispinterface functions.
Fabian Maurer (1):
kernel32/tests: Make sure test doesn't depend on previous state.
François Gouget (7):
tests: Don't initialize static variables to 0.
configure: Fix a typo in a comment.
bcrypt: Make format_gnutls_signature() static.
kernel32: Export kernel32's FlushFileBuffers() implementation.
tests: Limit spam from todos, skips and traces when winetest_debug==1.
tests: Restore the colon in the test summary line.
tests: Restore the colon in the todo, skip and trace lines.
Gabriel Ivăncescu (5):
vbscript: Return the named item itself from lookup_named_item.
vbscript: Lookup the named item in compile_script.
vbscript: Fail if we have no context in InvokeEx.
vbscript: Use a helper function to lookup the global functions.
vbscript: Implement the SCRIPTITEM_CODEONLY flag.
Gerald Pfeifer (1):
wldap32: Define a debug channel only when we are using it.
Giovanni Mascellani (1):
d2d1: Trim rasterization area when drawing Bézier curves.
Hans Leidekker (2):
bcrypt: Support BCRYPT_HASH_REUSABLE_FLAG in BCryptOpenAlgorithmProvider.
winhttp/tests: Use wide character string literals.
Henri Verbeet (1):
wined3d: Properly validate the stage index in wined3d_stateblock_set_texture_stage_state() (Coverity).
Hermès Bélusca-Maïto (1):
atl: Fix the ATL_WNDCLASSINFOW::m_szAutoName member definition and construction.
Ilia Mirkin (2):
crypt32: Also check CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG.
crypt32/tests: Additional test for skipping unknown CAs.
Jacek Caban (43):
jscript: Propagate Invoke error code using jsexcept_t.
jscript: Store error location in jsexcept_t.
jscript: Support propagating error message.
jscript: Delay error object creation for builtin errors with message string until it's needed.
jscript: Propagate parser error location.
jscript: Propagate compiler error location.
jscript: Return error source and description from GetExceptionInfo.
jscript: Add GetSourcePosition implementation.
vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
vbscript: Add SetScriptState(SCRIPTSTATE_CLOSED) implementation.
vbscript: Silence QueryInterface FIXME.
wscript/tests: Get rid of strcmp_wa.
wscript/tests: Get rid of mystrchr.
ole32: Silence noisy ERRs.
guiddef.h: Remove GUID_NULL declaration.
widl: Check dispinterfaces for duplicated methods.
jscript: Add GetSourceLineText implementation.
mshtml/tests: Get rid of is_prefix_wa.
guiddef.h: Improve __uuidof implementation.
atl: Allow only ASCII digit for registrar binary values.
crypt32: Allow only ASCII digits in CRYPT_AsnEncodeNumericString.
propsys: Allow only ASCII digits in PSPropertyKeyFromString.
quartz: Fix hex digit checks in process_pattern_string.
setupapi: Fix hex digit check in SetupGetBinaryField.
wbemprox: Fix checking for digit characters.
winhttp: Fix digit character check in parse_port.
webservices: Fix digit character checks.
quartz: Remove unused functions.
oleaut32/tests: Use Unicode strings for file names.
oleaut32/tests: Add test of reference typelib caching.
oleaut32: Move TKIND_DISPATCH logic to ITypeInfoImpl_GetInternalFuncDesc.
oleaut32: Return missing function custom data as VT_EMPTY.
oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in a few more places.
makedep: Use -mno-cygwin for linking modules with no sources.
user32: Allow using null driver as a normal graphics driver.
tchar.h: Fix some macros.
corecrt_wstdio.h: Add new file and use it instead of duplicating declarations in stdio.h and wchar.h.
makedep: Use msvcrt headers for objects inside importlibs.
user32: Initialize module handle to NULL for null driver.
stdio.h: Provide sprintf and _snprintf as inline wrappers.
corecrt_stdio_config.h: Add new header file.
include: Move NULL define to corecrt.h.
ucrtbase: Use public headers for _vsnprintf implementation.
Jacek Konieczny (2):
winealsa.drv: Allow external MIDI port connection changes.
winealsa.drv: Send MIDI events to port subscribers.
Jeff Smith (2):
gdiplus: Fix calculation for 32-bit PARGB to ARGB conversion.
gdiplus: Round up when converting from 32-bit ARGB to PARGB.
Julian Rüger (1):
po: Update German translation.
Kevin Puetz (14):
oleaut32: Use GetFinalPathNameByHandle to canonicalize file path.
atlbase.h: Fix some declarations on win64.
objbase.h: Add COWAIT_DEFAULT declaration.
mshtml.idl: Fix IHTMLComputedStyle declaration.
ntdll: Allow NULL lpAssemblyDirectoryName in find_actctx_dll.
kernelbase: Allow NULL lpAssemblyDirectoryName in find_actctx_dllpath.
oleaut32: Search cache for requested typeinfo in GetRefTypeInfo.
oleaut32: Fix handling resource IDs in paths when registering typelib helpdir.
oleaut32: Return function description as TLBFuncDesc from ITypeInfoImpl_GetInternalDispatchFuncDesc.
oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in ITypeInfo2_fnGetFuncCustData.
include: Introduce WINE_UNICODE_CHAR16 that allows using char16_t as Windows WCHAR.
basetyps.h: Don't typedef wchar_t for C++.
tchar.h: Allow using header without msvcrt.
wtypes.idl: Support OLESTR macro with non-native wchar_t.
Lauri Kenttä (1):
po: Update Finnish translation.
Liam Middlebrook (1):
winevulkan: Handle bitmask pointers for spec generation.
Louis Lenders (1):
vga: Add stub dll.
Marcus Meissner (2):
mshtml: Use ARRAY_SIZE instead of sizeof in MultiByteToWideChar.
ieframe: Use ARRAY_SIZE for GetLongPathNameW.
Matteo Bruni (2):
d3dcompiler: Free variable definitions data on allocation errors.
d3dcompiler/tests: Make test_reflection_constant_buffer() work on d3d10.
Michael Müller (1):
setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.
Michael Stefaniuc (29):
bcrypt/tests: Get rid of strcmp_wa().
itss/tests: Get rid of a2w() and strcmp_wa().
propsys/tests: Get rid of strcmp_wa().
oleaut32/tests: Get rid of strcmp_wa().
shlwapi/tests: Get rid of strcmp_wa().
winhttp/tests: Get rid of strcmp_wa().
winmm/tests: Get rid of strcmp_wa().
inetcomm/tests: Get rid of strcmp_wa().
inetcomm/tests: Get rid of a2w().
ieframe/tests: Get rid of a2bstr() in ie.c.
mshtml/tests: Get rid of strcmp_wa() in script.c.
ieframe/tests: Get rid of a2bstr() and strcmp_wa().
msscript.ocx/tests: Get rid of a2bstr().
mshtml/tests: Get rid of a2bstr() in script.c.
mshtml/tests: Get rid of strcmp_wa() in htmldoc.c.
mshtml/tests: Get rid of a2bstr() in htmldoc.c.
mshtml/tests: Get rid of wstr_contains().
mshtml/tests: Get rid of strcmp_wa() in activex.c.
mshtml/tests: Get rid of a2bstr() in activex.c.
mshtml/tests: Avoid a2bstr() on string literals in dom.c.
mshtml/tests: Get rid of a2bstr() in dom.c.
mshtml/tests: Get rid of a2bstr() in events.c.
mshtml/tests: Get rid of strcmp_wa() in events.c.
mshtml/tests: Get rid of strcmp_wa() in xmlhttprequest.c.
mshtml/tests: Get rid of a2bstr() in xmlhttprequest.c.
dmime/tests: Move some ok() calls to make it clear what is being tested.
dmime: Split out the perf default port creation.
dmime: Create a port in the perf CreateStandardAudioPath().
dmime: Implement IDirectMusicPerformance8_PChannelInfo().
Nikolay Sivov (49):
shdocvw: Forward WhichPlatform() to shlwapi.
shlwapi: Use public definitions for WhichPlatform().
shlwapi: Fix SHGetViewStatePropertyBag() prototype.
shlwapi: Fix spec entries for SHFormatDateTime().
shlwapi: Add header entries for SHIsLowMemoryMachine().
include: Add some newer Edit messages.
ole32/tests: Add some tests for MonikerCommonPrefixWith().
ole32/tests: Use helper to test display names.
dwrite: Fix potential strings object leak (Coverity).
dwrite: Do not create intermediate object to return face reference from family.
dwrite: Implement GetFontFaceReference() for fontfaces.
dwrite: Return static axis values for weight/width/italic properties.
rtworkq: Add a stub dll.
rtworkq: Add RtwqCreateAsyncResult().
rtworkq: Add RtwqStartup()/RtwqShutdown().
rtworkq: Add RtwqPutWaitingWorkItem().
rtworkq: Add RtwqCancelWorkItem().
rtworkq: Add RtwqScheduleWorkItem().
rtworkq: Add periodic callbacks.
rtworkq: Add RtwqAllocateWorkQueue().
mfplat: Forward async queue functionality to rtworkq.
gdi32: Retry with hinting disabled if glyph load failed in hinted mode.
rtworkq: Add RtwqSetLongRunning().
rtworkq: Add partial implementation of RtwqLockSharedWorkQueue().
rtworkq: Add deadline management stubs.
xmllite/tests: Get rid of strcmp_wa().
shell32/tests: Get rid of strcmp_wa().
shell32/tests: Fix some compiler warnings on sprintf() buffer sizes.
include: Add the rest of async callback flags.
rtworkq: Use IUnknown wrapper for work item management.
rtworkq: Store item priority and callback flags.
rtworkq: Add a structure for queue initialization parameters.
rtworkq: Initialize queue with specific set of functionality.
rtworkq: Add support for serial work queues.
mfplat: Add MFAllocateSerialWorkQueue() export.
dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
crypt32/tests: Detect missing HEXRAW support by output.
crypt32: Fix CryptBinaryToStringW() to return required length properly.
api-ms: Update EnumDisplayDevicesW() entries.
ntdll: Add threadpool stack information exports.
kernel32: Add threadpool stack information exports.
kernel32: Add StartThreadpoolIo() stub.
ole32: Implement MTA pinning with CoIncrementMTAUsage()/CoDecrementMTAUsage().
dwrite/tests: Use wide string literals for some tests.
ole32: Fix CoGetApartmentType() return value for implicit MTA case.
rtworkq: Initialize MTA on startup.
mfplat/tests: Add some tests for COM initialization in work queues threads.
wincodecs: Return WINCODEC_ERR_PALETTEUNAVAILABLE for jpeg decoder frame.
ntdll: Add missing spec file entry for TpStartAsyncIoOperation().
Paul Gofman (1):
kernel32: Add semi-stub for LoadPackagedLibrary().
Piotr Caban (2):
msvcp90: Don't pass NULL as reference in runtime_error and logic_error constructors.
ucrtbase: Added stub for _get_FMA3_enable.
Rémi Bernon (26):
server: Improve APC error handling when alloc_handle fails.
server: Use STATUS_KERNEL_APC to indicate system APCs.
ntdll: Reorder code to make the select logic clearer.
ntdll: Use the status to tell user APC from system APC.
ntdll: Handle system APCs in a separate inner loop.
ntdll: Process system APCs while the signals are blocked.
wpp: Do not pass NULL %s to fprintf.
advapi32/tests: Fix some format-overflow warnings.
advpack/tests: Fix some format-overflow warnings.
fusion/tests: Fix some format-overflow warnings.
kernel32/tests: Fix some format-overflow warnings.
setupapi/tests: Fix some format-overflow warnings.
shell32/tests: Fix some format-overflow warnings.
user32/tests: Fix some format-overflow warnings.
version/tests: Fix some format-overflow warnings.
services/tests: Fix some format-overflow warnings.
msvcrt/tests: Fix some format-overflow warnings.
ntdll/tests: Fix some format-overflow warnings.
hid/tests: Call CancelIo before closing device.
hid: Add HidP_GetLinkCollectionNodes stub.
hid/tests: Add tests for HidP_GetLinkCollectionNodes.
hid: Implement HidP_GetLinkCollectionNodes.
mscoree/tests: Fix some format-overflow warnings.
configure: Re-enable warnings disabled with Wno-format.
server: Validate status in continue_debug_event.
msi/tests: Fix some format-overflow warnings.
Stefan Dösinger (1):
ddraw/test: Completely disable the refcount stealing GetClipper call.
Sven Baars (2):
wined3d: Avoid accessing freed memory in wined3d_view_gl_destroy() (Valgrind).
ddraw/tests: Reverse cleanup order in test_coop_level_threaded().
Vijay Kiran Kamuju (1):
ws2_32: Add stub for WSCSetApplicationCategory.
Zebediah Figura (81):
dsound: Use an SRW lock for buffer_list_lock.
dsound: Use an SRW lock for the buffer lock.
quartz/tests: Add tests for IFilterGraph::Reconnect().
quartz/filtergraph: Implement IFilterGraph2::ReconnectEx().
quartz/tests: Use BaseOutputPinImpl_AttemptConnection().
quartz/tests: Add some tests for file source pin connection.
quartz/filesource: Accept any non-null subtype.
quartz/tests: Add tests for AVI splitter pin connection.
quartz/tests: Improve tests for AVI splitter filter state.
quartz/tests: Add tests for MPEG splitter pin connection.
qedit/tests: Add some tests for sample grabber pin connection.
qcap/tests: Add some more tests for smart tee pin connection.
strmbase: Rename the "pFuncsTable" member of struct strmbase_pin to "ops".
strmbase: Clean up source_Connect().
strmbase: Access our own media types directly in source_Connect().
strmbase: Simplify CompareMediaTypes().
strmbase: Check if the pin is already connected in source_Connect().
ddraw: Apply the device state before executing a draw call.
ddraw: Stop setting the device state in d3d_device7_SetRenderState().
ddraw: Stop setting the device state when setting some default render states.
wined3d: Fix the spelling of a comment.
d3d9: Set the primary stateblock when executing draw calls.
d3d9: Stop setting the device state in d3d9_device_SetStreamSource().
d3d9: Stop setting the device state in d3d9_device_SetIndices().
d3d9: Retrieve stream frequency state from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetStreamSourceFreq().
wined3d: Implement casting int to uint.
strmbase: Always return VFW_E_TYPE_NOT_ACCEPTED if the pin_query_accept() callback fails.
qedit/samplegrabber: Use BaseOutputPinImpl_AttemptConnection().
qedit/samplegrabber: Initialize the media type filter to use wild cards instead of "None" types.
qedit/samplegrabber: Rename the "mtype" field to "filter_mt".
qedit/samplegrabber: Use strmbase media type helpers.
d3d9: Reset the viewport and scissor rect for extended devices in d3d9_device_reset().
d3d9: Stop setting the device state in d3d9_device_SetViewport().
d3d9: Stop setting the device state in d3d9_device_SetScissorRect().
d3d9: Retrieve the vertex declaration from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetVertexDeclaration().
d3d9: Stop setting the device state in d3d9_device_SetFVF().
qedit/samplegrabber: Don't overwrite the filter media type in sample_grabber_sink_connect().
qedit/samplegrabber: Implement sample_grabber_source_query_accept().
qedit/samplegrabber: Correctly implement sample_grabber_source_get_media_type().
qedit/samplegrabber: Don't verify the format block in sample_grabber_sink_connect().
qedit/samplegrabber: Reconnect the sink pin if necessary.
d3d9: Retrieve the vertex shader from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetVertexShader().
d3d9: Retrieve the pixel shader from the primary stateblock.
d3d9: Return a stub interface from Direct3DShaderValidatorCreate9().
setupapi/tests: Add some tests for COM self-registration.
setupapi: Initialize COM if necessary when registering DLLs.
devenum: Remove no longer necessary call to CoInitialize().
quartz: Remove no longer necessary call to CoInitialize().
strmbase: Remove no longer necessary call to CoInitialize().
winecrt0: Make __wine_(un)register_resources() cdecl.
quartz/tests: Add some tests for IBasicVideo::GetCurrentImage().
quartz/vmr9: Reimplement VMR9_GetStaticImage().
quartz/videorenderer: Clean up VideoRenderer_GetStaticImage().
quartz/videorenderer: Track the current sample locally.
strmbase: Get rid of current sample tracking.
d3dcompiler: Store the swizzle unshifted.
d3dcompiler: Dump flattened IR more accurately.
d3dcompiler: Use wine_dbg_printf() to dump HLSL IR.
d3dcompiler: Dump loops.
d3d9: Retrieve vertex shader constants from the primary stateblock.
d3d9: Stop setting the device state when setting vertex shader constants.
d3d9: Stop setting the device state in d3d9_device_SetPixelShader().
d3d9: Retrieve pixel shader constants from the primary stateblock.
d3d9: Stop setting the device state when setting pixel shader constants.
quartz/vmr9: Fix copying from the d3d9 surface if the pitch doesn't match the width.
d3d9: Retrieve textures from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTexture().
d3d9: Retrieve sampler states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetSamplerState().
d3d9: Retrieve texture states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTextureStageState().
d3dcompiler: Return an instruction list instead of a single instruction from nodes representing expressions.
d3dcompiler: Handle loops in free_instr().
d3dcompiler: Parse the comma operator.
d3dcompiler: Get rid of the unused "subexpressions" field of struct hlsl_ir_expr.
quartz/filesource: Zero-initialize the file source filter.
winegstreamer: Read samples synchronously in push_data().
winegstreamer: Negotiate allocators per source pin.
Zhiyi Zhang (13):
setupapi: Implement SetupDiOpenDeviceInterfaceRegKey().
user32/tests: Add more ChangeDisplaySettings tests.
user32/tests: Add more EnumDisplaySettings tests.
wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
d3d8/tests: Add multiple adapters tests.
d3d9/tests: Add multiple adapters tests.
dxgi/tests: Add multiple adapters tests.
user32: Move ChangeDisplaySettingsExW() common code to user32.
user32: Trace more ChangeDisplaySettingsExW() flags.
user32: Fix ChangeDisplaySettingsExW() minimum size check.
winex11.drv: Calculate mask in X11DRV_resize_desktop().
user32: Handle NULL device parameter in EnumDisplaySettingsExW().
user32: Handle NULL device and not NULL mode parameters in ChangeDisplaySettingsExW().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.1 is now available.
What's new in this release (see below for details):
- Support for using LLVM-MinGW as PE cross-compiler.
- Better reporting of error location in JScript and VBScript.
- Support for relocatable installation of the Winelib tools.
- Ellipse drawing in Direct2D.
- OLE monikers improvements.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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.1 (total 32):
21702 Continuum 0.40 crashes at start up screen
22006 Multiple applications require support for thread and process security descriptors (Continuum 0.40, Acrobat Reader DC 2015)
23261 Industry Giant 2 demo crashes with DDERR_UNSUPPORTEDMODE message
28059 3DAnalyzer: Hangs when selecting certain exe's
33159 Loading a .dll without relocations fails under Mac OS X (needs preloader)
35351 Allow configuring modifier key mapping
36813 wineconsole: no text without winetricks corefonts
39229 Dragon Age Inquisition crashes
40013 MSYS2 based "Git for Windows" 2.7 fails to install due to 'rebase.exe' tool crashing or hanging in post-install steps
40482 Support set title in start, needed by latest MSYS2
42249 Speccy v1.30 installer crashes (registry SID profile data in 'ProfileList' must contain 'ProfileImagePath' key value)
42554 The Magic School Bus Explores The Solar System crashes while loading
43499 The Legend of Heroes: Trails of Cold Steel - Graphical glitches
43505 Star Wars: Starfighter - screen out of monitor borders
43514 Beamng.drive: wrong sunshine reflection
44618 MindManager Pro v7.0: MSI installer complains "CustomAction unhandled action type 7"
44917 Unable to run DTS MAster Audio Suite Encoder
45049 Multiple programs need d2d1 CreateRoundedRectangleGeometry (playchessV7, Paint.Net 4.*)
45148 Overwatch: left control, left shift keybindings don't work
45501 Darksiders - Slow player movement with builtin d3dx9_42
45742 Sniper Elite V2 has no sound
45847 Warframe installer update/download gets stuck due to corruption on large files in 'Bulk Download' mode (tries over and over again)
45879 Aruba Key crashes on unimplemented function setupapi.dll.CM_Request_Device_EjectA when clicking 'remove' button
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)
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
48064 qmgr:job started failing on XP on Sep 09
48150 ddraw:ddraw{2,4} show new test failures
48313 Sysinternals CpuStres crashes on unimplemented function kernel32.dll.GetThreadIdealProcessorEx
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)."
48491 _searchenv & co do not understand quoted directories
----------------------------------------------------------------
Changes since 5.0:
Alexandre Julliard (33):
configure: Allow out-of-tree builds from an unclean source tree.
rundll32: Add wrapper to call entry point on i386.
winedump: Add dumping of case mapping NLS files.
winedump: Add dumping of codepage NLS files.
wmc: Get rid of some unused codepage information.
unicode: Use existing helpers to build the l_intl.nls file.
unicode: Remove case mappings that don't round-trip.
unicode: Use existing helpers to build the sortkeys table.
unicode: Specify a bit width instead of a format when dumping arrays.
msvcrt: Fetch locale codepage directly as an integer.
adsldp/tests: Get rid of strchrW().
crypt32/tests: Get rid of strncmpW().
devenum/tests: Get rid of strchrW() and strncmpW().
mapi32/tests: Get rid of strcmpW().
mlang/tests: Get rid of strstrW().
mscoree/tests: Get rid of strrchrW().
mshtml/tests: Get rid of strstrW().
oleaut32/tests: Get rid of strcmpW().
oledlg/test: Get rid of strstrW().
shell32/tests: Get rid of strcmpW().
shlwapi/tests: Get rid of strcmpW().
user32/tests: Get rid of strncmpW() and strcpyW().
sfnt2fon: Directly store the codepage tables for the few encodings we need.
unicode: Use a standard two-level mapping table for the digit map.
unicode: Use a standard two-level mapping table for the mirror map.
unicode: Use a standard two-level mapping table for the sortkeys map.
unicode: Try harder to reuse subsequences when compressing data arrays.
libwine: Make some functions obsolete.
libwine: Make the debug functions obsolete.
libwine: Make some loader functions obsolete.
wrc: Also search the include dir relative to the binary path.
widl: Also search the include dir relative to the binary path.
winegcc: Also search the include and lib dirs relative to the binary path.
Alistair Leslie-Hughes (9):
dmime: IDirectMusicPerformance8_FreePMsg Release the unknown pointer.
include: Add directmanipulation.idl.
include: Add _Inout_updates_bytes_opt_ define.
include: Add remaining DBPROPSET_* GUID's.
include: Add enum DBPROPFLAGSENUM.
msado15: Implement _Recordset get_CursorLocation and put_CursorLocation.
msado15: Implement _Connection get/put ConnectionString.
d3dx9/tests: Add some tests for ID3DXFont_DrawText().
include: Add xact3wb.h.
Andrew Eikum (6):
winebus.sys: Don't return too early if SDL initialization succeeds.
dinput: Fix V/A/FSlider dwOfs values in c_dfDIJoystick2.
dinput: Add missing ASPECT flags for c_dfDIJoystick2.
dinput: Add missing ASPECT flags to c_dfDIJoystick.
xinput: Implement XInputGetKeystroke.
dxgi/tests: Test the fullscreen state after the swapchain window is destroyed.
Biswapriyo Nath (2):
include: Update dxva2api.idl.
include: Update thumbcache.idl file.
Brendan Shanks (2):
user32: Pack messages sent with SendNotifyMessage().
user32: Support SetWindowPos() SWP_ASYNCWINDOWPOS flag.
Charles Davis (5):
msvcrt: Implement _ispunct_l().
msvcrt: Correct return value of ___mb_cur_max_l_func().
setupapi: Implement CM_Get_DevNode_Property[_Ex]W().
msvcrt: Fix the btowc() function.
gdi32: Add D3DKMTSetQueuedLimit() stub.
Daniel Lehman (3):
msxml3/tests: Fix copy & paste in traces.
vcruntime140_1: Add stub dll.
ucrtbase: Use given context in wcstok.
Dmitry Timoshkov (6):
gdiplus: If the font unit is not pixels scaling should not be applied.
gdiplus: GdipCreateBitmapFromHBITMAP should use palette from the GDI bitmap.
gdiplus: Reimplement GdipCreateBitmapFromGdiDib by using GdipCreateBitmapFromHBITMAP.
gdiplus/tests: Add more tests for GdipCreateBitmapFromHBITMAP and palette images.
gdiplus/tests: Add tests for FontFamily object management.
gdiplus: Create FontFamily objects only once for the FontCollection.
Evan Tang (1):
kernel32/lzexpand: Fix uninitialized read in read_header.
Fabian Maurer (1):
find/tests: Add tests for file based search.
François Gouget (1):
advapi32/tests: Avoid failure when GetServiceKeyName() gets a smart quote.
Gabriel Ivăncescu (1):
comctl32/datetime: Simplify last digits calculation.
Gerald Pfeifer (2):
winedump: Add a default case to numeric_leaf().
msi: Properly declare variables in msi/tests/utils.h as extern.
Giovanni Mascellani (9):
d2d1: Fix miter drawing for degenerated rectangles.
d2d1: Implement rounded rectangle drawing.
d2d1: Implement ellipse drawing.
d2d1/tests: Add tests for rounded rectangle drawing.
d2d1/tests: Add geometry filling tests.
d2d1/tests: Check that hollow figures are not filled.
d2d1: Do not fill hollow figures.
d2d1/tests: Test that hollow figures do not impact geometry bounds.
d2d1: Ensure that hollow figures do not impact geometry bounds.
Hans Leidekker (1):
msi: Add support for custom action type 7.
Henri Verbeet (9):
wined3d: Create Vulkan buffers.
wined3d: Store a gl_info pointer in struct shader_glsl_ctx_priv.
wined3d: Store a gl_info pointer in struct shader_arb_ctx_priv.
wined3d: Get gl_info from the context in wined3d_device_create_primary_opengl_context_cs().
wined3d: Implement mapping Vulkan buffers.
d3d9/tests: Introduce adapter_is_amd().
wined3d: Get rid of the "DirectDrawRenderer" setting.
d2d1: Pass previous and next vectors to d2d_geometry_outline_add_join().
d2d1: Rename d2d_ellipse_geometry_GetRoundedRect() to d2d_ellipse_geometry_GetEllipse().
Jacek Caban (56):
vbscript/tests: Add error position tests.
vbscript: Alloc vbscode_t before parsing the script.
vbscript: Store source location in statement_t.
vbscript: Store source location in instr_t.
vbscript: Store source cookie and starting line in vbscode_t.
vbscript: Use parser_error to set unhandled parser error.
vbscript: Simplify option explicit parsing.
vbscript: Pass parser error location to compiler.
vbscript: Support reporting error location to script host.
jscript: Use parser location to calculate function body string.
jscript: Always set parser error code on error.
jscript: Store source location in statement_t.
include: Add wWinMain declaration.
makedep: Link importlib object files into module only when it's explicitly imported.
winegcc: Add support for -Wl,--entry argument.
msvcrt: Provide EXE entry points in importlib.
winegcc: Use Wine crt when linking builtin EXEs.
ddraw/tests: Don't use log2f to avoid mingwex dependency.
jscript: Introduce jsstr_to_bstr helper.
jscript: Store source position in instr_t.
jscript/tests: Add more error reporting tests.
jscript/tests: Add more script enter notification tests.
msvcrt: Provide exp2f in importlib.
winegcc: Use Wine crt when linking to msvcrt.
vbscript: Overflow hex literals in 16-bit range.
vbscript: Fix VT_UNKNOWN handling in set statements.
vbscript: Fix VT_UNKNOWN handling in is expressions.
scrrun: Add MoveFile implementation.
mshtml/tests: Get rid of strstr_wa.
msvcrt/tests: Avoid using msvcrt.h header.
include: Use dllimport attribute for string.h functions.
jscript: Use internal jsdisp calls only within the same script context.
jscript: Store source context and starting line in bytecode_t.
jscript: Support DISP_E_EXCEPTION InvokeEx result.
jscript: Use separated jsexcept_t instance for each external call.
jscript: Store separated flag indicating if current exception value is valid.
jscript: Store error code in jsexcept_t.
jscript: Use enter_script and leave_script to call script site notifications.
jscript: Add IActiveScriptError implementation.
vbscript: Allow assignment left expression to be member expression.
vbscript: Allow any call expression to be used in set statement.
rpcrt4: Use MustFree for all non-base types in get_param_pointer_info.
mshtml/tests: Get rid of a2bstr from style.c.
mshtml/tests: Get rid of wstr_contains.
mshtml/tests: Get rid of strcmp_wa from style.c.
jscript: Suport generic error object for exception with no associated JavaScript exception value.
jscript: Factor out format_error_message implementation.
jscript: Directly return error code instead of using throw_generic_error.
jscript: Directly return error code instead of using throw_range_error.
jscript: Directly return error code instead of using throw_reference_error.
jscript: Directly return error code instead of using throw_regexp_error.
jscript: Directly return error code instead of using throw_uri_error.
jscript: Directly return error code instead of using throw_syntax_error.
jscript: Directly return error code instead of using throw_type_error in date.c.
jscript: Directly return error code instead of using throw_type_error where possible.
mshtml/tests: Get rid of strcmp_wa from dom.c.
Jeff Smith (5):
gdiplus/tests: Add another GdipGetPathGradientCenterPoint test.
gdiplus: Calculate centroid of path as default center of path gradient.
d3drm/tests: Add some viewport projection type tests.
d3drm: Return D3DRMERR_BADOBJECT from d3drm_viewport2_SetProjection() for uninitialised viewports.
d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports.
Kevin Puetz (1):
rpcrt4: Fix ITypeInfo leak in get_iface_info.
Liam Middlebrook (2):
winevulkan: Support functions with basic_c return types.
winevulkan: Update to VK spec version 1.1.130.
Louis Lenders (1):
ntoskrnl.exe: Add stub for RtlIsNtDdiVersionAvailable.
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 Stefaniuc (14):
dmloader: Use wide-char string literals.
dmusic: Use wide-char string literals.
dmstyle: Partially implement Audition track GetParam/SetParam methods.
dmstyle: Partially implement Chord track GetParam/SetParam methods.
dmstyle: Partially implement Command track GetParam/SetParam methods.
dmstyle: Partially implement Motif track GetParam/SetParam methods.
dmstyle: Partially implement Mute track GetParam/SetParam methods.
dmstyle: Partially implement Style track GetParam/SetParam methods.
dmstyle/tests: Add GetParam/SetParam tests for unsupported types.
dmsynth: Avoid the LPDIRECTMUSICSYNTHSINK type.
dmsynth: Avoid the LPDIRECTMUSICSYNTH8 type.
dmcompos: Partially implement Chord Map track GetParam/SetParam methods.
dmscript: Implement the Script track GetParam/SetParam methods.
dmime: Get rid of the DMUSIC_PRIVATE_PCHANNEL typedef.
Nikolay Sivov (63):
ole32: Fix bind speed used in BindToObject() of item moniker.
ole32: Fix bind speed used in ParseDisplayName() for item moniker.
mshtml: Implement IHTMLScriptElement::get_htmlFor().
mshtml: Implement IHTMLWindow7::get_pageXOffset/pageYOffset.
ole32: Handle GetObject() failure in ParseDisplayName() for item moniker.
ole32: Pass correct display name in ParseDisplayName() for item moniker.
ole32: Lock item container on ParseDisplayName().
ole32: Lock item container on BindToObject().
ole32: Fix IsEqual() for item moniker.
dwrite: Add a helper specifically for TryGetFontTable().
dwrite: Evaluate IsSymbolFont() flag at font level.
dwrite: Evaluate IsMonospacedFont() flag at font level.
dwrite: Evaluate IsColorFont() flag at font level.
dwrite: Update for newer font string names.
dwrite: Implement GetFaceNames() for fontfaces.
dwrite: Implement GetFamilyNames() for fontfaces.
dwrite: Access font data directly at font level for GetInformationalStrings().
dwrite: Implement GetInformationalStrings() for fontfaces.
dwrite: Enable DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME for GetInformationalStrings().
ole32: Add support for non-default counter for anti moniker.
ole32: Fix IsEqual() for antimoniker.
ole32: Fix comparison data for antimoniker.
ole32: Fix CommonPrefixWith() for antimoniker, when other is also antimoniker.
mf: Simplify clock notification handling.
dwrite: Add support for dlng/slng metadata.
dwrite: Implement IDWriteFont::Equals().
dwrite/tests: Add a test for creating system collection with explicit family model.
dwrite: Do not create fontface instance for GetUnicodeRanges().
ole32: Add support for writing VT_BSTR properties.
ole32: Check buffer bounds when reading storage properties.
ole32: Add partial support for reading VT_VECTOR properties.
ole32: Validate offsets when reading storage dictionary.
ole32: Fix string buffer size.
wineboot: Do not use SHGetMalloc() internally.
shell32: Do not use SHGetMalloc() internally.
ole32: Fix equality check in CommonPrefixWith() for pointer moniker.
ole32/tests: Test default item moniker instance.
ole32: Remove some internal helpers for item moniker.
ole32: Fix IsRunning() for item moniker.
ole32: Lock item container on BindToStorage().
ucrtbase: Add _query_new_handler() and _query_new_mode().
user32: Improve window state handling in SetScrollInfo().
mfplat: Add MFCreateTransformActivate().
mfplat: Add support for local MFT registration.
ole32: Implement custom marshalling for pointer monikers.
ole32/tests: Add some ComposeWith() tests with antimoniker at the right side.
ole32: Add a helper to create antimoniker of specific order.
ole32: Fix (pointer moniker + antimoniker) composing.
ole32: Fix (item moniker + antimoniker) composing.
ole32: Fix (file moniker + antimoniker) composing.
ole32: Get rid of redundant pointer check.
ole32: Enumeration is not supported for pointer monikers.
ole32: Get rid of pointer moniker initialization helper.
ole32: Fix a leak when creating pointer moniker through activation.
ole32: Fix a leak when creating antimoniker through activation.
wincodecs: Add 32RGBA -> 24BGR conversion path.
include: Fix QITAB definition.
msi: Change unknown platform enum entry name.
ole32: Respond to CLSID in antimoniker interface query.
ole32: Respond to CLSID in pointer moniker interface query.
ole32: Respond to CLSID in class moniker interface query.
ole32: Respond to CLSID in file moniker interface query.
ole32: Respond to CLSID in item moniker interface query.
Paul Gofman (4):
d3d9/tests: Add test for alpha to coverage.
include: Add Vista+ PEB_LDR_DATA structure fields.
d3d9/tests: Test more formats in srgbtexture_test().
wined3d: Support sRGB reads for WINED3DFMT_B5G6R5_UNORM.
Piotr Caban (8):
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.
msvcrt: Respect allocation mode in malloc.
msvcrt: Use _callnewh in operator new implementation.
msvcrt: Reimplement _set_new_mode function.
Qian Hong (1):
advapi32: Fix the name and use of DOMAIN_GROUP_RID_USERS.
Roman Pišl (1):
kernelbase: Implement GetThreadIdealProcessorEx stub.
Rémi Bernon (2):
ntdll: Don't change RtlWaitOnAddress size after user invoke_apc.
include: Add DBG_REPLY_LATER NTSTATUS code.
Stefan Dösinger (11):
ddraw/tests: Disable a test that causes heap corruption on some Nvidia.
ddraw/tests: Mark a Geforce 9600 misbehavior broken().
ddraw/tests: Don't leak overlay if DWM cannot be disabled.
ddraw/tests: The Windows XP r200 driver does not report DDSCAPS_OWNDC.
ddraw/tests: WinXP drivers don't necessarily set dib.dsBm.bmBits.
ddraw/tests: Don't COLORFILL a surface with a clipper.
ddraw/tests: Don't rely on the implicit vertex color in test_viewport.
ddraw/tests: Dx9 and earlier cards have problems with HW blits to R5G5B5A1.
ddraw/tests: Changing only viewport Z range is broken on r500 on Win10.
ddraw/tests: R200 rejects some bad draw calls.
ddraw/tests: Init the lock desc before using it.
Sven Baars (3):
d3dx9/tests: Use Tahoma in all font tests.
d3dx9/tests: Get rid of redundant handling for D3DXCreateFontA() failures.
d3dx9/tests: Add some more ID3DXFont tests.
Vijay Kiran Kamuju (3):
include: Add missing defines to icm.h.
mscms: Add stub for WcsGetDefaultColorProfileSize.
mscms: Add stub for WcsGetDefaultRenderingIntent.
Vladimir Panteleev (1):
kernel32/tests: Fix GetLastError() checks in environment tests.
Zebediah Figura (79):
compobj: Manually define the IMalloc16 structure.
compobj: Get rid of _xmalloc16().
compobj: Store the IMalloc pointer as a SEGPTR.
compobj: Always set the IMalloc pointer in CoInitialize().
compobj: Reference the IMalloc pointer in CoInitialize().
compobj: Reference the returned IMalloc pointer in CoGetMalloc().
compobj: Implement reference counting for the standard allocator.
qedit: Use wide character string literals.
amstream: Use wide character string literals.
evr: Use wide character string literals.
shell32/tests: Fix some failures in test_contextmenu().
ddraw/tests: Fix some test failures.
quartz: Simplify FilterGraph2_AddFilter().
quartz: Simplify FilterMapper3_CreateCategory().
quartz: Simplify FilterMapper3_UnregisterFilter().
quartz: Simplify FilterMapper3_RegisterFilter().
quartz: Simplify FilterMapper_RegisterFilter().
quartz: Simplify FilterMapper_RegisterPin().
quartz: Simplify FilterMapper_RegisterPinType().
quartz: Simplify FilterMapper_UnregisterFilter().
quartz: Simplify FilterMapper_UnregisterPin().
quartz: Use wide character string literals.
msctf/tests: Fix some test failures on Windows 10.
winegstreamer: Rename the "ppPins" element of struct gstdemux to "sources".
winegstreamer: Rename the "cStreams" element of struct gstdemux to "source_count".
winegstreamer: Fix pin enumeration order for the AVI and WAVE parsers.
quartz/tests: Add more tests for parser media types.
winegstreamer: Implement IPin::QueryAccept() for the WAVE parser source.
http.sys: Translate WSAEADDRINUSE to STATUS_SHARING_VIOLATION.
winegstreamer: Implement IPin::QueryAccept() for the AVI splitter source.
winegstreamer: Implement IPin::QueryAccept() for the MPEG splitter source.
winegstreamer: Split the implementation of source_get_media_type().
winegstreamer: Support converting color spaces within the splitter filter.
winegstreamer: Get rid of the YUV-to-(A)RGB converters.
wined3d: Introduce wined3d_device_apply_stateblock().
d3d9: Apply the device state before executing a draw call.
d3d9: Handle multisample depth resolve in d3d9_device_SetRenderState().
d3d9: Stop setting the device state in d3d9_device_SetRenderState().
d3d9: Stop setting the device state when setting the default ZENABLE state.
winegstreamer: Report MEDIASUBTYPE_IEEE_FLOAT for float types.
winegstreamer: Correctly represent non-32-bit float types.
winegstreamer: Append an audioconvert element to raw audio streams.
winegstreamer: Allow converting to 16-bit 2-channel PCM within the splitter filter.
winegstreamer: Get rid of the AudioConvert filter.
rpcrt4: Use a critical section for the context handle lock.
kernelbase: Implement ReOpenFile().
httpapi: Stub HttpSetRequestQueueProperty().
winegstreamer: Get rid of the mp3 decoder.
strmbase: Remove some no longer used callbacks.
strmbase: Merge enumpins.c into filter.c.
strmbase: Return S_FALSE from IEnumPins::Next() when the pin count changes.
strmbase: Move the IEnumMediaTypes implementation to pin.c.
d3d8: Apply the device state before executing a draw call.
d3d8: Handle multisample depth resolve in d3d8_device_SetRenderState().
d3d8: Stop setting the device state in d3d8_device_SetRenderState().
d3d8: Stop setting the device state when setting the default ZENABLE and POINTSIZE_MIN states.
quartz/filesource: Use a completion port to handle asynchronous requests.
quartz/filesource: Clean up FileAsyncReader_RequestAllocator().
quartz/filesource: Store the media type directly in the AsyncReader structure.
qcap/tests: Expand tests for smart tee aggregation.
quartz: Trace the requested properties in IMemAllocator::SetProperties().
ddraw: Update the primary stateblock in d3d_device1_SetMatrix().
ddraw: Update the primary stateblock in d3d_device3_SetTransform() and d3d_device3_MultiplyTransform().
ddraw: Update the primary stateblock in update_clip_space().
ddraw: Update the primary stateblock in d3d_device3_SetRenderState().
widl: Output a registry script for all interfaces written into the typelib.
include: Don't use the printf format attribute when compiling against msvcrt and not cross-compiling.
mapi32: Use the %I length modifier to print pointer-size integers.
strmbase: Fix printing negative values in debugstr_time().
quartz: Introduce a helper to trace reference time.
strmbase: Store the filter name and graph directly in the strmbase_filter structure.
strmbase: Rename the "pClock" member of struct strmbase_filter to "clock".
strmbase: Trace the filter name in IBaseFilter methods.
strmbase: Trace the pin and filter names in IPin and IMemInputPin methods.
ntdll/tests: Add more tests for printf format specifiers.
ntdll: Support the %I format modifier.
kernelbase: Use the %I length modifier to print pointer-size integers.
advapi32/tests: Clean up and expand tests for LsaLookupSids().
advapi32: Return the string SID if LookupAccountSid() fails.
Zhiyi Zhang (3):
rasenh/tests: Fix a test failure.
vulkan-1/tests: Fix some test failures.
msvcrt/tests: Fix some test failures.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 5.0
is now available.
This release represents a year of development effort and over 7,400
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main highlights are:
- Builtin modules in PE format.
- Multi-monitor support.
- XAudio2 reimplementation.
- Vulkan 1.1 support.
This release is dedicated to the memory of Józef Kucia, who passed
away in August 2019 at the young age of 30. Józef was a major
contributor to Wine's Direct3D implementation, and the lead developer
of the vkd3d project. His skills and his kindness are sorely missed by
all of us.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
What's new in Wine 5.0
======================
*** PE modules
- Most modules are built in PE format (Portable Executable, the
Windows binary format) instead of ELF when the MinGW compiler is
available. This helps various copy protection schemes that check
that the on-disk and in-memory contents of system modules are
identical.
- The actual PE binaries are copied into the Wine prefix instead of
the fake DLL files. This makes the prefix look more like a real
Windows installation, at the cost of some extra disk space.
- Modules that have been converted to PE can use standard wide-char C
functions, as well as wide-char character constants like L"abc".
This makes the code easier to read.
- Not all modules have been converted to PE yet; this is an ongoing
process that will continue during the Wine 5.x development series.
- The Wine C runtime is updated to support linking to MinGW-compiled
binaries; it is used by default instead of the MinGW runtime when
building DLLs.
*** Graphics
- Multiple display adapters and monitors are properly supported,
including dynamic configuration changes.
- The Vulkan driver supports up to version 1.1.126 of the Vulkan spec.
- The WindowsCodecs library is able to convert more bitmap formats,
including palette-indexed formats.
*** Direct3D
- Fullscreen Direct3D applications inhibit the screensaver.
- DXGI swapchain presents inform the application when the
corresponding window is minimized. This typically allows
applications to reduce CPU usage while minimized, and is in some
cases required to allow the application window to be restored again.
- Switching between fullscreen and windowed modes using the standard
Alt+Enter combination is implemented for DXGI applications.
- The following features are implemented for Direct3D 12 applications:
- Switching between fullscreen and windowed.
- Changing display modes.
- Scaled presents.
- Swap intervals.
These features were previously already implemented for earlier
versions of the Direct3D API.
- The handling of various edge cases is improved. Among others:
- Out of range reference values for the alpha and stencil tests.
- Sampling 2D resources with 3D samplers and vice versa.
- Drawing with mapped textures and buffers.
- Usage of invalid DirectDraw clipper objects.
- Creating Direct3D devices on invalid Windows, like the desktop
window.
- Viewports with a minimum Z larger than or equal to the maximum Z.
- Resources bound through both shader-resource views and
render-target or depth-stencil views at the same time.
- Blits between formats with and without alpha components.
Since well-behaved applications don't rely on these edge cases, they
typically only affect one or two applications each. There are
nevertheless quite a number of them.
- Dirty texture regions are tracked more accurately for Direct3D 8 and 9
texture uploads.
- Uploads of S3TC-compressed 3D textures require less address space.
Since 3D textures can be potentially large, and address space
exhaustion is a concern for 32-bit applications, S3TC-compressed 3D
textures are uploaded per-slice, instead of in a single upload.
- The ID3D11Multithread interface is implemented.
- Various lighting calculation fixes and improvements for older
DirectDraw applications have been made.
- Limited support for blits across swapchains is implemented.
- More shader reflection APIs are implemented.
- The wined3d CPU blitter can handle compressed source resources.
Support for compressed destination resources was already implemented
in a previous release.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "shader_backend" (REG_SZ)
The shader backend to use. Possible values are "glsl" (default)
for GLSL, "arb" for ARB vertex/fragment programs and "none" to
disable shader support.
- "strict_shader_math" (REG_DWORD)
Enable (0x1) or disable (0x0, default) stricter translation of
Direct3D shaders, potentially at a performance cost. This
currently only makes a difference with the default GLSL shader
backend in combination with the proprietary NVIDIA drivers.
- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "UseGLSL"
This has been superseded by the "shader_backend" setting above.
*** D3DX
- Support for compressing textures using S3TC-compression is
implemented.
- Various operations, like e.g. texture fills, on unmappable surfaces
are implemented more correctly. Previously their implementation
relied on the underlying Direct3D implementation not enforcing
mapping restrictions.
- Various improvements and fixes have been made to the effect
framework.
*** Kernel
- Most of the functions that used to be in Kernel32 are moved to
KernelBase, to follow the architecture of recent Windows versions.
- Libraries of the wrong 32/64-bitness are ignored when found in the
search path, to enable loading the correct one if it's found further
in the path.
- Kernel objects are better emulated for device drivers that expect to
manipulate objects from the kernel side.
- The kernel-level synchronization objects like spin locks, fast
mutexes, remove locks, and resource variables are implemented.
- The system battery state is properly reported to applications.
*** User interface
- Minimized windows are displayed using their title bar instead of the
old Windows 3.1-style icons.
- The new button styles Split Buttons and Command Links are
implemented.
- The Edit control sets margins correctly also for CJK fonts.
*** Desktop integration
- Symbolic links to the corresponding Unix directories are created for
the 'Downloads' and 'Templates' folders.
*** Input devices
- Plug & Play device drivers can be installed and loaded on startup.
- Game controllers are better supported, including proper support for
hat switch, wheel, gas and brake controls.
- The old joystick API of Linux versions earlier than 2.2 is no longer
supported.
*** .NET
- The Mono engine is updated to version 4.9.4, including parts of the
Windows Presentation Foundation (WPF) framework.
- The Gecko and Mono add-ons support shared installation, where the
files are used directly from a global location under /usr/share/wine
instead of being copied into every new prefix.
*** Internet and networking
- The Gecko engine is refreshed to support recent toolchains.
- A number of new HTML APIs are implemented.
- MSHTML supports some SVG elements.
- Error object and exception propagation are supported in VBScript.
- A number of VBScript builtin functions are implemented.
- JScript EcmaScript compliant mode is extended to support more
features.
- JScript and VBScript script objects expose type info interfaces.
- The HTTP proxy configuration can be retrieved through DHCP.
- Passport HTTP redirects are supported.
- The HTTP service and corresponding client-side library (HTTPAPI) are
partially implemented.
*** Cryptography
- ECC (elliptic-curve) keys are supported when using GnuTLS.
- Importing keys and certificates from PFX blobs is implemented.
- The PBKDF2 key derivation algorithm is supported.
*** Text and fonts
- OpenType positioning features are supported in DirectWrite, and
enabled for Latin script by default, including kerning.
- Font data access is made safer by validating the various data tables
before using them.
- DirectWrite interfaces are updated to a recent SDK, implementing
some of the latest API additions.
*** Audio / Video
- The XAudio2 libraries are reimplemented to use the external FAudio
library, for better compatibility.
- The Media Foundation libraries are fleshed out, including:
- Support for builtin and user async work queues.
- Ability to submit periodic callbacks, waiting, scheduled, and
regular work items, with support for item priority.
- Support for media event queues.
- Various core API to handle media type objects, stream and
presentation descriptors, object attributes, byte stream objects,
samples and buffers.
- Initial Source Resolver implementation.
- Initial implementation of Source Reader API.
- Implementation for Sample Grabber object.
- Core support for building topology objects.
- Builtin presentation clock implementation, started implementing
Media Session functionality.
- The video capture filter has been ported to use v4l2 instead of the
deprecated v4l1 API, allowing the use of some cameras which do not
support v4l1.
- Support for YUV to RGB translation and reading from v4l2 devices
using mmap() has been removed; we now depend on libv4l2 for both of
these things.
- The builtin AVI, MPEG-I, and WAVE decoders have been removed; we now
depend on GStreamer or the Mac QuickTime Toolkit to decode such
media files.
- Some more VMR7 configuration APIs are implemented.
- The sound drivers support per-channel volume adjustments.
*** Internationalization
- Unicode character tables are based on version 12.1.0 of the Unicode
Standard.
- Unicode normalization is implemented.
- The geographic region id is automatically set in the registry based
on the current locale. It can be modified if necessary under
HKEY_CURRENT_USER\Control Panel\International\Geo.
- The Sinhalese and Asturian locales are supported.
- Codepage 28601 (Latin/Thai) is supported.
*** RPC/COM
- The typelib marshaller supports complex structs and arrays.
- There is an initial implementation of the Windows Script runtime
library.
- There is an initial implementation of the Microsoft ActiveX Data
Objects (ADO) library.
*** Installers
- Microsoft Installer (MSI) Patch Files are supported.
- The WUSA tool (Windows Update Standalone Installer) supports
installing .MSU update files.
*** ARM platforms
- Exception unwinding is implemented for ARM64, using the libunwind
library.
- OLE stubless proxies are supported on ARM64.
*** Development tools / Winelib
- The Visual Studio remote debugger can be used to debug applications
running under Wine.
- The Debug Engine library (DBGENG) is partially implemented.
- Binaries built for a Windows target no longer depend on the libwine
library, to enable them to run on Windows without any extra
dependencies. The libwine library is no longer built for Windows at
all.
- The Resource Compiler and IDL Compiler support a '--sysroot' option
to allow locating header files in cross-compile environments.
- Winegcc supports the options '--target', '--wine-objdir',
'--winebuild' and '-fuse-ld' that make it easier to use as a
cross-compiler, or with custom toolchains.
- The wine/unicode.h header is no longer available to applications,
since the functions will ultimately be removed and replaced by the
standard C runtime wide character functions.
*** Build infrastructure
- Test binaries are built in PE format if MinGW is available, so the
same test binary can run on both Wine and Windows. The 'crosstest'
make target is no longer needed or supported.
- The 'fastcall' calling convention is supported in spec files. It
uses the correct name mangling for Windows builds.
- A '-import' entry point flag is supported in spec files, to mark
functions that need a hotpatch code prefix to be generated for their
import thunks.
- Winebuild supports a '--builtin' option to add a special signature
to PE binaries to mark them as Wine builtins.
*** Builtin applications
- The CHCP tool is implemented. It allows setting the console codepage.
- The MSIDB tool is implemented. It allows manipulating MSI databases.
*** Performance improvements
- The various time functions use higher performance system clocks if
available, to reduce the overhead in the rendering loop of many
games.
- File lookups take advantage of the ext4 filesystem case folding
support if it's enabled on the directory being searched.
- No-data style listboxes (LBS_NODATA) have better performance for
large numbers of items.
- Slim Reader/Writer locks, keyed events, and condition variables use
futexes on Linux to avoid wineserver round trips.
*** New external dependencies
- The MinGW-w64 cross-compiler is used to build modules in PE format.
- The FAudio library is used to implement XAudio2.
- The Inotify library is used for file change notifications on BSD
platforms.
- The Unwind library is used for exception handling on ARM64.
- The Video4Linux version 2 library is used instead of version 1.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc6 is now available.
Barring any last minute issue, this is expected to be the last
release candidate before the final 5.0.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0-rc6 (total 21):
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)
37598 Double dark line inside default button, e.g. 'OK' / 'SAVE'
41459 32bit 7zFM.exe closes unexpectedly with error "The system cannot allocate the required amount of memory"
43271 Tomb Raider (2013) - unable to use interact key with CSMT
43272 Crash after click Start button in virtual desktop mode when using Steam
44408 Tetris for Windows has wrong colors for the game pieces and the score box
44594 MindManager Pro v7.0 shows XML processing error on startup (needs support for 'exhaustive-errors', 'external-general-entities' and 'external-parameter-entities' features in MSXML SAX reader)
44664 The Five Cores - distorted rendering
45732 Far Cry 5 Cannot Steer Land Vehicles
46036 7-Zip: Endless / infinite dialogs open when you copy a selection of directories from within one .zip file into another
46361 Sonic Mania freezes/crashes when we use a gamepad on 4.0+
46616 ABBYY FineReader 14 crashes during installation
47433 Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
47923 kernel32:debugger tests sometimes fail on Windows 10
48335 Serious Sam Classic TFE/TSE crash on saving the game
48416 wine: Call from 0x7bc7b154 to unimplemented function api-ms-win-core-rtlsupport-l1-2-0.dll.RtlInstallFunctionTableCallback, aborting
48444 Dark Messiah of Might and Magic demo: crash on start
48452 The Witcher Enhanced Edition (GOG) some HUD graphics distorted starting wine 5.0-rc4
48454 Acrobat Reader 11 crashes a few seconds after startup
48458 Changes to scanf.c and scanf.h have resulted in Star Citizen incorrectly showing green lighting
48469 Pale Moon crashes when loading web page from address bar
----------------------------------------------------------------
Changes since 5.0-rc5:
Alexandre Julliard (4):
kernel32: Catch stack overflow faults in IsBad*Ptr() functions.
winecfg: Fix list of configurable dlls to account for PE files.
msvcrt: Use unsigned comparisons in strcmp and strncmp.
wine.inf: Remove the winebus service also for ARM64.
Alistair Leslie-Hughes (2):
dinput: Cap the buffer size to 20.
gdiplus: Check status as well before using bitmap.
Andrew Eikum (1):
mscoree: Don't print FIXME for unused config file elements.
André Hentschel (1):
d3dx9: Fix some spec file entries.
Can Taşan (1):
po: Update Turkish translation.
Charles Davis (1):
dbghelp: Look for .eh_fram if no .eh_frame is found.
Gabriel Ivăncescu (4):
strmbase: Detach the window from the parent before destroying it.
quartz/tests: Test video window parent's WM_DESTROY notification.
winex11.drv: Don't confine the pointer to any window when just checking for active grab.
msctf: Clear the corresponding DocumentMgr pointers for Associated Focus Windows on destruction.
Jacek Caban (9):
jscript/tests: Use wide char string literals instead of parse_script_with_error_a.
jscript/tests: Use wide char string literals instead of parse_htmlscript_a.
jscript/tests: Use wide char string literals instead of parse_script_a.
jscript/tests: Use wide char string literals instead of a2bstr.
jscript/tests: Use wide char string literals instead of strcmp_wa.
jscript/tests: Use wide char strings in a few more places.
kernel32/tests: Skip instruction pointer check of the last exception in exception race tests.
jscript/tests: Use wide char string literals in activex.c.
jscript/tests: Use wide char string literals in caller.c.
Jeff Smith (1):
user.exe16: Releasing DC does not disable it.
Michael Müller (2):
setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.
setupapi/tests: Add test for IDF_CHECKFIRST and SetupPromptForDiskA/W.
Nikolay Sivov (2):
comctl32/tests: Add some more ListView customdraw tests.
dwrite/tests: Improve DrawUnderline() test reliability by using text tested font actually supports.
Paul Gofman (1):
d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.
Piotr Caban (5):
msvcrt: Pass catch_func_nested_frame struct to cxx_frame_handler.
msvcrt: Pass catch_func_nested_frame struct to call_catch_block.
msvcrt: Fix handling tryblocks inside current catch block on nested exception.
msvcrt: Fix floating point numbers scanning when null-byte is preceding the number.
urlmon: Fix CoInternetParse{Url,IUri} spec entry.
Zebediah Figura (11):
httpapi/tests: Avoid depending on the availability of specific ports.
netapi32/tests: Fix the size passed to GetUserNameW() and GetComputerNameW() (Coverity).
include: Add more NTSTATUS codes.
rpcrt4/tests: Pass the default maximum call limit to RpcServerListen().
comdlg32/tests: Use GetTempPathA() instead of the current directory in test_extension().
explorerframe/tests: Remove some failing tests.
user32/tests: Fix some test failures with Windows 10.
msi/tests: Fix test_feature_override() to properly clean up its features on removal.
msi/tests: Fix a crash on Windows 10.
urlmon/tests: Avoid testing that only certain interfaces are queried.
urlmon/tests: Make the url tests a bit less verbose by default.
Zhiyi Zhang (2):
ntdll: Fix some Rtl* functions having wrong calling convention.
api-ms-win-core-rtlsupport-l1-2-0: Add missing spec file entries.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc5 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc5.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0-rc5 (total 19):
9609 graphical glitches running Tom Clancy's Splinter Cell Demo (need better FBO stencil buffer support)
25728 UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
34041 Skyrim (Steam) hangup on quit
34379 Splinter Cell: Blacklist voice stuttering
35194 Emperor: Battle for Dune does not show compressed textures
40720 Splinter Cell: Blacklist changing sound level has no effect
40721 Splinter Cell: Blacklist some voices/sounds overlap each other
40859 Builtin wbemprox.dll load error for multiple games (Colin McRae DiRT 2, Burnout Paradise)
42558 The Old City: Leviathan sound periodically has crackle effect
42930 Graphical glitches in "Giants Citizen Kabuto"
45323 Rayman Origins, UPlay: Sound effects don't work but music and ambience do
45396 The Evil Within: no audio in game
46972 Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
47974 X Rebirth - wined3d GL_INVALID_OPERATION dimensions must be identical with current filtering modes
48293 Battle.net App lags when clicking UI elements
48357 Wine 5.0-rc2 prevents multiple apps from connecting to servers (Origin; Dungeons and Dragons Online; Lord Of the Rings Online)
48415 The Magic School Bus Explores The Solar System fails to install
48417 32-bit PE 'kernelbase.dll' has default imagebase 0x10000000 when built with llvm-mingw, preventing non-relocatable native executables from being loaded
48420 Warframe equipment mouse-overs no longer highlight the item
----------------------------------------------------------------
Changes since 5.0-rc4:
Alex Henrie (1):
ntdll/tests: Fix expected RtlIpv6StringToAddress terminator output.
Alexandre Julliard (4):
ntdll: Make loop counter signed.
kernelbase: Remove trailing dot in GetComputerNameExW() when domain name is empty.
kernelbase: Set an explicit load address.
kernel32/tests: Remove some workarounds for old Windows versions.
Alistair Leslie-Hughes (2):
dmime: IDirectMusicSegment8 SetLoopPoints support zero start/end.
d3dx9: Make ID3DXLine::OnResetDevice() return S_OK.
Andrey Gusev (3):
webservices: Fix misplaced parenthesis.
mshtml/tests: Fix a typo.
scrobj/tests: Fix a typo.
André Hentschel (7):
advapi32/tests: Don't test function directly when reporting GetLastError().
comctl32: Fix Str_SetPtr[AW] spec file entries.
dbghelp: Fix MiniDumpWriteDump spec file entry.
gdiplus: Fix some spec file entries.
ole32: Fix some spec file entries.
user32: Fix some spec file entries.
gdi32: Fix some spec file entries.
Damjan Jovanovic (1):
server: Revert b4a1d80ae35d35f5c170e101922bf1563488be18 for now.
Derek Lesho (2):
bcrypt/tests: Add test for BCryptSecretAgreement.
bcrypt/tests: Add tests for BCRYPT_KDF_HASH.
Erich Hoover (1):
webservices: Use sscanf to convert strings to doubles.
Hans Leidekker (3):
winhttp/tests: Fix a test failure.
wininet/tests: Make a check for available data less strict.
wininet/tests: Fix test failures on Windows XP.
Jacek Caban (2):
include: Add roerrorapi.h header.
wmp/tests: Don't use round to avoid dependency on mingwex.
Kim Malmo (2):
po: Update Norwegian translation.
po: Fix a typo in Norwegian translation.
Louis Lenders (1):
combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.
Matteo Bruni (3):
ucrtbase: Export _o_to{lower, upper}() as to{lower, upper}().
ucrtbase: Add _o_fmod() and _o_fmodf().
ucrtbase/tests: Add tests for the various tolower() and toupper() variants.
Michael Stefaniuc (1):
dmime/tests: Destroy the performance on an error path (Valgrind).
Nikolay Sivov (25):
include: Update CTF_ flags.
include: Update shell link flags enum.
shlwapi: Fix spec entry for QISearch().
jscript/tests: Add missing checks for Close() calls (Coverity).
shell32/tests: Remove workarounds for SHGetFolderLocation().
shell32/tests: Get rid of SHGetMalloc() in tests.
shell32/tests: Use ILFree() directly.
shell32/tests: Use GetLongPathNameA() directly in tests.
shell32/tests: Use GetShortPathNameA() directly in tests.
kernel32/tests: Remove GetLongPathName() workarounds.
kernel32: Fix spec entries for GetLongPathName().
ole32/tests: Link to CoInitializeEx() directly.
shell32/tests: Use ILIsEqual() directly.
shell32/tests: Remove some more workarounds from shelllink tests.
gdi32/tests: Remove some workarounds in font tests.
gdi32/tests: Remove workarounds for SetLayout().
oleaut32/tests: Remove some workarounds for functions that are assumed to be available.
user32/tests: Add some more SetScrollInfo() tests.
shell32/tests: Use SHParseDisplayName() directly.
user32/tests: Remove some workarounds for older Windows versions.
d3d8/tests: Use GetCursorInfo() directly.
advapi32/tests: Remove some workarounds for older versions.
user32/tests: Use device context layout functions directly.
advapi32/tests: Use CreateWellKnownSid() directly.
advapi32/tests: Remove some workarounds in Crypt* tests.
Paul Gofman (1):
user32/tests: Handle results on Win10 in test_Image_StretchMode().
Piotr Caban (1):
ucrtbase: Fix end pointer setting in parse_double on partial nan/infinity match.
Thomas Faber (1):
setupapi/tests: Remove an unused variable.
Zebediah Figura (17):
shell32/tests: Avoid testing that only certain services are requested by IObjectWithSite::SetSite().
ntdll: Fix a typo in get_current_directory().
kernel32/tests: Fix some codepage test failures with Windows 10.
user32/tests: Make the DDE tests less verbose by default.
user32/tests: Relax WindowFromDC() tests a bit.
user32/tests: Get rid of the test for DC handle reuse.
gdi32/tests: Separate and expand tests for GetClipBox().
gdi32/tests: Clarify return values from IntersectClipRect() and ExcludeClipRect().
user32/tests: Avoid testing that GDI handles are no longer valid.
user32/tests: Fix a dialog test failure on Windows 10.
wininet/tests: Don't test that the URL cache is used for persistent cookies.
wininet/tests: Simplify test_InternetErrorDlg().
wininet/tests: Fix some test failures with Windows 10.
user32/tests: Fix some test failures on Windows 10.
netapi32/tests: Rewrite UNC/HTTP conversion tests.
netapi32/tests: Use wide character string constants.
netapi32/tests: Remove some workarounds for no longer supported versions of Windows.
--
Alexandre Julliard
julliard(a)winehq.org