The Wine team is proud to announce that release 1.6 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial support for HLSL compute shaders.
- More support for HLSL features and intrinsics.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.6.tar.xz
The current source can also be pulled directly from the git repository:
https://gitlab.winehq.org/wine/vkd3d.git
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
----------------------------------------------------------------
What's new in vkd3d 1.6
=======================
*** libvkd3d-shader
- New features for the HLSL source type:
- Initial support for compute shaders.
- Improved support for initialisation and assignment of compound objects
like structures and arrays, including casts and implicit conversions.
- Support for loads and stores of texture resource unordered-access views.
- Support for function attributes. In particular, the required "numthreads"
attribute for compute shader entry points is now supported.
- Support for the asuint() intrinsic function.
- Support for the length() intrinsic function.
- Support for the normalize() intrinsic function.
- Support for integer division and modulus.
- Support for taking the absolute value of integers.
- Support for floating-point modulus.
- New interfaces:
- The VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS descriptor info flag is
used to indicate that atomic operations are used on unordered-access view
descriptors.
*** libvkd3d-common
- vkd3d debug output is prefixed with "vkd3d:" in order to make it easier to
distinguish from output produced by applications or other libraries.
*** demos
- The demos now use libvkd3d-shader to compile HLSL shaders at run-time.
The Wine development release 7.22 is now available.
What's new in this release:
- 32-on-64 thunks for both Vulkan and OpenGL.
- OpenLDAP library bundled and built as PE.
- Support for the RAW print processor in WinPrint.
- More progress on the long types printf format conversion.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.22.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 7.22 (total 38):
- #41989 Musette crashes in winex11
- #45233 TIDAL installer can't launch installed program in 64bit WINEPREFIX
- #48053 kernel32:change fails randomly (and rarely) in Wine
- #49091 nProtect Anti-Virus/Spyware 4.0 'TKPcFtCb64.sys' crashes on unimplemented function 'ntoskrnl.exe.KeInitializeGuardedMutex'
- #49297 Spark AR studio installer fails to start:Spark AR Studio is not supported in this version of Windows. Please upgrade to Windows 10
- #50097 comctl32:monthcal fails on Wednesdays!!!
- #52511 Hemekonomi hangs on exit due to deadlock between loader_section and Win16 mutex
- #52872 vbscript: incorrect codepage handling in Asc/Chr, causing tests failures on Hindi locale
- #53130 ntdll:threadpool - test_tp_instance() fails (rarely) on Windows 8+
- #53131 ntdll:threadpool - test_tp_multi_wait() fails (rarely) in Wine
- #53266 Syberia: game crashes frequently
- #53268 urlmon:protocol - test_protocol_terminate() fails on Windows and Wine
- #53288 Application compiled with MSVC 2022 ASan does not start, needs QueryVirtualMemoryInformation
- #53296 USB Device Remover crashes on unimplemented function mscoree.dll.StrongNameTokenFromAssembly
- #53387 Vernier USB sensors are not usable in WINE
- #53402 fake dlls such as OPENGL32.dll won't load when their unix lib is linked by LLVM lld
- #53429 opengl32:opengl fails on Debian 11 + Intel GPU
- #53474 Change in memory handling gives crash in Framemaker 8
- #53529 Use wine with custom ld-linux.so.2 32-bit preloader, without hacks
- #53670 vbscript can not compile if expressions with reversed gte, lte, (=>, =<)
- #53677 invalid O_WRONLY read sets errno=EACCES instead of EBADF
- #53741 Gothic II: Night of the Raven (v2.7) fails to start (failure to load msdbi.dll)
- #53782 vbscript can not compile ReDim with list of variables
- #53807 vbscript fails to redim original array in function when passed byref
- #53867 vbscript fails to retrieve property array by index
- #53868 vbscript fails to return TypeName for VT_DISPATCH
- #53870 vkGetPhysicalDeviceSurfaceCapabilities2KHR passes invalid VkSurfaceKHR handle to driver
- #53873 vbscript fails to compile Else If when If is on same line
- #53909 opengl32.dll can't be loaded if win32u.so is not initialized first
- #53915 Pivot animator runs into assert
- #53919 crypt32:cert - testVerifyRevocation() uses an outdated certificate
- #53923 tools/makedep during wine-7.21 build segfaults
- #53930 Build broken with Clang in MSVC mode due to OpenLDAP import using getopt.h
- #53932 ntlm_auth was not found or is outdated.
- #53935 __unDName doesn't support 'G' and 'H' modifiers
- #53940 VARA window is black when launched from RMS Express
- #53954 Saints Row 2022 fails with Unimplemented function KERNEL32.dll.SetProcessInformation
- #53967 Running anything hangs on start up
----------------------------------------------------------------
Changes since 7.21:
Akihiro Sagawa (1):
include: Fix typo in IN4ADDR_LOOPBACK_INIT.
Alex Henrie (82):
include: Add IN4ADDR_*_INIT to mstcpip.h.
include: Add IN6ADDR_*_INIT to ws2ipdef.h.
ws2_32: Add in[46]addr_* constants to import library.
user32: Use standard C functions for memory allocation in combo.c.
include: Include limits.h in stdlib.h.
include: Add wspiapi.h.
comctl32: Fix memory leak on error path in EDIT_MakeUndoFit.
inetcomm: Use standard C functions for memory allocation in mimeole.c.
ole32: Correct warning message in composite_get_leftmost.
sspicli: Use standard C functions for memory allocation.
comdlg32: Use standard C functions for memory allocation in printdlg.c.
ole32: Fix memory leak on error path in CompositeMonikerImpl_CommonPrefixWith (Coverity).
dpnet: Use standard C functions for memory allocation in address.c.
localspl: Use the wcsdup function instead of reimplementing it.
d3dx9/tests: Use standard C functions for memory allocation in mesh.c.
httpapi: Use standard C functions for memory allocation.
msi/tests: Correct a couple of failure messages in test_msirecord.
msxml3: Remove unused function heap_strdupW.
dpnet: Use standard C functions for memory allocation in client.c.
dpnet: Use standard C functions for memory allocation in peer.c.
dpnet: Use standard C functions for memory allocation in server.c.
dpnet: Remove unused function heap_strdupW.
mstask: Use standard C functions for memory allocation in task.c.
ole32: Fix memory leak on error path in composite_get_(left|right)most (Coverity).
msado15: Use standard C functions for memory allocation in command.c.
msado15: Use standard C functions for memory allocation in connection.c.
msado15: Use standard C functions for memory allocation in recordset.c.
msado15: Use standard C functions for memory allocation in stream.c.
msado15: Remove unused functions heap_realloc_zero and strdupW.
inetcomm: Use standard C functions for memory allocation in protocol.c.
dinput/tests: Get rid of pDirectInputCreateEx.
oleaut32: Use standard C functions for memory allocation in olefont.c.
oledb32: Use standard C functions for memory allocation in datainit.c.
sapi: Use standard C functions for memory allocation in token.c.
schedsvc: Use standard C functions for memory allocation in atsvc.c.
schedsvc: Use standard C functions for memory allocation in schedsvc.c.
schedsvc: Remove unused function heap_strdupW.
spoolss: Use standard C functions for memory allocation in router.c.
jscript: Use standard C functions for memory allocation in dispex.c.
jscript: Use standard C functions for memory allocation in jscript.c.
jscript: Remove unused function heap_strdupW.
windowscodecs: Use standard C functions for memory allocation in metadataquery.c.
wldap32: Use the wcsdup function instead of reimplementing it.
winhttp: Use the wcsdup function instead of reimplementing it.
secur32: Use the wcsdup function instead of reimplementing it.
adsldp: Use standard C functions for memory allocation in adsldp.c.
oledb32: Handle memory allocation failure in rowpos_cp_Advise.
appwiz: Use standard C functions for memory allocation.
urlmon: Remove unused function heap_strdupWtoA.
mshtml: Handle realloc failure in add_func_info.
msxml3: Use standard C functions for memory allocation in saxreader.c.
dinput/tests: Avoid using GCC's typeof extension.
webservices: Remove unused function heap_realloc_zero.
dinput/tests: Put the calling convention inside the function pointer parentheses.
kernel32/tests: Avoid using GCC's typeof extension.
explorer: Put the calling convention inside the function pointer parentheses.
windows.media.speech: Put the calling convention inside the function pointer parentheses.
advapi32/tests: Avoid using GCC's typeof extension.
taskschd: Use standard C functions for memory allocation in folder_collection.c.
taskschd: Use standard C functions for memory allocation in regtask.c.
taskschd: Use standard C functions for memory allocation in task.c.
taskschd: Remove unused function heap_strdupW.
hhctrl: Handle memory allocation failure in GetChmString.
oledb32: Use standard C functions for memory allocation in rowpos.c.
shlwapi/tests: Use standard C functions for memory allocation in path.c.
oledlg: Use standard C functions for memory allocation in pastespl.c.
ucrtbase/tests: Put the calling convention inside the function pointer parentheses.
ieframe: Use standard C functions for memory allocation.
urlmon: Use standard C functions for memory allocation.
dnsapi: Use the strdup and wcsdup functions instead of reimplementing them.
pdh: Use standard C functions for memory allocation.
mshtml: Use standard C functions for memory allocation.
dmband: Don't force a calling convention on internal functions.
dmcompos: Don't force a calling convention on internal functions.
dmime: Don't force a calling convention on internal functions.
dmloader: Don't force a calling convention on internal functions.
dmscript: Don't force a calling convention on internal functions.
dmstyle: Don't force a calling convention on internal functions.
dmsynth: Don't force a calling convention on internal functions.
dmusic: Don't force a calling convention on internal functions.
wininet: Use standard C functions for memory allocation.
mshtml: Handle memory allocation failure in ConnectionPoint_Advise.
Alexandre Julliard (68):
winecrt0: Don't build with WINE_UNIX_LIB.
opengl32: Fix parsing of the DisabledExtensions option.
opengl32: Consistently use RtlSetLastWin32Error() everywhere.
win32u: Use RtlGetLastWin32Error() instead of GetLastError().
winex11: Use RtlGetLastWin32Error() instead of GetLastError().
winemac: Use RtlGetLastWin32Error() instead of GetLastError().
include: Disable some inline kernelbase functions when building Unix libraries.
configure: Don't use LDFLAGS to initialize PE flags.
wrc: Add support for named locales.
wmc: Add support for named locales.
configure: Skip the rest of the PE checks if the cross-compiler isn't detected.
ntdll: Use the unique id of the user locale for resource lookup.
include: Remove custom/undocumented language identifiers.
winegcc: Default to msvcrt mode for all PE builds.
winecrt0: Build without -DWINE_NO_LONG_TYPES.
opengl32: Build without -DWINE_NO_LONG_TYPES.
wineusb.sys: Build without -DWINE_NO_LONG_TYPES.
wineandroid: Build without -DWINE_NO_LONG_TYPES.
winemac: Build without -DWINE_NO_LONG_TYPES.
winex11: Fix int/long type mismatches.
winex11: Add a debug helper to print color values.
winex11: Use int instead of long types in a few places.
winex11: Build without -DWINE_NO_LONG_TYPES.
ntdll: Fix int/long type mismatches.
ntdll: Use UINT instead of ULONG in ioctl helpers.
ntdll: Use unsigned int instead of NTSTATUS in async callbacks.
ntdll: Use int instead of long types in a few places.
ntdll: Use unsigned int for the return value of server calls.
ntdll: Build the PE side without -DWINE_NO_LONG_TYPES.
ntdll: Build the Unix side without -DWINE_NO_LONG_TYPES.
ntdll: Always set WINELOADER variable to the current loader name.
ntdll: Always use the name of the current loader to exec a new process.
ntdll: Fall back to the current loader if the corresponding 32/64-bit loader isn't found.
configure: Don't rename the loader to wine64 for multi-arch builds.
makedep: Assume that all modules are built with msvcrt.
kernel32/tests: Don't filter out the WINELOADER variable.
win32: Fix int/long type mismatches.
win32u: Add a debug helper to print color values.
win32u: Use int instead of long types for font sizes and flags.
win32u: Use int instead of long types for monitor index and flags.
win32u: Use int instead of long types in a few places.
win32u: Build without -DWINE_NO_LONG_TYPES.
makedep: Unify the search for static and import libs.
makedep: Pass the actual name of the module in the delay load flags.
winecrt0: Add a helper function and macro to simplify Unix library usage.
winex11.drv: Use the Unix call helpers.
winemac.drv: Use the Unix call helpers.
wineandroid.drv: Use the Unix call helpers.
winealsa.drv: Use the Unix call helpers.
winecoreaudio.drv: Use the Unix call helpers.
wineoss.drv: Use the Unix call helpers.
winepulse.drv: Use the Unix call helpers.
mountmgr.sys: Use the Unix call helpers.
nsiproxy.sys: Use the Unix call helpers.
winebus.sys: Use the Unix call helpers.
wineusb.sys: Use the Unix call helpers.
bcrypt: Use the Unix call helpers.
crypt32: Use the Unix call helpers.
dwrite: Use the Unix call helpers.
kerberos: Use the Unix call helpers.
odbc32: Use the Unix call helpers.
opencl: Use the Unix call helpers.
opengl32: Use the Unix call helpers.
secur32: Use the Unix call helpers.
winegstreamer: Use the Unix call helpers.
winevulkan: Use the Unix call helpers.
ws2_32: Use the Unix call helpers.
winecrt0: Call __wine_unix_call through an explicit pointer in the helper macro.
Alexandros Frantzis (1):
winevulkan: Generate "in_ext" definition on demand.
Anton Baskanov (17):
wined3d: Introduce a new flag to indicate that indirect draws won't be used.
wined3d: Use the chunk allocator for GL element array buffers.
quartz/tests: Add tests for MPEG layer-3 decoder sink allocator.
quartz/tests: Add tests for MPEG layer-3 decoder output media type enumeration.
winegstreamer: Implement output media type enumeration in MPEG layer-3 decoder.
winegstreamer: Check whether transform is supported when creating MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder source allocator.
winegstreamer: Set allocator properties for MPEG layer-3 decoder source.
winegstreamer: Hold the streaming lock while destroying wg_transform.
winegstreamer: Destroy the sample queue when stopping the quartz transform.
winegstreamer: Allocate at least 3 buffers for MPEG audio in quartz parser.
include: Add MFSampleExtension_Discontinuity to mfapi.h.
winegstreamer: Set the discontinuity flag in wg_transform.
wined3d: Factor out and expose functions to map/unmap wined3d_streaming_buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
wined3d: Add a lower size bound for the streaming buffer allocation.
Aric Stewart (1):
server: Take into account extra_size in get_rawinput_buffer.
Bartosz Kosiorek (12):
msvcrt: Add _scwprintf_l implementation.
msvcrt: Add _scwprintf_p_l implementation.
msvcrt: Add _scwprintf_p implementation.
msvcrt: Add _vcprintf_l implementation.
msvcrt: Add _vcwprintf_l implementation.
gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
gdiplus: Remove not used LineCustomCap parameter.
gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
gdiplus: Use GpPointF for drawing in widen_closed_figure.
gdiplus: Add support for widen path with GpCustomLineCap.
gdiplus: Fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.
Bernhard Kölbl (1):
include: Add GUIDs for video decoder profiles.
Biswapriyo Nath (1):
include: Add Stg functions declaration in propvarutil.h.
Brendan Shanks (2):
configure: On macOS, build the loader targeting 10.7 when preloader is used.
ntdll: Add native thread renaming for macOS.
Connor McAdams (5):
uiautomationcore: Add UiaFind stub.
uiautomationcore: Partially implement UiaFind.
uiautomationcore: Add support for ExcludeRoot parameter in UiaFind.
uiautomationcore: Store traverse_uia_node_tree() results in a dynamic array.
uiautomationcore: Add support for returning multiple HUIANODEs from UiaFind.
Eric Pouech (27):
winedbg: Don't use invalid address mode in exception prolog.
cmd: Don't write outside of variable array.
kernel32/tests: Fix sporadic process test failure.
d3d11/tests: Introduce a clear_uav() helper.
d3dx9_36/tests: Introduce union to help passing float values in DWORD.
d3dx9_36/tests: Use correct integral type.
dbghelp: Fix handling of BA_OP_ChangeCodeLength (PDB).
dbghelp: Use same compiland's pathname as native (PDB).
dbghelp: Create a single compiland instance by name in PDB.
dbghelp: Function static variables should be found by address.
ntdll/tests: Adapt file tests on delete-on-close / delete disposition to Windows 10.
ntdll/tests: Fix share mode for some delete-on-close/delete disposition tests.
ntdll/tests: Extend file tests about delete-on-close and disposition.
dbghelp: Implement SymAddrIncludeInlineTrace().
dbghelp: Add partial implementation of SymQueryInlineTrace.
comctl32/tests: Fix monthcal selection tests.
ucrtbase: Extend ucrtbase's undname tests.
msvcrt: Rename modifier into qualifier.
ucrtbase: Handle undecoration of function's reference qualifiers (C++11).
dbghelp: Convert of couple more of string literals.
dbghelp: Search debug info files into local cache of debuginfod.
dbghelp: Locate alternate debug info files by their build id.
dbghelp: Fix typos in codeview_is_type_forward().
wined3d: Use long type for interlock variables/fields.
wined3d: Use pointer to non long integral type for some helpers.
wined3d: Change return value for *get_emul_mask() to unsigned int.
cmd: Use OEM code page when reading a file.
Erich Hoover (1):
ntdll: Add support for FreeBSD style extended attributes.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeQueryMaximumProcessorCount/Ex.
ntoskrnl.exe: Implement KeQueryActiveProcessorCount.
Evan Tang (2):
mshtml: Add tests for things removed in IE11.
mshtml: Hide things that were removed in IE11.
Fabian Maurer (1):
imm32: Prevent deadlock on unload.
Gabriel Ivăncescu (35):
mshtml/tests: Implement IServiceProvider and few other interfaces needed for navigation.
mshtml: Expose IEventTarget on HTMLDocumentObj and forward it to the doc node.
mshtml: Forward toString to the document node.
mshtml: Forward IDispatchEx to the document node.
mshtml: Handle cNames > 1 in GetIDsOfNames properly.
mshtml: Allow EVENT_BIND_TO_TARGET to bind to the window.
mshtml: Do not register Gecko load event handler twice.
mshtml: Dispatch Gecko events to the window if there's no node.
mshtml: Add visibilitychange event stub.
mshtml: Store the nsevent listener descs in a table.
mshtml: Implement pageshow event.
mshtml: Dispatch beforeunload event to the window.
mshtml: Implement unload event.
mshtml: Implement pagehide event.
jscript: Use CRT allocation functions.
mshtml: Fix performance variant leak.
mshtml: Link the performance.timing from the window at creation.
mshtml: Implement performance.timing.navigationStart.
mshtml: Implement performance.timing.redirectStart.
mshtml: Implement performance.timing.unloadEventStart & unloadEventEnd.
mshtml: Implement the remaining pre-response performance.timing props.
mshtml: Implement performance.timing.responseStart & responseEnd.
mshtml: Implement performance.timing.domLoading.
mshtml: Implement performance.timing.domInteractive.
mshtml: Implement performance.timing.domComplete.
mshtml: Implement performance.timing.domContentLoadedEventStart & End.
mshtml: Get rid of useless window check.
mshtml: Implement performance.timing.loadEventStart & loadEventEnd.
mshtml: Implement performance.timing.msFirstPaint.
jscript: Initialize source and lastIndex for RegExp.prototype.
jscript: Pass a jsval as the 'this' to jsdisp_call_value.
jscript: Pass a jsval as the 'this' to disp_call_value.
jscript: Pass correct 'this' to callbacks called by builtins.
jscript: Throw proper error when calling Map constructor as method.
jscript: Throw proper error when calling Set constructor as method.
Georg Lehmann (2):
winevulkan: Convert unions when nessecary.
winevulkan: Update to VK spec version 1.3.235.
Gerald Pfeifer (2):
msado15: Avoid uninitialized variable warning in fields_get_Item.
ntdll: Make init_builtin_dll return a value on FreeBSD.
Hans Leidekker (11):
crypt32/tests: Remove OCSP revoked cert test.
libs: Import code from upstream openldap 2.5.13.
wldap32/tests: Get rid of workarounds for old Windows versions.
wldap32/tests: Switch to db.debian.org.
wldap32: Get rid of the function documentation.
wldap32: Add a prefix to functions that conflict with OpenLDAP exports.
wldap32: Add a prefix to definitions that conflict with OpenLDAP headers.
wldap32: Use the bundled liblber and libldap.
ldap: Don't depend on the getopt.h header.
ldap: Mark ldap_int_destroy_global_options() as a destructor when building with Clang.
msv1_0: Drop the ntlm_auth version check.
Ivo Ivanov (8):
dinput: Prevent a potential array overflow error during the conversion from spherical to Cartesian coordinates.
dinput: Remove redundant physical range values.
windows.gaming.input: Add gain of 1.0 to the initialization params of (Constant|Ramp)Effect's SetParameters.
dinput: Always send both "Type Specific" and "Set Effect" reports on initial Download.
windows.gaming.input: Implement IForceFeedbackMotor_get_SupportedAxes.
dinput/tests: Reduce the available FFB axes to X and Y in test_windows_gaming_input.
windows.gaming.input: Implement the number of FFB axes according to the SupportedAxes property.
windows.gaming.input: Assume that joysticks with single FFB axis are racing wheels.
Jacek Caban (18):
winevulkan: Don't try to convert ignored VkWriteDescriptorSet members.
winevulkan: Move need for output member copy check to needs_conversion.
winevulkan: Align conversion_context_alloc result.
winevulkan: Convert all 32-bit structs containing pNext pointer.
winevulkan: Convert all 32-bit structs containing pointer or pointer-size members.
winevulkan: Convert dispatchable handle arrays in 32-bit thunks.
winevulkan: Convert pointers to pointer-sized variables in 32-bit thunks.
winevulkan: Convert dispatchable handle array struct members.
winevulkan: Introduce find_next_struct32.
winevulkan: Use PTR32 for pointer-size variables in 32-bit structs.
winevulkan: Always convert 32-bit pointer arrays.
winevulkan: Use separated implementations for all 32-bit Unix calls.
winevulkan: Add __wine_unix_call_wow64_funcs support.
winevulkan: Never copy pNext pointer in 32-bit struct conversion functions.
winevulkan: Return error if vkMapMemory would truncate pointer on wow64.
win32u: Remove __wine_get_wgl_driver PE entry point.
win32u: Don't use CDECL for __wine_get_wgl_driver.
winevulkan: Don't try to convert unions without selectors.
Jason Millard (3):
vbscript: Add support for VT_DISPATCH in Global_TypeName.
vbscript: Update parser to allow statements after ELSE without new line.
vbscript: Add support for redim byref.
Jinoh Kang (1):
ntdll: Use an acquire/release pair on the IOSB status.
Martin Storsjö (1):
ntdll: Avoid accidentally picking up ntdll's __wine_unix_call_funcs for other DLLs.
Matthew Tran (7):
dinput/tests: Add more tests for HidP_SetUsageValue.
dinput/tests: Fix incorrect HID STRING_INDEX tag value.
hidparse.sys: Fix incorrect HID STRING_INDEX tag value.
ntoskrnl.exe/tests: Fix incorrect HID STRING_INDEX tag value.
winebus.sys: Fix incorrect HID STRING_INDEX tag value.
winexinput.sys: Fix incorrect HID STRING_INDEX tag value.
hid: Fix HidP_(Get|Set)(Scaled)UsageValue with usage ranges and arrays.
Mohamad Al-Jaf (15):
mscoree: Add StrongNameTokenFromAssembly stub.
dbghelp: Add SymAddrIncludeInlineTrace stub.
include/windowscontracts: Bump contractversion to 14.
windows.media: Add stub DLL.
windows.media: Stub IClosedCaptionPropertiesStatics interface.
windows.media/tests: Add Closed Caption Properties tests.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontSize.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontStyle.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontEffect.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionOpacity.
Nikolay Sivov (36):
d3drm: Use CRT allocation functions.
d3drm/tests: Use CRT allocation functions.
vbscript: Use CRT allocation functions.
d3dx9: Add missing path conversion call in D3DXLoadVolumeFromFileA().
d2d1: Silently ignore non-default state block implementations.
vbscript: Implement FormatCurrency().
vbscript: Implement FormatPercent().
vbscript: Implement FormatDateTime().
vbscript: Implement FormatNumber().
oleaut32/tests: Add a test for VT_NULL input for VarFormatDateTime().
d2d1: Derive shared bitmap format from the source bitmap.
d2d1/tests: Use d2d error code name for unsupported pixel format error code.
vbscript: Handle index read access to array properties.
ntdll: Do not set system locales that resolve to custom-unspecified.
xmllite/writer: Handle surrogate pairs.
xmllite/reader: Use consistent formatting for traces.
kernelbase: Add SetProcessInformation().
comctl32/animate: Use CRT allocation functions.
comctl32/pager: Use CRT allocation functions.
comctl32/updown: Use CRT allocation functions.
comctl32/treeview: Use CRT allocation functions.
comctl32/progress: Use CRT allocation functions.
comctl32/ipaddress: Use CRT allocation functions.
comctl32/hotkey: Use CRT allocation functions.
vbscript: Handle CP_UTF8 in Chr()/Asc().
ntdll: Use system language as preferred, if user language is custom-unspecified.
kernelbase: Forward SetThreadIdealProcessor() to ntdll.
kernel32/tests: Remove workarounds for SetThreadIdealProcessor().
kernelbase: Forward thread priority boost functions to ntdll.
kernelbase: Forward GetThreadIdealProcessorEx() to ntdll.
vbscript: Fix a typo in variable name in LBound().
vbscript/tests: Fix redim tests.
oleaut32/safearray: Fix an error code when trying to redim fixed arrays.
kernel32/profile: Trim spaces from section names on load.
vbscript/tests: Add some tests for lte/gte tokens.
vbscript: Accept "><" as inequality operator.
Paul Gofman (17):
winhttp: Always send Content-length with PUT.
ws2_32: Return success for setting SO_ERROR.
xinputuap.dll: Add new dll.
wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
wmic: Call _BeginEnumeration() before iterating class object.
wmic: Handle VariantChangeType() failures.
wmic: Add nicconfig alias.
wmic: Support array of BSTRs in convert_to_bstr().
winhttp: Add reference counting for connection.
winhttp/tests: Avoid race condition on closing connection in server_thread().
winhttp: Send connection close notifications in finished_reading().
winhttp: Store connection in websocket.
winhttp: Move flags to websocket header.
winhttp: Move read buffer to websocket.
winhttp: Do not reference request from socket.
winhttp: Set name resolution timeout in download_script().
winhttp: Cache script in download_script().
Piotr Caban (16):
winspool.drv: Use CRT allocation functions.
localspl: Use wcslen instead of lstrlenW.
localspl: Use CRT allocation functions.
winspool: Remove strdupW helper.
winspool: Allow specifying out buffer in DEVMODEdupWtoA.
winspool: Use GetJobW in GetJobA implementation.
winprint: Add stub dll.
winprint: Implement RAW print processor.
gdi32: Don't crash in StartDoc on NULL DOCINFO.
gdi32: Get printer output file name in StartDoc.
winspool: Correctly free data allocated with GdiConvertToDevmodeW.
localspl: Run AddPortEx tests when InitializePrintMonitor2 is used.
localspl: Run EnumPorts tests when InitializePrintMonitor2 is used.
localspl: Run OpenPort tests when InitializePrintMonitor2 is used.
localspl: Remove unused OpenPortEx function pointers.
localspl: Run XcvOpenPort tests when InitializePrintMonitor2 is used.
Robert Wilhelm (1):
vbscript: Handle another variant of LTE/GTE tokens.
Rémi Bernon (52):
server: Remove no-op raw_msg.foreground release.
ntdll: Delay loading unixlibs until the functions are requested.
user32: Move touch related functions to input.c.
user32: Add GetPointerTouchInfo(History) stubs.
kernel32: Validate pointer before calling HeapSize.
kernel32: Lock heap and validate pointer in LocalHandle.
kernelbase: Validate pointers before calling heap functions.
ntdll: Cleanup heap block macro definitions.
opengl32: Generate wow64 thunks.
opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk.
opengl32: Implement wow64 thunk for wglGetProcAddress.
opengl32: Implement wow64 thunk for wglMakeCurrent (et al.).
opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
opengl32: Implement wow64 thunk for wglCreatePbufferARB.
opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
opengl32: Implement wow64 thunks for input pointer arrays.
opengl32: Implement wow64 thunks for glFenceSync (et al.).
dwrite: Avoid memcpy source overflow in GetFontAxisValues.
opengl32: Implement wow64 thunk for glGetString (et al.).
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
opengl32: Implement wow64 thunks for glMapBuffer (et al.).
opengl32: Cast wow64 pointers in glGet(VertexAttrib)Pointerv.
opengl32: Use the +opengl debug channel everywhere.
dinput/tests: Add more HidP_(Set|Get)UsageValue tests with array caps.
hid: Move (get|set)_usage_value around and use it for scaled values.
hidclass.sys: Add more trace messages.
winebus.sys: Add more trace messages.
server: Set missing error status for get_process_image_name.
kernel32/tests: Add more (Global|Local)ReAlloc tests.
comdlg32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
ole32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
riched20: Call GlobalReAlloc with GMEM_MOVEABLE flag.
winemac.drv: Call GlobalReAlloc with GMEM_MOVEABLE flag.
user32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
kernelbase: Don't try in-place HeapReAlloc in LocalReAlloc.
kernelbase: Handle LMEM_MODIFY flag first in LocalReAlloc.
kernelbase: Handle LMEM_DISCARDABLE flag specifically in LocalReAlloc.
kernelbase: Avoid moving locked HLOCAL pointer without LMEM_MOVEABLE.
kernel32: Return success from GlobalReAlloc with locked HGLOBAL pointer.
kernelbase: Only discard HLOCAL with LMEM_MOVEABLE and if not locked.
rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
winex11.drv: Reposition windows on desktop resize only when useful.
ntdll: Rename heap block ALIGNMENT macro to BLOCK_ALIGN.
ntdll: Use BLOCK_FLAG_LARGE rather than subheap pointer.
ntdll: Compute effective flags in unsafe_heap_from_handle.
ntdll: Compute block size before calling heap_(re)allocate.
ntdll: Pass a heap block pointer to initialize_block.
dinput/tests: Test zero-ed force feedback effect parameters.
windows.gaming.input: Set initial effect parameters within the CS.
appwiz.cpl: Free wine_get_dos_file_name memory with HeapFree.
mshtml: Free wine_get_dos_file_name memory with HeapFree.
winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree.
Santino Mazza (5):
kernel32: Forward CreateFileMappingFromApp kernel32 to kernelbase.
kernel32: Forward MapViewOfFileFromApp kernel32 to kernelbase.
kernelbase: Create GetGeoInfoEx stub.
kernel32/tests: Test for GetGeoInfoEx.
kernelbase: Implement GetGeoInfoEx.
Sven Baars (7):
ntdll/tests: Add some Software\Classes subkey tests.
server: Recursively obtain the Wow6432Node parent.
ntdll/tests: Test that NtCreateKeyEx() also recursively obtains the Wow6432Node parent.
ntdll/tests: Add some some Software\Classes query and enumerate tests.
server: Don't return the actual 32-bit Software\Classes key.
ntdll/tests: Factor out the NtEnumerateKey() tests.
ntdll/tests: Refactor the Software\Classes tests.
Tim Clem (1):
winspool.drv: Ignore input in DocumentPropertiesA unless DM_IN_BUFFER is passed.
Zebediah Figura (16):
ntdll: Make the "not found" trace in nt_to_unix_file_name_no_root() less misleading.
setupapi/tests: Add more tests for buffer size handling in SetupDiGetDeviceInterfaceDetail().
setupapi: Correctly calculate the required size in SetupDiGetDeviceInterfaceDetailA().
setupapi: Fill the required size in SetupDiGetDeviceInterfaceDetail() also on success.
ntoskrnl/tests: Test retrieving SPDRP_CONFIGFLAGS.
setupapi: Set SPDRP_CONFIGFLAGS in SetupDiInstallDevice().
ntoskrnl: Set SPDRP_CONFIGFLAGS in install_device_driver().
d3dcompiler: Print message output with ERR() in D3DCompile2().
d3dcompiler: Print message output with ERR() in D3DPreprocess().
winex11: Print a winediag err if XComposite is missing.
configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
quartz: Use a single message thread for all filter graphs.
ntdll: Add a get_free_list_block_size() helper.
ntdll: Always trace sizes with %#x.
ntdll: Avoid casting a struct to its first field.
ntdll: Remove an unnecessary cast.
Zhiyi Zhang (4):
dwmapi: Fallback to 60Hz if the display frequency is invalid in get_display_frequency().
explorer/tests: Add taskbar tests.
explorer: Use a valid taskbar position when the taskbar is hidden.
win32u: Fix a memory leak.
Ziqing Hui (6):
wmvcore/tests: Add tests for IWMProfile_GetStreamByNumber.
winegstreamer: Implement profile_GetStreamByNumber.
mf/tests: Test IMediaObject_GetStreamCount for WMV decoder.
winegstreamer: Implement media_object_GetStreamCount for WMV decoder.
mf/tests: Test IMediaObject_GetInputType for WMV decoder.
winegstreamer: Implement media_object_GetInputType for WMV decoder.
The Wine development release 7.21 is now available.
What's new in this release:
- OpenGL library converted to PE.
- Support for multi-architecture PE builds.
- More preparation work for Vulkan 32-on-64 support.
- Support for creating import libraries without dlltool.
- Locale data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.21.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.21 (total 25):
- #29974 StarBurn 13 crashes on disabling skins
- #51418 fotoBiz X - Fatal error on startup
- #51779 Visual Studio msvsmon fails to bind server socket in child processes
- #52467 Kaseya Live Connect 9.5.0.28 management software sub-component crashes
- #53081 Retina Mode broken since 7f7f9fa22c5cbe629e79a54257d5bd21403e80db
- #53100 Euphoria: freezes every second while controllers are plugged in
- #53153 SetWindowPos() incorrectly computes exposure region of parent window with WS_EX_COMPOSITED
- #53484 dxgi:dxgi times out on the debiant VM
- #53590 GetFileInformationByHandleEx() not fully implemented causing boost::directory_iterator failures with boost v1.79 and newer
- #53606 First intro stops on last frame in multiple games (Darksiders Genesis, The Medium)
- #53617 Imaris fails at exit with error, and keeps a process running.
- #53631 Multiple 64-bit applications have issues with dialogs (DipTrace, foobar2000 installer)
- #53676 vbscript can not exec_script - invalid number of arguments for Randomize
- #53738 Cherry MIDI sequencer cannot read files with a path including CJK characters
- #53749 Hotel Giant 2: black screen after changing resolution or enabling anti-aliasing
- #53768 Winfile crashes due to unimplemented user32.dll.DragObject
- #53798 Port Royale 2: incomplete text rendering
- #53849 Apiset DLLs broken in non-PE builds
- #53856 Wine 7.20 installs some windows files to the wrong location
- #53859 Hades shows black screen at Vulkan mode
- #53861 Non-PE builds fail after "makefiles: Add support for multiple PE architectures."
- #53872 Adobe Reader XI crash opening settings in Protected Mode
- #53879 Gothic 1 doesn't launch (msdbi.dll failed to initialize)
- #53888 vbscript does not allow Mid on non VT_BSTR
- #53893 ws2_32:sock - test_WSASocket() gets an unexpected raw protocol name in French on Windows
----------------------------------------------------------------
Changes since 7.20:
Alex Henrie (13):
include: Include minidumpapiset.h in imagehlp.h.
msvcrt: Change return type of _splitpath_s to errno_t.
include: Add _splitpath_s.
msvcrt: Change return type of freopen_s to errno_t.
include: Add freopen_s.
msvcrt: Change return type of wcsncat_s to errno_t.
include: Add wcsncat_s.
cmd: Remove inapplicable comment from WCMD_getfileowner.
cmd: Use the wcsrev function instead of reimplementing it.
include: Add sdkddkver.h.
uuid: Add propkey.h.
include: Define PROPSHEETPAGE[AW]_V[1-4].
mscoree: Use standard C functions for memory allocation in assembly.c.
Alexandre Julliard (34):
makefiles: Add support for multiple PE architectures.
makedep: Always generate a fake module for the native architecture.
ntdll: Fix trace formats for 64-bit values on ARM64.
wow64: Load dependencies of 64-bit modules only from the 64-bit system directory.
msvcrt: Use WINAPIV calling convention for variadic functions.
xml2: Use WINAPIV calling convention for variadic functions.
xslt: Use WINAPIV calling convention for variadic functions.
ntdll: Reimplement KeUserModeCallback in assembly on i386.
ntdll: Reimplement KeUserModeCallback in assembly on x86_64.
ntdll: Reimplement KeUserModeCallback in assembly on ARM.
ntdll: Reimplement KeUserModeCallback in assembly on ARM64.
faudio: Import upstream release 22.11.
png: Import upstream release 1.6.38.
zlib: Import upstream release 1.2.13.
lcms2: Import upstream release 2.14.
xml2: Import upstream release 2.10.3.
xslt: Import upstream release 1.1.37.
nls: Update locale data to CLDR version 42.
kernelbase: Update timezone data to version 2022f.
win32u: Always use the full union for sysparams entries.
ntdll: Don't inline NtCurrentTeb() in Unix libraries.
openal32: Remove dll.
ntdll: Use a pthread key for the TEB on all platforms.
ntdll: Move the initialization of the thread register into signal_start_thread().
ntdll: Use a separate function pointer for the TEB hack on ARM64.
ntdll: Use a proper Unix syscall for load_so_dll().
ntdll: Use a proper Unix syscall for init_builtin_dll().
ntdll: Use a proper Unix syscall for unwind_builtin_dll().
ntdll: Use a proper Unix syscall for RtlGetSystemTimePrecise().
Revert "light.msstyles: Add nonclient metrics.".
ntdll: Add a Wine-specific process info class for the LDT copy.
makedep: Remove support for "hybrid" Unix libraries.
winegcc: Remove support for "hybrid" Unix libraries.
winebuild: Remove support for "hybrid" Unix libraries.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder IEnumMediaTypes.
winegstreamer: Add a skeleton MPEG layer-3 decoder filter.
quartz/tests: Add tests for MPEG layer-3 decoder accepted media types.
winegstreamer: Reject incompatible input media types in MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder sink connection.
winegstreamer: Reject incompatible output types in MPEG layer-3 decoder.
Arkadiusz Hiler (1):
cmd/tests: Make sure for /f doesn't loop infinitely on NULs.
Bartosz Kosiorek (19):
msvcrt: Add _fprintf_l implementation.
msvcrt: Add _fprintf_p implementation.
msvcrt: Add _fprintf_p_l implementation.
msvcrt: Add _fprintf_s_l implementation.
msvcrt: Add _fwprintf_p implementation.
msvcrt: Add _fwprintf_p_l implementation.
msvcrt: Add _fwprintf_s_l implementation.
msvcrt: Add _scprintf_l implementation.
msvcrt: Add _scprintf_p implementation.
msvcrt: Add _scprintf_p_l implementation.
msvcrt: Add _swprintf_p_l implementation.
msvcp90: Add _Cin_func implementation.
msvcp90: Add _Wcin_func implementation.
msvcp90: Add _Cout_func implementation.
msvcp90: Add _Clog_func implementation.
msvcp90: Add _Cerr_func implementation.
msvcp90: Add _Wcout_func implementation.
msvcp90: Add _Wclog_func implementation.
msvcp90: Add _Wcerr_func implementation.
Bernhard Kölbl (3):
mf/tests: Test for copier node in topology using evr.
mf: Assume same up and downstream media type for copier creation.
mf: Set media types for output nodes in the media session.
Brendan Shanks (12):
ntdll: Print correct thread rename trace if non-pseudo-handle to current thread is used.
winemac: Remove pre-Mac OS X 10.8 workarounds.
ntdll: Set the QoS class of the main Wine thread on macOS.
ntdll: Add a Wine-specific THREADINFOCLASS to set just the native thread name.
ntdll: Add native thread renaming for exception method.
dsound: Set name of internal threads.
winepulse: Set name of internal threads.
winealsa: Set name of internal threads.
ntdll: Fix runtime availability check for pthread_attr_set_qos_class_np.
ntdll: Suppress deprecation warnings when calling MPTaskIsPreemptive().
ntdll: Stop using deprecated kIOMasterPortDefault constant.
winemac.drv: Stop using deprecated kIOMasterPortDefault constant.
Connor McAdams (7):
uiautomationcore: Add UiaNavigate stub.
uiautomationcore: Add parent link check to prepare_uia_node().
uiautomationcore: Add helper function for returning a new node from an IWineUiaProvider.
uiautomationcore: Implement ConditionType_True parent navigation for HUIANODEs.
uiautomationcore: Partially implement ConditionType_True sibling navigation for HUIANODEs.
uiautomationcore: Implement ConditionType_True child navigation for HUIANODEs.
uiautomationcore: Add support for navigating between sibling node providers of a parent HUIANODE.
Dmitry Timoshkov (1):
uxtheme: Protect CloseThemeData() from invalid input.
Eric Pouech (13):
dbghelp: No longer pass inline site's address upon creation.
dbghelp: Store address range as FAM in symt_inlinesite.
dbghelp: Use addr_range for storing symt_function address and size.
dbghelp: Get rid of symt_inlinesite by merging it inside symt_function.
user32: Fix rounding issue in edit tests for char pos messages.
conhost/tests: Fix some conditions on tty test termination.
rpcrt4: Fix unexpected exception in ndr_marshal tests.
shell32/tests: Improve timeout detection in shlexec tests.
dbghelp: Added missing DECLSPEC_HIDDEN attribute.
dbghelp: Introduce a helper for module lookup.
dbghelp: Support loading modules from Wine's multi-arch build tree.
cmd: Use CRT file I/O function inside 'for /F' handling.
riched20: Fix failing test in UTF8 locales.
Etaash Mathamsetty (1):
ntoskrnl.exe: Implement KeInitializeGuardedMutex.
Evan Tang (4):
kernel32: Null-terminate the atom names passed to NtAddAtom.
riched20: Move test class creation to a helper function.
riched20: Add test for EN_CHANGE events during window creation.
riched20: Don't emit EN_CHANGE events during window creation.
Fabian Maurer (6):
wbemproxy/tests: Prevent double free (Coverity).
shell32: Prevent double free (Coverity).
win32u: Prevent use after free (Coverity).
ntdll/tests: Fix uninitialized read in ok (Coverity).
sapi: Prevent resource leak (Coverity).
msvcrt/tests: Fix typo (Coverity).
Gabriel Ivăncescu (12):
mshtml/tests: Handle broken localStorage on native.
mshtml: Implement isContentEditable for HTML elements.
mshtml: Improve locale stub for KeyboardEvent.
mshtml: Return E_ABORT if wine-gecko's OnDataAvailable aborts the binding.
mshtml: Don't include fragment in storage event's url prop.
mshtml: Implement HTMLLocation_put_hash.
mshtml: Implement document.importNode.
mshtml: Use nsIDOMDocument instead of nsIDOMHTMLDocument where possible.
jscript: Convert filetime to date properly using unsigned division.
include: Add IDOMParser interface, dispinterface, and coclass.
include: Add CLSID_XHTMLDocument and CLSID_SVGDocument.
mshtml: Add SVG and XHTML document information to the registry.
Georg Lehmann (4):
winevulkan: Update to VK spec version 1.3.233.
winevulkan: VkDeviceAddress needs alignment.
winevulkan: Fix handling bitmasks in needs_alignment.
winevulkan: Fix handling enums in needs_alignment.
Hans Leidekker (5):
rsaenh: Pass exact size to BCryptFinishHash().
bcrypt: Use get_object() in more places.
bcrypt: Validate hash output length.
netprofm: Store a list manager pointer in the network object instead of creating a new list manager.
netprofm: Use CRT allocation functions.
Jacek Caban (41):
winevulkan: Support optional dispatch handles.
winevulkan: Assert Unix call result in generated thunks.
winevulkan: Assert Unix call result in private thunks.
winevulkan: Don't check thunk_type in VkParam.needs_unwrapping.
winevulkan: Don't store conversion functions in VkParam.
winevulkan: Introduce needs_host_type helper function.
winevulkan: Remove unneeded needs_conversion() calls.
winevulkan: Store returnedonly attribute in VkVariable.
winevulkan: Pass direction to needs_conversion helpers.
winevulkan: Move get_conversions implementation to VkVariable.
winevulkan: Remove no longer used Direction.INPUT_OUTPUT.
winevulkan: Pass type as uint32_t to wine_vk_unwrap_handle.
winevulkan: Support output array conversion in _generate_array_conversion_func.
winevulkan: Drop "static_array" from conversion function names.
winevulkan: Use separated classes for struct and array conversions.
winevulkan: Use struct conversion functions for array conversion implementations.
winevulkan: Don't declare host types for structs that don't need it.
winevulkan: Skip unsupported functions in a few more places.
mshtml: Always use navigate_fragment for fragment-only navigation in navigate_uri.
winevulkan: Move find_next_struct implementation to vulkan_private.h.
winevulkan: Convert struct chains in struct conversion functions.
winevulkan: Avoid unneeded copies in struct conversion functions.
winevulkan: Support output dynamic array conversion.
winevulkan: Always fill output in fill_luid_property.
winevulkan: Store parent in VkVariable.
winevulkan: Support pointer dynamic array lengths.
winevulkan: Use generated thunks for vkGetImageSparseMemoryRequirements(2) conversion.
winevulkan: Use const types in conversion function declarations.
winevulkan: Convert struct chain conversions for all structs that need it.
winevulkan: Use generated thunks for VkPipelineCreationFeedback conversion.
winevulkan: Support conversion of optional parameters.
winevulkan: Fix handling unions in needs_alignment().
winevulkan: Preserve const in array conversion output types.
winevulkan: Add support for pointer array conversion.
winevulkan: Use local params struct declarations for 32-bit thunks.
winevulkan: Fix host aliases declaration.
winevulkan: Use local structs declarations for 32-bit conversion functions.
winevulkan: Get rid of *_host types.
winevulkan: Remove no longer used make_vulkan functions.
winevulkan: Move needs_unwrapping implementation to VkVariable.
winevulkan: Don't generate private thunk prototypes for PE-only functions.
Jinoh Kang (7):
server: Correctly expose composited parent window and its child on position change.
server: Redraw composited window child when its z-order changes.
server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
ntdll: Move CFI helper macros out of signal_x86_64.c.
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (i386).
comctl32/tests: Flush events before testing edit control SetFocus() messages.
comctl32/tests: Flush events before testing edit control IME messages.
Martin Storsjö (5):
winegcc: Prefer -Wl,--pdb=<file> over -Wl,-pdb,<file>.
ntdll: Add ARM EHABI unwind instructions in assembly functions.
ntdll: Implement ARM EHABI unwinding.
ntdll: Write ret_len with the right size in user_mode_callback_return on arm64.
ntdll: Readd the missed initialization of the thread register on arm.
Mohamad Al-Jaf (2):
setx: Add stub program.
certutil: Add stub program.
Nikolay Sivov (9):
mf/session: Add support for MESessionScrubSampleComplete event.
vbscript: Implement PRNG functions.
comctl32/edit: Check for control destruction on notification return.
user32/edit: Check for control destruction on notification return.
vbscript: Fix a typo in Right() argument type check.
vbscript: Improve invalid argument checks in Right().
vbscript: Improve argument type handling in Mid().
d2d1/tests: Use correct flags constants with D3D11CreateDevice().
vbscript: Add support for argument list in ReDim.
Paul Gofman (28):
ws2_32/tests: Add tests for SO_EXCLUSIVEADDRUSE.
ws2_32: Track SO_EXCLUSIVEADDRUSE option value.
server: Make SO_REUSEADDR and SO_EXCLUSIVEADDRUSE mutually exclusive.
server: Use struct bound_addr as a key to bound_addresses_tree.
server: Set error in check_addr_usage().
server: Use htonl() with INADDR_ANY in ipv4addr_from_v6().
server: Do not translate loopback addr in ipv4addr_from_v6().
server: Support SO_EXCLUSIVEADDRUSE socket option.
http.sys: Use SO_EXCLUSIVEADDRUSE on listening socket.
include: Add windows.gaming.ui.idl.
windows.gaming.ui.gamebar: Add stub DLL.
windows.gaming.ui.gamebar: Add IGameBarStatics interface.
mf: Handle timer time behind clock time in present_clock_schedule_timer().
mf/samplegrabber: Process samples in paused state in ignore_clock mode.
mf/samplegrabber: Handle samples receieved in paused state.
secure32/tests: Add tests for ApplyControlToken (schannel).
secur32: Allocate buffer for either ISC_REQ_ALLOCATE_MEMORY or NULL output in schan_InitializeSecurityContextW().
secur32: Add semi-stub for ApplyControlToken (schannel).
secur32: Implement ApplyControlToken for SCHANNEL_SHUTDOWN.
ws2_32/tests: Don't test protocol name in test_WSASocket().
ntdll: Pass limit instead of zero_bits to map_view().
ntdll: Factor out allocate_virtual_memory().
ntdll: Support HighestEndingAddress in NtAllocateVirtualMemoryEx().
ntdll/tests: Add tests for memory address requirements.
wow64: Support MEM_ADDRESS_REQUIREMENTS in wow64_NtAllocateVirtualMemoryEx().
wow64: Set HighestEndingAddress in wow64_NtAllocateVirtualMemoryEx() if it is absent.
ntdll: Pass alignemnt mask to map_view().
ntdll: Support specified alignment in NtAllocateVirtualMemoryEx().
Piotr Caban (5):
wineps.drv: Add DrvDocumentPropertySheets implementation.
winspool.drv: Use DrvDocumentPropertySheets driver entry in DocumentProperties.
wineps.drv: Remove DrvDocumentProperties entry point.
msvcrt: Fix errno set on read from write-only file.
msvcrt: Fix errno set on write to read-only file.
Rémi Bernon (64):
win32u: Add a BOOL force parameter to update_display_cache.
win32u: Force update display cache after NtUserChangeDisplaySettingsEx.
win32u: Add primary adapter name parameter to ChangeDisplaySettings.
winemac.drv: Use the primary adapter name instead of calling back win32u.
win32u: Add is_primary parameter to GetCurrentDisplaySettings.
winex11.drv: Use the primary adapter info instead of calling back win32u.
winmm: Use a separate last_check for joyGetDevCapsW and joyGetPosEx.
winmm: Add missing void parameter in function definition.
winebus.sys: Ignore SDL events for devices which aren't started.
win32u: Lock display devices while applying display settings.
win32u: Write display settings to the registry in apply_display_settings.
win32u: Read mode from the registry if GetCurrentDisplaySettings fails.
winebuild: Split get_link_name into a separate get_abi_name helper.
winebuild: Use asm_name to add underscore prefix in asm_globl.
winebuild: Split output_static_lib into output_(import|static)_lib.
opengl32: Create a unixlib interface for GL functions.
opengl32: Use the unixlib for glGet(String|Integerv).
opengl32: Move the null functions to unix_thunks.c.
opengl32: Use the unixlib interface for EXT functions.
opengl32: Use the unixlib interface for WGL functions.
opengl32: Avoid using internal functions in wglUseFontBitmaps.
opengl32: Avoid using internal functions in wglUseFontOutlines.
opengl32: Introduce a new NtUserCallOpenGLDebugMessageCallback callback.
opengl32: Move some WGL functions to unix_wgl.c.
opengl32: Use the unixlib interface for more WGL functions.
winebuild: Avoid calling asm_name twice in function arguments.
comctl32/tests: Remove a now succeeding todo_wine.
xaudio2_7/tests: Mark tests failing randomly as flaky.
mf: Always enumerate branch source types for transform nodes.
mf: Add some topology source node checks in IMFMediaSession_SetTopology.
gitlab: Add a 2s wait between macOS build iterations.
opengl32: Introduce new disabled_extensions_index helper.
opengl32: Move extension filtering helpers to unix_wgl.c.
opengl32: Move glGetStringi extension filtering to unix_wgl.c.
opengl32: Move glGetString extension filtering to unix_wgl.c.
opengl32: Move glGetIntegerv extension filtering to unix_wgl.c.
opengl32: Move function / extension registry mapping to unix_thunks.c.
opengl32: Move wglGetProcAddress extension filtering to unix_wgl.c.
winebuild: Introduce a new --without-dlltool winebuild flag.
winebuild: Implement import lib generation without dlltool.
winebuild: Enable unwind tables by default in PE files.
winebuild: Implement delay import lib generation without dlltool.
winebuild: Fix import hint value for symbols imported by name.
winebuild: Put the delay import descriptor in data section.
winegstreamer: Introduce new wm_stream_allocate_sample helper.
winegstreamer: Split the wm_reader_get_stream_sample helper.
winegstreamer: Allow wg_parser_stream_get_buffer to wait on all streams.
winegstreamer: Return no buffer when wg_parser stream is disabled.
winegstreamer: Merge wm_reader_get_stream_sample with GetNextSample.
opengl32: Avoid calling back the wglMakeCurrent win32 thunk.
opengl32: Use glReserved1[0] and glReserved1[1] for draw and read DCs.
opengl32: Split opengl_ext.h into private.h and unix_private.h.
opengl32: Avoid recursively entering WGL critical section.
opengl32: Use ntdll registry functions to read disabled extensions.
opengl32: Build with msvcrt.
opengl32: Use msvcrt allocation functions.
opengl32: Use RtlSetLastWin32Error instead of SetLastError.
kernel32/tests: Test more Global/Local functions with invalid pointers.
kernel32/tests: Test (Global|Local)Handle with heap allocated pointers.
ntdll: Introduce a new heap block_set_flags helper.
ntdll: Store the user flags in the heap block flags.
ntdll: Check block user flags in RtlSetUserValueHeap.
ntdll: Check block user flags in RtlGetUserInfoHeap.
ntdll: Implement RtlSetUserFlagsHeap.
Santino Mazza (2):
user32/tests: Test for MB_SYSTEMMODAL.
user32/msgbox: Implement MB_SYSTEMMODAL.
Sebastián Aedo (2):
netprofm: Add INetwork_GetNetworkConnections test.
netprofm: Implement network_GetNetworkConnections.
Stefan Dösinger (1):
ntdll: Fix building on Mojave / Xcode 11.3.1.
Tarcísio Ladeia de Oliveira (1):
gdi32/tests: Fix assertion message.
Tim Clem (3):
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryBasicInformation).
wow64: Return error from NtQueryVirtualMemory(MemoryRegionInformation) for a too-large address.
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryRegionInformation).
Torge Matthies (1):
ntdll: Fix incorrectly sized mov in user_mode_callback_return.
Zebediah Figura (12):
winevulkan: Do not pass win32 allocation callbacks directly to the Unix side.
winecoreaudio: Disable thread DllMain() calls.
winecoreaudio: Clean up the timer queue handle in DllMain().
wined3d: Factor out creating the window state thread.
wined3d: Set the window state thread description only if it's actually a new thread.
d3d8/tests: Test drawing from a managed texture after Reset().
d3d9/tests: Test drawing from a managed texture after Reset().
wined3d: Factor out a mark_managed_resource_dirty() helper.
wined3d: Add a dirty rect to managed textures when resetting.
wined3d: Always invalidate ~map_binding in texture write maps.
d3d8: Build without -DWINE_NO_LONG_TYPES.
d3d9: Build without -DWINE_NO_LONG_TYPES.
Zhiyi Zhang (15):
comctl32/button: Initialize dtFlags in PB_Paint().
win32u: Skip detached monitors in is_window_rect_full_screen().
winex11.drv: Initialize escape.drawable in X11DRV_GetDC().
winecfg: Use SM_CYSIZE to set and get caption height.
winecfg: Adjust top-level window rectangles after theme changes.
user32: Hook drawing menu buttons.
uxtheme: Support drawing themed menu buttons.
user32/tests: Test creating a fullscreen window spanning multiple monitors.
winex11.drv: Support _NET_WM_FULLSCREEN_MONITORS.
d2d1/tests: Add hwnd render target pixel format tests.
d2d1: Use D2D1_ALPHA_MODE_IGNORE if D2D1_ALPHA_MODE_UNKNOWN is used for creating hwnd render targets.
uxtheme: Reference count theme classes.
uxtheme: Use atomic functions for reference counting.
light.msstyles: Add nonclient metrics.
user32: Use NtUserSetWindowLongPtr() in set_dialog_proc().
Ziqing Hui (4):
usp10/tests: Add CJK shaping test.
usp10/tests: Add Hiragana shaping test.
usp10/tests: Add Katakana shaping test.
gdi32/uniscribe: Add fallback font for Kana and CJK script.
wuliande (1):
msvcp90: Make _Condition_variable_* function pointers static.
The Wine development release 7.0.1 is now available.
What's new in this release:
- Various bug fixes
- Translation updates
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0.1 (total 32):
- #12732 Nota Bene crashes on install
- #44202 undname.c fails to parse symbols with rvalue-reference semantics '&&'
- #45916 x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask
- #50352 Maximum sockets per process is set very low
- #50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
- #50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field)
- #50869 Killing Wine process in Wine 6.5 doesn't terminate the application because of the new use of start.exe
- #51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
- #51619 advapi32:registry fails in Wine because French & German timezone name translations are too long
- #51900 regression: REAPER scrollbars flash between themed and non-themed
- #52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix
- #52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
- #52426 BCryptSignHash mishandles empty arguments
- #52434 Light Blue theme has rendering errors in tree views
- #52436 In Light Blue theme, checkable toggle buttons (BS_AUTOCHECKBOX) look unchecked when hovered
- #52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names
- #52476 QuickLOAD (VB5 app) input value is changed by factor 10
- #52494 shell32 progman_dde tests crash if run immediately after prefix creation
- #52510 alt:V mod for Grand Theft Auto V fails due to missing concrt140._Byte_reverse_table@details@Concurrency@@3QBEB
- #52562 advapi32:registry fails in Wine because some French timezone name translations are too long
- #52581 Internet MIDI crashes with Light Blue theme enabled
- #52583 ApiSetView does not display export ordinals correctly
- #52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
- #52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64
- #52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags
- #52667 DTS Master Audio Suite can't select save file location when wine's "Light" theme is used
- #52679 Anno 1602 / 1602 A.D. graphics too dark / black
- #52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll
- #52787 Invalid function prototype for "RegisterUserApiHook" when compiling for C++
- #52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage
- #53034 Lazarus: menu text disappears under mouse if light theme is enabled
- #53430 urlmon:url fails due to unexpected redirection
----------------------------------------------------------------
Changes since 7.0:
Alex Henrie (14):
explorer: Only try to destroy the IShellWindows object if it exists.
tzres: Inform translators of 31-character limit.
po: Update Catalan translation.
msi: Fix memory leak in get_fusion_filename (Coverity).
winhttp: Fix memory leak on error path in WinHttpCrackUrl (Coverity).
adsldp: Fix memory leak on error path in search_ExecuteSearch (Coverity).
conhost: Fix memory leak on error path in create_screen_buffer (cppcheck).
dbghelp: Fix memory leak on error path in dwarf2_read_range (cppcheck).
ws2_32: Fix memory leak on error path in get_local_ips (cppcheck).
ws2_32: Fix memory leaks on error paths in unix_gethostby* (scan-build).
sane: Fix memory leak in create_item (Coverity).
winspool: Fix memory leaks on error path in DeviceCapabilitiesA (Coverity).
shell32: Fix sizeof argument in DoPaste (Coverity).
mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).
Alexandre Julliard (12):
user.exe: Make sure that the thunk selector doesn't get freed.
makefiles: Disable printf format warnings for non-PE msvcrt modules.
readme: Mention Gitlab.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
secur32/tests: Update for new WineHQ certificate.
urlmon/tests: Run tests against the gitlab server to avoid redirects.
webservices/tests: Mark tests that fail on 64-bit as todo.
wininet/tests: Update WineHQ certificate.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Don't require an email if we have a URL.
Alistair Leslie-Hughes (1):
msado15: Return valid object in Recordset::Clone.
Andrey Gusev (1):
d3d11: Implement the ID3DUserDefinedAnnotation interface.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bastien Orivel (1):
ws2_32: Fix setsockopt(TCP_NODELAY) when optlen is less than 4.
Ben Shefte (1):
ntdll: Use case insensitive comparison in is_import_dll_system().
Bhavesh Davda (1):
wined3d: Add GPU information for NVIDIA Ampere A10 and AMD Radeon Pro V620 GPUs.
Brandon Moore (1):
msadpm: Stop decoding instead of crashing for invalid adpcm data.
Brendan Shanks (1):
makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
David Kahurani (1):
oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Dmitry Timoshkov (2):
ieframe: Clear a being invalidated history entry.
ieframe: Initialize new history log entry.
Eric Pouech (3):
start: Wrap child inside a job so it gets killed when start.exe terminates.
include/msvcrt: Redefine towlower* & towupper* with wint_t types.
msacm32: Use extended structure definition for driver configuration.
Fabian Maurer (4):
printui: Use LocalFree for memory allocated by LocalAlloc (Coverity).
mfplay: Prevent usage of uninitialized pointer in error case (Coverity).
mfplat: Prevent use after free (Coverity).
shell32: Prevent user after free in error case (Coverity).
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (8):
po: Fix the French translation of 'code page'.
po: Fix backslash duplication in a French translation.
po: Remove a space before a linefeed in the French translation.
po: Remove spaces before linefeeds in the Spanish translation.
po: Remove a space before a linefeed in the Chinese translation.
po: Fix an accelerator shortcut in the Norwegian Bokmål translation.
inetmib1: Avoid overflows in IPv4 address comparisons.
inetmib1: Fix the IPv4 address network order for comparisons.
Gabriel Ivăncescu (3):
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground.
jscript: Handle NULL return pointers in all constructors.
mshtml: Fix leak on failure in return_nsstr.
Gerald Pfeifer (1):
iphlpapi: Zero-init prefix_len to avoid a compiler warning.
Gijs Vermeulen (1):
setupapi: Add SetupQueryInfVersionInformationA/W stub.
Giovanni Mascellani (3):
winegstreamer: Do not block forever if EOS races with command queue.
mfplat: Avoid a race condition when releasing a tracked sample.
mfmediaengine: Fix a memory leak.
Hans Leidekker (1):
msi: Use custom action name for MsiBreak handling.
Henri Verbeet (2):
d3d11/tests: Add some tests for ID3DUserDefinedAnnotation.
wined3d: Add GPU information for NVIDIA Tesla T4.
Kevin Puetz (1):
winegcc: --out-implib needs to propagate -m32/-m64 to winebuild.
Lauri Kenttä (2):
po: Update Finnish translation.
readme: Update Finnish translation.
Louis Lenders (2):
wbemprox: Add some properties of SoftwareLicensingProduct class.
ole32: Add stub for OleConvertIStorageToOLESTREAMEx.
Martin Storsjö (1):
ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64.
Matteo Bruni (1):
combase: Add RoSetErrorReportingFlags() stub.
Michael Stefaniuc (3):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Import the gitlab CI from the master branch (devel tree).
tools: Import make_announce changes from the devel tree.
Mohamad Al-Jaf (1):
hid: Implement HidD_GetPhysicalDescriptor.
Nikolay Sivov (4):
comctl32/listview: Initialize subitem text buffer before drawing each subitem.
uxtheme: Fix double free on registry key handle.
xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage().
evr/sample: Avoid a race condition when releasing a tracked sample.
Paul Gofman (1):
concrt140: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
Piotr Caban (2):
ucrtbase: Add support for r-value demangling in unDName.
msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
Piotr Kleski (1):
bcrypt: Return BCryptSignHash len when only output is NULL.
Robert Wilhelm (2):
scrrun: Add test for GetTempName.
scrrun: Generate temp name with tmp suffix.
Rémi Bernon (1):
mf: Handle MESourceSeeked and MEStreamSeeked state change events.
Santino Mazza (2):
ncrypt/tests: Test key import of an rsa key.
ncrypt: Make NCryptOpenStorageProvider return a valid stub pointer.
Saulius Krasuckas (1):
ntdll: Check __WINE_PE_BUILD instead of compiler macros.
Zebediah Figura (12):
ws2_32/tests: Add tests for WSAStartup().
ws2_32: Always fill the WSADATA structure in WSAStartup().
ws2_32: Cap the negotiated winsock version to 1.1 or 2.2.
ws2_32: Return 32767 or 0 in the iMaxSockets field.
ws2_32: Return 65467 or 0 in the iMaxUdpDg field.
ws2_32: Return WSAEFAULT instead of WSAEINVAL from WSAStartup() if "data" is NULL.
configure: Fix the check for CAPI support.
d3dx9: Don't mark annotation variables as dirty.
winegstreamer: Release stream_cs on error in stream_thread().
setupapi: Avoid leaking subKey in SETUPDI_AddDeviceInterfaces().
server: Allocate enough space for the backslash in dup_nt_name() (Valgrind).
tiff: Explictly link to zlib.
Zhiyi Zhang (14):
user32/tests: Test painting standard scroll bars in hovered state.
user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc().
comctl32/button: Use pressed state when a pushlike checkbox or radio button is checked and hovered.
comctl32/treeview: Do not draw client edge without WS_EX_CLIENTEDGE.
light.msstyles: Do not use transparent treeview parts.
uxtheme/tests: Add IsThemePartDefined() tests.
uxtheme: Search parts of any state in IsThemePartDefined().
light.msstyles: Add Menu stub class.
user32/tests: Test NUMCOLORS for display DCs.
win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
include: Avoid a C++ keyword for RegisterUserApiHook().
light.msstyles: Use stretch sizing type for scroll bar arrow button background.
uxtheme: Support parsing menu class.
light.msstyles: Add Menu parts.
The Wine development release 7.20 is now available.
What's new in this release:
- Mono engine updated to version 7.4.0.
- Font linking improvements.
- A number of fixes for exception unwinding.
- Support for dumping EMF spool files in WineDump.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.20.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 7.20 (total 29):
- #15679 cygwin symlinks not working in wine
- #29998 Crysis 2 (>1.0) huge graphical issues after loading a savegame
- #38594 dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols (Visual C++ 2013 .pdb's)
- #38604 winedbg: internal crash/hangs when running ieframe/tests/ie.c with pdb debug symbols
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47595 Tequila City of Heroes Launcher - expect_no_runtimes Process exited with a Mono runtime loaded.
- #48197 Autonauts in steam under wine has a memory leak.
- #50573 division by zero in wineconsole when hovering mouse over
- #51529 CloseHandle(INVALID_HANDLE_VALUE) returns FALSE, GetLastError is ERROR_INVALID_HANDLE
- #51775 Axiom Verge 2 crashes on startup due to incomplete sapi implementation
- #52545 ACE rights parser should allow octal and decimal formats
- #52648 conhost.exe:tty test_read_console_control() fails in Hindi and Portuguese
- #52790 winedbg 'bt all' filled with dbghelp_dwarf RULE_VAL_EXPRESSION fixmes
- #53437 ZOSI Cloud crashes on start
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53521 imm32:imm32 - test_default_ime_window_creation() fails on Windows 10 21H1+
- #53552 Line width calculation failure in WineMono.Tests.System.Windows.Media.TextFormatting.TextFormatterTest.NewlineCharacterCollapsibleTest
- #53608 Visual Novel Shin Koihime † Eiyuutan 4 plays opening movie in separate window
- #53669 Problems with two separate MetaTrader4 programs on the same Wine desktop
- #53679 The 64-bit ntdll:env fails on Windows 7
- #53724 Obduction fails in a random way out of a handful of possible ways
- #53770 Wrong locale data for Chinese locales for LOCALE_SNATIVEDIGITS class
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53813 Let's encrypt certificate validation fails
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53829 Font links for MingLiU broken 32-bit wineprefixes
- #53832 wbemprox: where-clause seems to be case-sensitive
- #53838 Non-PE builds fail after "makedep: Make the installation directories architecture-generic."
----------------------------------------------------------------
Changes since 7.19:
Akihiro Sagawa (8):
quartz/tests: Add a background brush test for video renderer.
quartz: Fix video flickering.
shell32/tests: Add DBCS file name tests for DragQueryFile.
shell32/tests: Add more DragQueryFile tests.
shell32: Merge ANSI part of DROPFILES handler into DragQueryFileW.
shell32: Reimplement DragQueryFileA to rely on its Unicode version.
shell32: Returns a number of copied characters in DropQueryFileW.
shell32: Returns a number of copied bytes in DropQueryFileA.
Alex Henrie (14):
include: Add TOOLINFO[AW].
shell32: Move strndupW to dde.c.
shell32: Use standard C functions for memory allocation in dde.c.
shell32: Introduce combine_path helper for DDE.
shell32: Sanitize Program Manager icon and group names.
include: Add WSANO_ADDRESS to winsock2.h.
include: Move strto[iu]max(_l) from stdlib.h to inttypes.h.
uuid: Add devguid.h.
msvcrt: Change return type of _putenv_s to errno_t.
include: Add _putenv_s.
shell32: Don't use strdupW or heap_* functions in shellole.c.
shell32: Don't use strdupW or heap_* functions in shelldispatch.c.
shell32: Don't use strdupW or heap_* functions in shelllink.c.
shell32: Remove unused function strdupW.
Alexandre Julliard (21):
nls: Update locales that have been added in recent Windows versions.
nls: Allow specifying a locale's native digits.
makedep: Pass a generic architecture value instead of the is_cross flag to various helpers.
makedep: Make the target flags architecture-generic.
makedep: Make the debug flags architecture-generic.
makedep: Make the delay load flags architecture-generic.
makedep: Make the extra C flags architecture-generic.
makedep: Make the installation directories architecture-generic.
makedep: Make the object files architecture-generic.
makedep: Make the import library files architecture-generic.
makedep: Make the makefile targets architecture-generic.
makedep: Add support for architecture-specific sources.
makedep: Add support for architecture-specific IDL objects.
makedep: Make the resource files architecture-generic.
makedep: Add a helper function to build a source file for one architecture.
makedep: Add a helper function to get a cross-compilation make variable.
makedep: Add a helper function to build an arch-specific module name.
makedep: Make the disabled flag architecture-generic.
makefiles: Store PE objects in subdirectories in the build tree.
configure: Remove no longer needed check for dlltool.
makedep: Remove arch directories on distclean.
Alistair Leslie-Hughes (8):
crypt32: Only report Unimplemented decoder when not found in external dll.
sapi: Implement ISpObjectToken OpenKey.
sapi: Move token structure before EnumTokens function.
sapi: Store registry key to Enum builder.
sapi: Implement ISpObjectTokenEnumBuilder Item.
sapi: Implement ISpObjectTokenEnumBuilder Next.
sapi: Add default voice registry key.
sapi: Add Voice enum tests.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder interfaces.
quartz/tests: Add tests for MPEG layer-3 decoder aggregation.
quartz/tests: Test MPEG layer-3 decoder unconnected filter state.
quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG layer-3 decoder.
quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG layer-3 decoder.
quartz/tests: Add tests for querying MPEG layer-3 decoder pin info.
Bartosz Kosiorek (26):
msvcrt: Add _mbctolower_l partial implementation.
msvcrt: Add _mbctoupper_l partial implementation.
msvcrt: Add _mbslwr_s_l partial implementation.
msvcrt: Add _mbsupr_s_l partial implementation.
msvcrt: Add _mbschr_l implementation.
msvcrt: Add _mbsicmp_l implementation.
msvcrt: Add _mbclen_l implementation.
msvcrt: Fix error handling for _mbscmp_l.
msvcrt: Add _ismbslead_l implementation.
msvcrt: Add _ismbstrail_l implementation.
msvcrt: Add _ismbcsymbol_l implementation.
msvcrt: Add _mbsinc_l implementation.
msvcrt: Fix error handling for strcat_s.
msvcrt: Fix error handling for strcpy_s.
gdiplus: Add GdipSetPenCompoundArray implementation.
gdiplus: Add GdipGetPenCompoundCount implementation.
gdiplus: Add GdipGetPenCompoundArray implementation.
msvcrt: Add _ismbchira_l implementation.
msvcrt: Add _ismbckata_l implementation.
msvcrt: Add _mbbtombc_l implementation.
ucrtbase: Export more _o_* functions.
msvcrt: Add _mbcjistojms_l implementation.
msvcrt: Add _mbcjmstojis_l implementation.
msvcrt: Add _mbctombb_l implementation.
msvcrt: Add _mbctohira_l implementation.
msvcrt: Add _mbctokata_l implementation.
Brendan Shanks (5):
mmdevapi: Set the name of internal threads.
xinput1_3: Set thread name for hid_update_thread_proc.
sechost: Set the name of internal threads.
ntdll: Set native thread names on Linux when set with SetThreadDescription().
server: Only require THREAD_SET_LIMITED_INFORMATION access to set thread description.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (15):
uiautomationcore: Add support for multiple providers on a single HUIANODE.
uiautomationcore: Determine provider type for nested node providers.
uiautomationcore: Add support for getting HWND providers to UiaNodeFromProvider().
uiautomationcore: Add support for getting HWND providers to uia_node_from_lresult().
uiautomationcore/tests: Ignore UIA_NativeWindowHandlePropertyId in certain tests.
uiautomationcore: Implement UiaRegisterProviderCallback.
uiautomationcore: Add UiaGetUpdatedCache stub.
uiautomationcore: Implement UiaGetUpdatedCache.
uiautomationcore: Add basic UiaCondition support to UiaGetUpdatedCache.
uiautomationcore/tests: Add tests for boolean UIA ConditionTypes.
uiautomationcore/tests: Add ConditionType_Property tests.
uiautomationcore: Add support for ConditionType_Not conditions.
uiautomationcore: Add support for ConditionType_{And/Or} conditions.
uiautomationcore: Implement ConditionType_Property conditional for UIAutomationType_Bool properties.
uiautomationcore: Add support for UIAutomationType_IntArray property comparisons.
Daniel Lehman (4):
kernel32/tests: Add tests for CancelSynchronousIo.
ntdll: Add NtCancelSynchronousIoFile stub.
ntdll: Implement NtCancelSynchronousIoFile.
kernelbase: Call NtCancelSynchronousIoFile in CancelSynchronousIo.
David Kahurani (1):
xmllite/writer: Null terminate duplicated strings.
Eric Pouech (11):
dbghelp: Rework dwarf2_get_ranges() helper.
dbghelp: No longer call read_range() for inline site (dwarf).
dbghelp: Allow symt_block to be defined over non contiguous chunks.
dbghelp: Silence some FIXMEs.
oleaut32/tests: Fix test failing on UTF-8 locale.
ntdll/tests: Force alignment of output structures.
dbghelp: Use heap functions for allocation.
dbghelp: Realloc array of buckets inside struct vector.
conhost/tests: Fix tests for some keyboard layouts.
conhost/tests: Fix some tests on input sequences.
kernel32/tests: Workaround some broken Windows behavior in console tests.
Esme Povirk (3):
user32: Test Get/SetWindowPlacement with invalid length.
win32u: Reject invalid length in SetWindowPlacement.
mscoree: Update Wine Mono to 7.4.0.
Etaash Mathamsetty (3):
ntoskrnl.exe: Implement IoCreateNotificationEvent.
ntoskrnl.exe: Fix formatting in IoCreateSynchronizationEvent.
ntoskrnl.exe: Use LoadLibraryW for MmGetSystemRoutineAddress.
Fabian Maurer (1):
ntdll: Prevent double free (Coverity).
Florian Kübler (1):
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (x86_64).
François Gouget (8):
wintrust: Add a trailing linefeed to an ERR() message.
winetest: Let the get_subtests() caller report errors.
dbghelp: Fix the trailing linefeed of a WARN() message.
d3d10core/tests: Fix the spelling of a comment.
dbghelp: Fix the spelling of a couple of comments.
rpcrt4/tests: Fix the spelling of a couple of comments.
msdasql: Fix a typo in the is_fixed_length() function name.
ddraw/tests: Mark tests failing randomly on Windows 8 as flaky.
Gabriel Ivăncescu (28):
jscript: Implement Function.prototype.bind's `thisArg` properly.
jscript/tests: Fix copy paste mistake in JSON test.
jscript: Implement `reviver` argument for JSON.parse.
wininet: Handle offline state in InternetGetConnectedStateExW.
netprofm: Handle non-internet connectivity.
mshtml: Move the ConnectionPointContainer out of basedoc.
mshtml: Move the IServiceProvider interface out of basedoc.
mshtml: Move the Persist interfaces out of basedoc.
mshtml: Move the IOleCommandTarget interface out of basedoc.
mshtml: Move the OleObj interfaces out of basedoc.
mshtml: Move HTMLDocumentObj implementation to oleobj.c.
mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
mshtml: Move the IHTMLDocument2 interface out of basedoc.
mshtml: Move the IHTMLDocument3 interface out of basedoc.
mshtml: Move the IHTMLDocument4 interface out of basedoc.
mshtml: Move the IHTMLDocument5 interface out of basedoc.
mshtml: Move the IHTMLDocument6 interface out of basedoc.
mshtml: Move the IHTMLDocument7 interface out of basedoc.
mshtml: Move the IDispatchEx interface out of basedoc.
mshtml: Get rid of the outer_unk in basedoc.
mshtml: Get rid of the outer window in basedoc.
mshtml: Get rid of the HTMLDocument basedoc.
jscript: Implement VariantChangeType for VT_DISPATCH and VT_UNKNOWN.
mshtml: Allow null or undefined listeners in attachEvent/detachEvent.
mshtml: Allow null or undefined func in addEventListener.
mshtml: Get rid of a EVENTID_LAST special case.
mshtml: Implement document.mimeType.
mshtml: Implement document.referrer.
Gerald Pfeifer (2):
ntdll: Fix build on systems without ENODATA.
loader: Unbreak FreeBSD builds (ARRAY_SIZE undefined).
Hans Leidekker (2):
crypt32: Parse OCSP responder name.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (4):
kernel32/tests: Remove tests comparing expected output in certain functions.
kernelbase: Add stubs for GetConsoleOriginalTitleA/W().
kernel32/tests: Add tests for GetConsoleOriginalTitleA/W().
kernelbase: Avoid memory leaks in GetConsoleTitleW().
Jacek Caban (2):
user.exe: Pass resource ID as a string in DIALOG_CreateControls16.
makedep: Always use -mno-cygwin for extra test modules.
Jinoh Kang (8):
win32u: Fix data race in NtUserGetProcessDpiAwarenessContext.
gdiplus: Avoid recursively locking image in GdipImageRotateFlip.
gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
gdiplus: Replace GpImage's busy flag with SRWLOCK.
user32/tests: Test for window exposure behaviours.
kernel32/tests: Add test for pipe name with a trailing backslash.
ntdll/tests: Add tests for pipe names.
ntdll/tests: Add more tests for \Device\NamedPipe and \Device\NamedPipe\.
Joel Holdsworth (2):
ntdll/tests: Add initial tests for reparse points.
ntdll: Add FSCTL_GET_REPARSE_POINT semi-stub.
Martin Storsjö (4):
win32u: Make sure that the stack buffer in set_multi_value_key is large enough.
ntdll: Move the dwarf reading routines to a shareable header.
ntdll: Add support for aarch64 in the dwarf implementation.
ntdll: Use the local dwarf implementation on arm64.
Michael Stefaniuc (11):
ntdll: Use ARRAY_SIZE instead of open coding it.
riched20/tests: Use ARRAY_SIZE instead of open coding it.
kernel32/tests: Use ARRAY_SIZE instead of open coding it.
server: Use ARRAY_SIZE instead of open coding it.
loader: Use ARRAY_SIZE instead of open coding it.
libs/wine: Use ARRAY_SIZE instead of open coding it.
widl: Use ARRAY_SIZE instead of open coding it.
winegcc: Use ARRAY_SIZE instead of open coding it.
wmc: Use ARRAY_SIZE instead of open coding it.
wrc: Use ARRAY_SIZE instead of open coding it.
makedep: Use ARRAY_SIZE instead of open coding it.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (13):
dwrite/tests: Use existing to create factory instance.
d2d1: Test device context type in BindDC().
ntdll: Add some already implemented security descriptor exports.
kernelbase: Forward some of the security descriptor functions to ntdll.
kernelbase: Forward some directory info classes in GetFileInformationByHandleEx().
kernelbase: Make sure to provide a message for missing information classes in GetFileInformationByHandleEx().
kernelbase: Forward some more classes in GetFileInformationByHandleEx().
ntdll: Partially implement MemoryRegionInformation query.
kernelbase: Add QueryVirtualMemoryInformation().
user32: Add DragObject() stub.
win32u: Move NtUserDragDetect() to window.c.
mf/samplegrabber: Send MEStreamSinkRateChanged event.
mf/samplegrabber: Send MEStreamSinkScrubSampleComplete event.
Paul Gofman (14):
wbemprox: Fix string length in get_value_bstr().
msvcrt: Display message box in abort() for specific CRT versions only.
winmm: Use a global timeout for refreshing joystick devices.
win32u: Store GPU luid in adapters cache.
win32u: Move NtUserDisplayConfigGetDeviceInfo implementation from user32.
win32u: Store output id in monitors cache.
win32u: Implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME).
ws2_32/tests: Make test_so_reuseaddr() more conclusive.
ws2_32/tests: Add tests for reusing address without SO_REUSEADDR.
ws2_32/tests: Also test TCP6 in test_so_reuseaddr().
ntdll: Move SO_REUSEADDR handling to server.
server: Track SO_REUSEADDR value.
server: Set Unix SO_REUSEADDR on all the TCP sockets.
ws2_32/tests: Also test bind to any together with loopback in a different order.
Piotr Caban (34):
winedump: Add initial EMF spool files support.
winedump: Fix buffer overflow in debugstr_wn helper.
winedump: Don't use static offset in dump_emfrecord.
winedump: Dump metafiles in EMF spool files.
winedump: Add prefix when dumping EMF files.
winedump: Add support for EMRI_METAFILE_EXT records.
comctl32: Add helper for calling PROPERTYSHEETPAGE callback.
comctl32: Add helper for getting flags from HPROPSHEETPAGE.
comctl32: Add helper for loading dialog template from HPROPSHEETPAGE.
comctl32: Add helper for getting title from HPROPSHEETPAGE.
comctl32: Add helper for getting icon from HPROPSHEETPAGE.
comctl32: Add helper for creating page HWND from HPROPSHEETPAGE.
comctl32: Add helper for getting template from HPROPSHEETPAGE.
comctl32: Add helper for setting header title in HPROPSHEETPAGE.
comctl32: Add helper for setting header subtitle in HPROPSHEETPAGE.
comctl32: Add helper for drawing header title and subtitle obtained from HPROPSHEETPAGE.
msvcrt: Fix mbcasemap initialization.
msvcrt: Add support for multi-byte characters in _mbctolower_l.
msvcrt: Add support for multi-byte characters in _mbctoupper_l.
msvcrt: Fix error handling in _mbsupr_s_l.
msvcrt: Fix error handling in _mbslwr_s_l.
winedump: Handle NULL in get_unicode_str.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
comctl32: Create page if PROPSHEETPAGE was passed as HPROPSHEETPAGE to PropertySheetAW or PSM_INSERTPAGE.
comctl32: Don't use PROPSHEETPAGE structure to store internal HPROPSHEETPAGE data.
comctl32: Fix PROPSHEETPAGE[AW] structure content in messages and callbacks.
comctl32: Add support for adding extra data in CreatePropertySheetPage.
compstui: Add CPSFUNC_ADD_PFNPROPSHEETUI support.
compstui: Add CPSFUNC_ADD_PROPSHEETPAGE support.
compstui: Test that callbacks are executed.
maintainers: Update Microsoft C Runtime files list.
winemac.drv: Fix registry path size in create_original_display_mode_descriptor.
Rémi Bernon (10):
opengl32: Split is_extension_supported helper.
opengl32: Build extension list in is_extension_supported.
opengl32: Move filter_extensions (et al.) around.
opengl32: Use has_extension in filter_extensions_index.
win32u: Use session BaseNamedObjects for display_device_init mutex.
winex11.drv: Use session BaseNamedObjects for display_device_init mutex.
dinput/tests: Add dummy flaky test count.
ntoskrnl.exe/tests: Add dummy flaky test count.
schedsvc/tests: Add dummy flaky test count.
win32u: Write display modes to registry as binary blobs.
Stanislav Motylkov (1):
hhctrl.ocx: Fix toolbar icons order.
Vladislav Timonin (2):
d2d1: Update to ID2D1Device1.
d2d1: Implement ID2D1Device1::CreateDeviceContext.
Zebediah Figura (8):
wined3d: Do not enforce GL map access for resources with WINED3D_RESOURCE_ACCESS_CPU.
ws2_32/tests: Add more tests for iosb contents while a recv is pending.
ntdll: The async handle passed to set_async_direct_result() cannot be NULL.
ntdll: Fill the IOSB in sock_recv() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_recv().
ntdll: Fill the IOSB in sock_send() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_send().
ntdll: Fill the IOSB in sock_transmit() only inside the "if (alerted)" block.
Zhiyi Zhang (10):
comctl32/tests: Ignore WM_NCPAINT when testing WM_THEMECHANGED for updown control.
comctl32/tests: Test if WM_STYLECHANGED repaints controls.
comctl32/treeview: Don't repaint when handling WM_STYLECHANGED.
comctl32/listview: Don't repaint when handling WM_STYLECHANGED.
comctl32/animate: Don't repaint when handling WM_STYLECHANGED.
comctl32/datetime: Don't repaint when handling WM_STYLECHANGED.
comctl32/syslink: Don't repaint when handling WM_STYLECHANGED.
comctl32/tab: Don't repaint when handling WM_STYLECHANGED.
comctl32/updown: Don't repaint when handling WM_STYLECHANGED.
comctl32/tests: Use a toolbar with TBSTYLE_FLAT in toolbar visual tests.
Ziqing Hui (10):
win32u: Add mechanism for font specific system links.
win32u: Add font link for MS UI Gothic.
win32u: Add more linked fonts for Tahoma.
win32u: Add locale_dependent member to struct system_link_reg.
win32u: Add font links for Microsoft JhengHei.
win32u: Add font links for MingLiU.
win32u: Add font links for MS Gothic.
win32u: Add font links for Yu Gothic UI.
win32u: Add font links for Meiryo.
win32u: Add font links for MS Mincho.
The Wine development release 7.19 is now available.
What's new in this release:
- Support for storing DOS attributes on disk.
- Bundled vkd3d upgraded to version 1.5.
- Support for MPEG-4 audio format.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.19.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 7.19 (total 17):
- #9158 Multiple Microsoft development tools online/web installers fail to skip "$shtdwn$.req" with FILE_ATTRIBUTE_HIDDEN (Visual Studio Express Editions, .NET Framework 3.0)
- #48414 OpenMPT UI does not render all textboxes correctly
- #50269 Multiple applications need IWMSyncReader::GetOutputCount() implementation (Resident Evil Revelations 2; Ultimate Marvel vs Capcom 3)
- #51884 HP Prime Virtual Calculator Emulator crashes when license agreement screen opens
- #52655 Cubase 12 crashes on unimplemented function advapi32.dll.OpenThreadWaitChainSession
- #52659 No sound for games that utilize windows media player functionality
- #52931 vulkan-1:vulkan fails in Wine on cw-rx460 and Intel cards
- #52954 Kheops Studio adventure games: Graphic bug that prevents any progress in the game
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53575 Subtitle Workshop Classic 6.1.4 disabled menu items are not viewable at all with Light theme
- #53615 Sonic Adventure DX (2004) deadlocks on the title screen
- #53645 AIMP 3 causes memory leaks
- #53672 x64dbg crashes when opening executable
- #53673 "AE VN Tools" fails to launch in staging v7.17 (previously "just worked" on staging v7.13)
- #53700 DbgChild crashes on unimplemented function ntdll.dll.RtlDosPathNameToRelativeNtPathName_U
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53773 winetricks dotnet35 fails to install
----------------------------------------------------------------
Changes since 7.18:
Akihiro Sagawa (1):
imm32/tests: Don't expect IME window if the parent is message-only window descendant.
Alex Henrie (4):
winegstreamer: Fix memory leak in get_available_media_type (Coverity).
include: Fix typo in LR_VGACOLOR.
include: Fix typos in NIN_BALLOON*.
include: Add LV_COLUMN[AW].
Alexandre Julliard (19):
tests: Do not report flaky tests as failures by default.
user32/tests: Flush window events to fix some race conditions.
user32/tests: Mark some input tests as flaky.
mmdevapi/tests: Mark some capture tests as flaky.
dinput/tests: Mark a mouse input test as flaky.
quartz/tests: Mark some tests as flaky.
vkd3d: Import upstream release 1.5.
Revert "oleaut32: Dereference VT_RECORD|VT_BYREF in place.".
Revert "oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.".
vkd3d: Update version number.
gitlab: Run the full test suite on merge requests.
wmvcore/tests: Reduce the number of printed todos.
gdiplus: Get the compositing mode directly from the graphics object.
windowscodecs: Redirect TIFF debug output to the Wine debug functions.
winegstreamer: Respect debug channels configuration for error output.
mmdevapi/tests: Mark some failing tests as flaky.
ngen: Add version resource.
wined3d: Use a Wine debug channel for vkd3d debug output.
d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision.
Alistair Leslie-Hughes (9):
odbc: SQLGetInfoW allow NULL parameter InfoValue.
msdasql: Implement IColumnsInfo GetColumnInfo.
msdasql: Select statements return -1 for affected rows in ICommandText Execute.
msdasql: Implement IRowsetInfo GetProperties.
sapi: Store the token id in ISpObjectToken SetId.
sapi: Implement ISpObjectToken GetId.
include: Add missing SP defines.
sapi: Implement ISpRegDataKey CreateKey.
sapi: Implement ISpRegDataKey GetStringValue.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (6):
ntdll: Set the name of internal thread pool threads.
rpcrt4: Set the name of internal threads.
wininet: Set thread name for collect_connections_proc.
wined3d: Set name of internal threads.
ntdll: Remove shared heap functionality.
kernel32: Remove shared heap functionality.
Connor McAdams (6):
uiautomationcore: Use a separate vtbl for nested node IWineUiaProviders.
uiautomationcore: Don't use nested node providers for same-thread HWNDs.
uiautomationcore: Track all HUIANODEs returned from the provider thread.
uiautomationcore: Implement UiaDisconnectProvider.
uiautomationcore: Store provider thread nodes that have a runtime ID in an rbtree.
uiautomationcore: Add UIAutomationType_Element property support for nested node providers.
David Kahurani (1):
xmllite/writer: Properly validate DocType name.
Eric Pouech (21):
dbghelp: Fix local scope reset upon module unloading.
krnl386.exe16: Don't pass NULL to printf/%s).
winedump: Dump global hash table out of PDB symbols' stream.
winedump: Dump PDB public symbols' stream.
dbghelp: Add support for static variables at function scope (PDB).
dbghelp: Fix container for global variables (Dwarf).
dbghelp: Fix variable storage information (Dwarf).
dbghelp: Don't load invalid records for global symbol stream.
dbghelp: Improve de-duping global symbols information (PDB).
dbghelp: SymFromName* should first look in local context.
dbghelp: Remove address field from symt_compiland.
dbghelp: Expose local static variables' address.
winedbg: Enhance printing of variables or fields.
dbghelp: No longer use wine_dbgstr_longlong.
dbghelp: Silence some FIXME for SymGetTypeInfo/TI_GET_OFFSET.
dbghelp: Keep compiland's address for Dwarf debug format.
dbghelp: Remove symt_close_func_block() stabs's only parameter.
wined3d: Ensure function declaration matches implementation.
wined3d: Ensure method declaration matches implementations.
wined3d: Use I width modifier for debug traces on DWORD_PTR.
conhost: Fix tests on ReadConsole with CONSOLE_READCONSOLE_CONTROL.
Erich Hoover (3):
ntdll: Implement retrieving DOS attributes in [fd_]get_file_info().
ntdll: Implement storing DOS attributes in NtSetInformationFile.
ntdll: Implement storing DOS attributes in NtCreateFile.
Esme Povirk (1):
windowscodecs/tests: Accept new error code from win11.
Etaash Mathamsetty (1):
ntoskrnl.exe: KeInsertQueueDpc stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (10):
tests: Make sure only one thread prints traces at a time.
tests: Print unhandled exception messages in colour.
dpnet/tests: Mark the test_enum_hosts*() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_cursor_pos() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc_windowed() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_styles() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_messages() tests failing randomly on Windows as flaky.
gdi32/tests: Mark tests failing randomly on Windows as flaky.
imm32/tests: Mark tests failing randomly on Windows as flaky.
Gabriel Ivăncescu (18):
mshtml: Override document.URL's name when adding it from the mshtml typelib.
include/mshtml: Move some forward interface declarations to match Windows SDK.
mshtml: Implement url prop for StorageEvent.
mshtml: Use actual Gecko event type for MessageEvent and StorageEvent.
mshtml: Expand event_info to include a special entry for EVENTID_LAST.
mshtml: Allocate events via event type.
mshtml: Silence a FIXME when parameter is missing.
jscript: Fill the builtin props for enumeration on prototypes as well.
jscript: Refill the props at end of enumeration in html mode and retry.
mshtml: Fix enumerating first custom prop after builtins.
mshtml: Do not enumerate internal dynamic props.
mshtml: Split the lookup for an element with name into a separate helper.
mshtml: Enumerate document elements with name.
shell32/tests: Test drive letters parsing for My Computer.
shell32: Handle drive letters properly when parsing MyComputer.
mshtml: Expose props via element name only for specific element types.
mshtml: Allow accessing some document elements as props via id.
mshtml: Don't create dynamic prop before checking if elem prop even exists.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.230.
Hans Leidekker (2):
schannel/tests: Fix test failure on Windows 11.
schannel/tests: Get rid of workarounds for old Windows versions.
Henri Verbeet (2):
wined3d: Handle VKD3D_SHADER_RESOURCE_DATA_MIXED in wined3d_data_type_from_vkd3d().
wined3d: Use the supplied context in wined3d_device_context_blt().
Hugh McMaster (2):
kernel32/tests: Add tests for GetConsoleTitle().
kernelbase: Return full title length from GetConsoleTitle().
Huw D. M. Davies (2):
nsi: Use the correct members for the error and discard counts.
nsi: Update struct nsi_tcp_conn_dynamic for Windows 11.
Jacek Caban (10):
vbscript: Fix handling missing description in EXCEPINFO.
winevulkan: Separate 32-bit and 64-bit thunks implementation.
winevulkan: Merge body and body_conversion.
winevulkan: Don't pass params struct to private thunks.
winevulkan: Use generated thunks for basic debug traces.
winevulkan: Always use params to return Unix thunks result.
winevulkan: Pass VkVariable to ConversionFunction constructor.
winevulkan: Separate 32-bit and 64-bit conversion functions.
winevulkan: Introduce conversion_context and use it for conversion memory allocation.
winevulkan: Use host Vulkan structures for private thunks arguments.
Joel Holdsworth (1):
ntdll: Implement retrieving DOS attributes in NtQueryInformationFile.
John Chadwick (1):
wintab32: Fix match_token to match XWayland devices.
Kevin Puetz (10):
vbscript: Only set EXCEPINFO strings for cases that map_hres translated.
vbscript/tests: Test throwException with Description but *not* Source.
vbscript: Do HRESULT->VBSERROR mapping for the whole EXCEPINFO at once.
scrrun/tests: Introduce a test_file_contents helper.
scrrun: Fix FileSystemObject.OpenTextFile when writing to existing files.
oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.
oleaut32: Dereference VT_RECORD|VT_BYREF in place.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
rpcrt4/tests: Add tests for lifetime of IRpcChannelBuffer.
rpcrt4: Add a refcount owned by MIDL_STUB_MESSAGE.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
wbemprox: Add HypervisorPresent property to win32_ComputerSystem.
Marcus Meissner (1):
ntdll: Fix GetTempPathW() call passing wrong unit for the buffer size.
Mark Jansen (1):
gdi32: Fix possible overflow.
Martin Storsjö (1):
wow64: Use the right SEH opcode in raise_exception on arm64.
Nikolay Sivov (4):
include: Change include guard for wininet.h.
include: Add IActiveDesktop definition.
shell32: Add Active Desktop stub.
dxva2/tests: Add another render target format to fix a test failure.
Paul Gofman (26):
ntdll: Fix processor package mask in SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure.
winex11.drv: Do not skip taskbar and pager for app window.
msi: Disable FS redirection for temporary file in cabinet_copy_file().
crypt32: Set correct exponent length in decoded BCRYPT_RSAKEY_BLOB.
wintrust/tests: Add tests for multiple PE signatures.
wintrust: Initialize CRYPT_PROVIDER_SIGSTATE structure in Softpub provider.
wintrust: Load secondary signatures in SoftpubLoadSignature().
wintrust: Support WSS_GET_SECONDARY_SIG_COUNT in Softpub provider.
d3d8/tests: Add test for NULL hDeviceWindow in presentation parameters.
d3d9/tests: Add test for NULL hDeviceWindow in presentation parameters.
wined3d: Replace NULL device_window with focus window in swapchain desc.
msvcp140: Import __ExceptionPtrCopy implementation.
msvcp140: Import __ExceptionPtrAssign implementation.
msvcp140: Import __ExceptionPtrRethrow implementation.
msvcp140: Import __ExceptionPtrCurrentException implementation.
msvcp140: Import __ExceptionPtrToBool implementation.
msvcp140: Import __ExceptionPtrCopyException implementation.
msvcp140: Import __ExceptionPtrCompare implementation.
include/windows.devices.enumeration: Define DeviceAccessInformation class.
windows.devices.enumeration: Create stub DeviceAccessInformation class.
windows.devices.enumeration: Add stub IDeviceAccessInformation interface.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL.
winhttp: Stub WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE.
vcruntime140_1: Link to vcruntime140.
msvcp140: Link to vcruntime140.
Piotr Caban (10):
comctl32/tests: Test PROPERTYSHEETPAGE passed in WM_INITDIALOG.
comctl32/tests: Test passing extra data in PROPSHEETPAGE structure.
comctl32/tests: Add more PROPSHEETPAGE tests inside callback.
comctl32/tests: Test passing PropertySheetPage as HPROPSHEETPAGE.
comctl32: Don't pass PROPSHEETPAGE to SetWindowSubclass in PROPSHEET_CreatePage.
comctl32: Introduce _PSP structure to store HPROPSHEETPAGE data.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CollectPageInfo.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CreatePage.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_GetPageRect.
comctl32: Don't cast HPROPSHEETPAGE to PROPSHEETPAGEW*.
Rémi Bernon (75):
winegstreamer: Use IWMSyncReader2_GetMaxStreamSampleSize in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_SetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormat in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormatCount in the async reader.
winegstreamer: Use IWMSyncReader2_GetStreamSelected in the async reader.
winegstreamer: Use IWMSyncReader2_SetStreamsSelected in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputCount in the async reader.
wmvcore/tests: Test IWMSyncReader2_(Get|Set)AllocateFor(Output|Stream).
wmvcore/tests: Test IWMReaderAllocatorEx usage and parameters.
winegstreamer: Factor wm reader sample allocator error checks.
winegstreamer: Implement IWMSyncReader2_SetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_GetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_SetAllocateForStream.
winegstreamer: Implement IWMSyncReader2_GetAllocateForStream.
winegstreamer: Implement H264 decoder GetStreamLimits / GetStreamCount.
winegstreamer: Implement WMA decoder GetStreamLimits / GetStreamCount.
winegstreamer: Check Video Processor Get(OutputStream)Attributes pointers.
winegstreamer: Return E_NOTIMPL from color_convert GetInputStreamAttributes.
mf/tests: Test miscellaneous and optional IMFTransform methods.
winegstreamer: Remove FIXME / stub! from optional transform methods.
winegstreamer: Keep input / output stream info in struct color_convert.
winegstreamer: Keep input / output stream info in struct resampler.
winegstreamer: Keep input / output stream info in struct video_processor.
winegstreamer: Keep input / output stream info in struct wma_decoder.
winegstreamer: Keep input / output stream info in struct h264_decoder.
winegstreamer: Stop requiring input type in H264 decoder GetInputStreamInfo.
mf/tests: Factor IMFTransform_Get(Input|Output)StreamInfo checks together.
mf/tests: Factor transform (Get|Set)(Input|Output)CurrentType tests together.
mf/tests: Add some AAC encoder MFT encoding tests.
mf/tests: Add some AAC decoder MFT decoding tests.
mf/tests: Avoid setting transform types while enumerating.
mf/tests: Test WMV decoder MFT / DMO presence and media types.
mf/tests: Test WMV encoder MFT / DMO presence and media types.
mf/tests: Add some WMV encoder MFT / DMO encoding tests.
mf/tests: Add some WMV decoder MFT / DMO decoding tests.
makedep: Add an import type parameter to add_import_libs.
makedep: Link default imports separately from direct imports.
makedep: Link with imported libs before delay imported libs.
shcore: Use delay import for user32 and ole32.
regedit: Call InitCommonControls after command-line has been processed.
regedit: Add a direct import for shcore.
mf: Avoid clearing media session command list while it is running.
winegstreamer: Move CINEPAK encoded format to a separate major type.
winegstreamer: Rename WG_MAJOR_TYPE_MPEG1_AUDIO to WG_MAJOR_TYPE_AUDIO_MPEG1.
winegstreamer: Rename WG_MAJOR_TYPE_WMA to WG_MAJOR_TYPE_AUDIO_WMA.
winegstreamer: Rename WG_MAJOR_TYPE_H264 to WG_MAJOR_TYPE_VIDEO_H264.
winegstreamer: Reorder video format struct in wg_format.
winegstreamer: Wrap callback in a IWMReaderAllocatorEx in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetNextSample in the async reader.
winex11.drv: Sync window positions in a WM_X11DRV_DESKTOP_RESIZED message.
winex11.drv: Send WM_X11DRV_CLIP_CURSOR_REQUEST message from the deskop.
win32u: Send WM_DISPLAYCHANGE message to the desktop window.
winex11.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winemac.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winegstreamer: Make IMFTransform_ProcessOutput checks more consistent.
winegstreamer: Create wg_sample from IMFSample within of wg_transform_read_mf.
winegstreamer: Register AAC decoder MFT stub.
winegstreamer: Register WMV decoder MFT / DMO stub.
win32u: Asynchronously send the WM_DISPLAYCHANGE to the desktop window.
mf/tests: Factor test grabber callback implementations.
mf/tests: Check sample grabber RGB / NV12 orientation.
mfmediaengine/tests: Pass a device manager and output format to create_media_engine.
mfmediaengine/tests: Check IMFMediaEngine_TransferVideoFrames output orientation.
mfmediaengine: Remove vertical flipping of video frames.
opengl32: Split trace generation to separate functions.
opengl32: Consistently use $func instead of $func_ref.
opengl32: Replace get_function_proto helper with get_func_(args|ret).
opengl32: List the manually written functions instead of the excluded.
winegstreamer: Support MPEG4 (AAC) compressed audio format.
winegstreamer: Implement AAC decoder MFT.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Zebediah Figura (13):
d3d9: Factor out d3d9_texture_init().
d3d9: Introduce a d3d9_texture_preload() helper.
d3d9: Add reference counting helpers for textures.
d3d9: Use a separate draw texture for managed resources.
ddraw: Add FPS tracing in ddraw_surface_update_frontbuffer().
widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers.
d3d8: Factor out d3d8_texture_init().
d3d8: Introduce a d3d8_texture_preload() helper.
d3d8: Add reference counting helpers for textures.
d3d8: Use a separate draw texture for managed resources.
qcap: Fix frame interval calculation.
qcap: Fix reversed max_fps and min_fps.
qcap/tests: Test that the video capture filter sets timestamps.
Zhiyi Zhang (2):
light.msstyles: Use a darker color for inactive captions.
vulkan-1/tests: Fix test failures on llvmpipe.
The Wine development release 7.18 is now available.
What's new in this release:
- Character tables updated to Unicode 15.0.0.
- Wow64 support in the macOS driver.
- Async reader fixes in GStreamer support.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.18.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 7.18 (total 20):
- #31157 Multiple applications (FileMaker Pro 12-19, MyDiff) crash when trying to create/open sample solution ('ImmAssociateContext' should only generate 'WM_IME_SETCONTEXT' if window has focus)
- #35478 Multiple applications and games need dsdmo.dll (DirectSound Effects)
- #36312 valgrind shows a couple possible leaks in oledb32/tests/marshal.c
- #36944 Hotel Giant 2 crashes frequently
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #44314 Adobe FrameMaker 8: Installer aborts with the error "The wizard was interrupted..."
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #51404 Resident Evil 7 objects rendered with glitches (Vulkan renderer)
- #52677 REVELPROG_IS crashes on unimplemented function winusb.dll.WinUsb_Free
- #53430 urlmon:url fails due to unexpected redirection
- #53458 windows.media.speech:speech - The 64-bit test_Recognition() gets unexpected ref count on Windows after ISpeechContinuousRecognitionSession_Release()
- #53570 Visual C++ 2015-2019 crashes on launch
- #53577 d3d9:device - test_scissor_size() fails on Windows 8+
- #53578 msvfw32:mciwnd - test_MCIWndCreate() fails in Wine
- #53609 Segmentation fault when starting Dosbox.exe in virtual desktop mode
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53626 Wine crash due to long filename when saving file in Framemaker
- #53703 Wine crashes when setting a long window title.
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
----------------------------------------------------------------
Changes since 7.17:
Akihiro Sagawa (1):
user32: Fix a memory allocation strategy.
Alexandre Julliard (22):
configure: Use --disable-stdcall-fixup for all PE builds.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
ntoskrnl/tests: Fix affinity test when there are too many CPUs.
oleaut32: Avoid spurious debug traces when FIXMEs are disabled.
oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.
webservices/tests: Mark tests that fail on 64-bit as todo.
d2d1/tests: Adjust geometry to make tests pass on all devices.
winetest: Don't require an email if we have a URL.
gdi32/tests: Mark some tests that fail without Vulkan as todo.
vcomp/tests: Limit the number of nested threads.
unicode: Update to Unicode 15.0.0.
win32u: Fix Get/SetWindowWord behavior on 32-bit.
winex11: Don't send WM_CANCELMODE to iconified windows.
user32/tests: Fix a few more assumptions about window positions.
ntdll/tests: Re-add workaround for check that is still broken on win7.
winetest: Report failure for tests that print too much output.
ntdll/tests: Don't run the stack growth tests too many times.
d2d1/tests: Skip subsequent todo tests for unsupported properties.
user32/tests: Only report the first todo of a failed message sequence.
user32/tests: Don't print debug traces by default.
advapi32/tests: Mark some failing tests as todo.
Alistair Leslie-Hughes (7):
ws2_32: Return a valid value for WSAIoctl SIO_IDEAL_SEND_BACKLOG_QUERY.
wininet: Clear cached credentials after the first failed attempt.
oledb32/tests: Free returned property set memory.
wininet: Use standard HTTP_ADD Flags.
msdasql: Implement ICommandProperties GetProperties.
msdasql: Implement ICommandProperties SetProperties.
msdasql: Implement IColumnsRowset GetAvailableColumns.
André Zwing (1):
ntdll: Fix ARM vs AMD64 typo.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (4):
server: Remove 32-bit-specific macOS #ifdefs.
server: Report errors on macOS when getting/setting debug registers.
server: Write to correct context struct when getting debug registers on macOS.
server: Use correct context struct and thread flavor when setting debug registers on macOS.
Connor McAdams (6):
uiautomationcore: Implement UiaReturnRawElementProvider.
uiautomationcore: Increment module reference count when starting provider thread.
uiautomationcore: Shutdown provider thread when all returned nodes are released.
uiautomationcore: Implement UiaNodeFromHandle.
uiautomationcore: Create UI Automation client thread.
uiautomationcore: Add tests for UiaNodeFromHandle.
David Kahurani (1):
win32u: Use allocator mechanism to allocate DC attributes.
Davide Beatrici (9):
winecoreaudio: Fix RegEnumKeyExW() call passing wrong unit for the buffer size.
winecoreaudio: Switch to string as device identifier, to match other drivers.
mmdevapi: Integrate winecoreaudio's additions in unixlib.h.
winecoreaudio: Drop "unix_" prefix in unixlib enum, apply it to the functions instead.
winecoreaudio: Adapt "create_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_render_buffer_params" struct to mmdevapi's.
winecoreaudio: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winecoreaudio: Switch to mmdevapi's unixlib.h.
Eric Pouech (14):
winedump: Harden reading PDB string table stream.
dbghelp: Harden reading strings from string table.
dbghelp: Correctly handle the absence of IPI stream.
dbghelp: Support SymGetTypeInfo/TI_GET_LENGTH for variables.
dbghelp: Displacements are optional.
winedump: Print signed integers with %d.
dbghelp: Support depth relating to top function for inline sites.
dbghelp: Store all address ranges for inline sites.
d3d10core/tests: Fix erroneous color parameter.
d3d10core/tests: Introduce a clear_backbuffer_rtv() helper.
d3d11/tests: Introduce a clear_rtv() helper.
glu32: Fix GCC 12.2 warnings.
jscript: Fix GCC 12.2 warning.
avifil32: Fix GCC 12.2 warning (-Warray-bounds).
Etaash Mathamsetty (2):
ntoskrnl: KeSetTargetProcessorDpcEx stub.
ntoskrnl: Implement KeGetCurrentProcessorNumberEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (8):
include: Add IDOMStorageEvent and DispDOMStorageEvent interfaces.
mshtml: Move the MessageEvent construction to a helper.
mshtml: Implement StorageEvent and send it when clearing the storage.
mshtml: Send StorageEvents when setting an item.
mshtml: Send StorageEvents when removing an existing item.
mshtml/tests: Add tests for StorageEvents with parallel documents.
mshtml: Don't expose document.onstorage for IE9+ modes.
mshtml: Send StorageEvents to iframe windows properly.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.228.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
ntdll: Add RtlDosPathNameToRelativeNtPathName_U.
Hans Leidekker (15):
bcrypt: Support setting BCRYPT_CHAIN_MODE_CFB on keys.
bcrypt: Add full support for algorithm pseudo-handles.
bcrypt: Rename mode_id to chain_mode.
appwiz.cpl: Use BCrypt algorithm pseudo-handles.
appwiz.cpl: Use BCryptHash().
crypt32: Use BCrypt algorithm pseudo-handles.
dssenh: Use BCrypt algorithm pseudo-handles.
fusion: Use BCrypt algorithm pseudo-handles.
ncrypt: Use BCrypt algorithm pseudo-handles.
rsaenh: Use BCrypt algorithm pseudo-handles.
adsldp: Implement ADS_SEARCHPREF_SIZE_LIMIT.
adsldp/tests: Limit the number of search results.
adsldp/tests: Get rid of workarounds for Windows XP.
winhttp/tests: Fix test failure caused by expired client certificate.
secur32/tests: Fix test failure caused by expired client certificate.
Henri Verbeet (6):
wined3d: Fix the sub-resource index validation in wined3d_texture_update_overlay().
wined3d: Destroy the Vulkan command pool after cleaning up resources.
d3d9/tests: The expected scissor rect after a reset is equal to the back-buffer dimensions.
d3d11: Implement d3d11_input_layout_to_wined3d_declaration() on top of vkd3d_shader_parse_input_signature().
d3d11/tests: Move the is_warp_device() call out of the loop in check_format_support().
wined3d: Return bools from all return paths in wined3d_cs_map_upload_bo().
Jacek Caban (8):
urlmon/tests: Make BINDSTATUS_DOWNLOADINGDATA optional in test_URLDownloadToFile_abort.
wininet/tests: Collect persistent connection before running tests in test_async_HttpSendRequestEx.
wininet/tests: Don't send two HTTP responses for a single request in server_thread.
win32u: Introduce NtUserSendDriverMessage.
winemac: Use platform-independent types for user callback params.
winemac: Implement wow64 thunks.
winevulkan: Introduce VkVariable.
winevulkan: Use DECLSPEC_ALIGN instead of pshpack4.h.
Jacob Czekalla (3):
notepad: Show status bar.
notepad: Track and display line number and column.
notepad: Show goto dialog box.
Jinoh Kang (3):
include: Define atomic read/write helpers for 32-bit integers.
concrt140: Use atomic write for releasing threadsafe_queue spin lock.
msvcp90: Use atomic write for releasing threadsafe_queue spin lock.
Julian Klemann (9):
widl: Use "cinterface(IInspectable)" for IInspectable signature.
include/windows.devices.enumeration: Update file to newer formatting.
include/windows.devices.enumeration: Define IDeviceInformationStatics2.
windows.devices.enumeration: Replace STDMETHODCALLTYPE with WINAPI.
windows.devices.enumeration: Create private header file.
windows.devices.enumeration: Add IDeviceInformationStatics2 stub.
windows.devices.enumeration: Add DeviceWatcher stub.
windows.devices.enumeration: Implement Stopped handler for DeviceWatcher.
windows.devices.enumeration/tests: Add test for Stopped DeviceWatcher event.
Mohamad Al-Jaf (2):
include: Add winusb.h file.
winusb: Add WinUsb_Free stub.
Nikolay Sivov (26):
dwrite/layout: Use same logic for mapping both non-visual and visual runs.
dwrite/layout: Keep system font collection for each layout.
dwrite/layout: Use already resolved or last resort fonts when setting dummy line metrics.
dwrite/layout: Constify some internal helpers arguments.
dwrite/layout: Limit text window passed to MapCharacters() to the range of characters to map.
xmllite/reader: Improve xml declaration node parsing.
xmllite/writer: Implement WriteWhitespace().
xmllite/writer: Handle empty prefix and uri correctly in WriteStartElement().
xmllite/writer: Close open tag on WriteRaw().
xmllite/writer: Close open tag on WriteProcessingInstruction().
xmllite/writer: Implement WriteAttributes().
xmllite/writer: Add initial implementation of WriteNode().
xmllite/tests: Add some more tests for WriteStartElement().
xmllite/tests: Add a test for IsEmptyElement() on attributes.
xmllite/writer: Handle empty local name in WriteAttributeString().
xmllite/writer: Implement WriteNodeShallow().
xmllite/writer: Enable some more tests for WriteNode().
kernelbase: Add OpenFileMappingFromApp().
kernelbase: Add CreateFileMappingFromApp().
kernelbase: Add MapViewOfFileFromApp().
include: Add windows.system.threading.idl.
threadpoolwinrt: Add a stub module.
threadpoolwinrt: Add initial implementation of RunAsync.
include: Add windows.security.cryptography.idl.
cryptowinrt: Add a stub module.
cryptowinrt: Implement GenerateRandomNumber().
Owen Rudge (2):
secur32/tests: Add tests for LsaGetLogonSessionData.
secur32: Implement basic functionality for LsaGetLogonSessionData.
Paul Gofman (6):
advapi32: Add stub for PerfCloseQueryHandle().
advapi32: Add stub for PerfOpenQueryHandle().
advapi32: Add stub for PerfAddCounters().
advapi32: Add stub for PerfQueryCounterData().
crypt32: Support CRYPT_STRING_HEXRAW in CryptBinaryToStringA().
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
Piotr Caban (2):
msvcp90: Fix indentation in concurrent_vector_alloc_segment function.
msvcr100: Fix crash when setting scheduler in schedule_task_proc.
Rémi Bernon (66):
wmvcore/tests: Add some tests starting WM reader with NULL context.
winegstreamer: Wrap async reader op new_context in a union.
winegstreamer: Unconditionally assign new context for ASYNC_OP_START.
winegstreamer: Implement async reader asynchronous seeking.
winegstreamer: Keep start time in the async_reader struct.
winegstreamer: Check whether the reader is still running before user time.
winegstreamer: Factor async_reader waits using async_reader_get_wait_timeout.
winegstreamer: Introduce a new async_reader_wait_pts helper.
winegstreamer: Request the wm_reader stream only when necessary.
widl: Allow parameterized types in runtimeclass interfaces.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION flag on display mode.
win32u: Rename get_full_mode variables and avoid using devmode directly.
win32u: Fill the local full_mode variable instead of using the modes array.
win32u: Introduce reference counting to struct adapter.
win32u: Avoid copying the modes array in NtUserChangeDisplaySettings.
win32u: Avoid unnecessary copy of adapter path and device name.
win32u: Pass adapter parameter to (read|write)_registry_settings.
win32u: Introduce a new internal WINE_DM_UNSUPPORTED display flag.
mf/tests: Split IMFTransform tests to transform.c.
mf/tests: Add some winetest context to MFT tests.
mf/tests: Split create_transform into check_(mft|dmo)_(enum|get_info).
mf/tests: Test AAC encoder MFT presence and media types.
mf/tests: Test AAC decoder MFT presence and media types.
mf/tests: Factor IMFTransform required attributes checks together.
maintainers: Assume maintainership of MF transforms.
winegstreamer: Support MFT_SET_TYPE_TEST_ONLY flag in the MF transforms.
winegstreamer: Avoid leaking attributes on video processor creation failure.
winegstreamer: Better implement H264 MFT GetAttributes and GetOutputStreamAttributes.
winegstreamer: Set MFT_OUTPUT_DATA_BUFFER_INCOMPLETE in wg_transform_read_mf.
winegstreamer: Stop setting flags on unexpected MF_E_TRANSFORM_STREAM_CHANGE.
winegstreamer: Check for unexpected format change in wg_transform_read helpers.
winegstreamer: Check WMA sample size before wrapping the sample.
winegstreamer: Remove unnecessary IMFTransform_GetInputStreamInfo calls.
winegstreamer: Create wg_sample from IMFSample within wg_transform_push_mf.
winegstreamer: Wake thread when async reader user clock is modified.
winegstreamer: Introduce a new async_reader_deliver_sample helper.
winegstreamer: Use a dedicated CS to serialize async reader commands.
winegstreamer: Check for already opened stream in wm_reader_open*.
winegstreamer: Get rid of the wm_reader_ops callbacks.
winegstreamer: Aggregate a IWMSyncReader in the async reader.
winegstreamer: Merge wm_syncreader.c into wm_reader.c.
mf/tests: Use separate variables for input / output samples.
mf/tests: Factor IMFTransform_ProcessOutput checks together.
mf/tests: Introduce a new load_resource helper.
mf/tests: Introduce a new dump_mf_sample helper.
mf/tests: Factor IMFSample checks in a check_mf_sample helper.
mf/tests: Factor IMFSample attributes checks in check_mf_sample.
mf/tests: Check all produced output IMFSample at the same time.
mf/tests: Rename transform frame dumps to BMP.
mf/tests: Dump image samples with a BMP header and RGB data.
winegstreamer: Query the IWMSyncReader2 interface in the async reader.
winegstreamer: Implement IWMSyncReader2_GetReadStreamSamples.
winegstreamer: Use IWMSyncReader2_GetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_SetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_Close in the async reader.
winegstreamer: Use IWMSyncReader2_Open in the async reader.
winegstreamer: Use IWMSyncReader2_OpenStream in the async reader.
winegstreamer: Use IWMSyncReader2_SetRange in the async reader.
winegstreamer: Avoid accessing NULL pointer if transform didn't provide a sample.
user32/tests: Cleanup sysparams WM_DISPLAYCHANGE tests.
win32u: Move enumeration of available modes out of graphics drivers.
winemac.drv: Stop using the cached_modes_mutex for get_default_bpp.
win32u: Factor out display_device lookup in separate helpers.
win32u: Use find_adapter_device_by_(name|id) helpers in find_adapter.
win32u: Lock display devices mutex in find_adapter.
win32u: Broadcast WM_DISPLAYCHANGE message on display settings change.
Santino Mazza (2):
include: Define REG_APP_HIVE and REG_PROCESS_PRIVATE.
ntdll/tests: Test for NtRegLoadKey roothandle parameter.
Shaun Ren (1):
msvcrt: Fix strncmp return value.
Witold Baryluk (4):
ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional page check.
ntdll: Do not use hardcoded page shift in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Use pread in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation).
Zebediah Figura (16):
wined3d: Do not create larger staging buffers than necessary in adapter_vk_copy_bo_address().
wined3d: Remove a redundant variable.
wined3d: Factor out wined3d_texture_validate_sub_resource_idx().
wined3d: Mark managed textures as dirty if applicable in wined3d_device_evict_managed_resources().
d3d8: Remove an incorrect comment.
wined3d: Add a dirty region to the destination texture in wined3d_device_context_blt() if applicable.
wined3d: Pass a draw count of 1 to Vulkan indirect draw commands.
ntdll: Avoid comparing the result of pointer arithmetic to zero.
libwine: Avoid comparing the result of pointer arithmetic to zero.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
win32u: Copy directly into the union pointer in unpack_message().
ntdll: Do not check for malloc() failure in get_initial_environment.
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
d3d10core/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d11/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d10core/tests: Ignore random WARP failures in test_pipeline_statistics_query.
Zhiyi Zhang (1):
kernelbase: Return system error codes in the ReadDirectoryChangesW() completion callback.
The Wine team is proud to announce that release 1.5 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Support for various HLSL features and intrinsics.
- Typed unordered access view loads of multicomponent formats.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.5.tar.xz
The current source can also be pulled directly from the git repository:
https://gitlab.winehq.org/wine/vkd3d.git
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
----------------------------------------------------------------
What's new in vkd3d 1.5
=======================
*** libvkd3d-shader
- New features for the HLSL source type:
- Improved support for HLSL object types (like e.g. `Texture2D') inside
structures and arrays.
- Implicitly sized array initialisers.
- Support for the dot() intrinsic function.
- Support for the ldexp() intrinsic function.
- Support for the lerp() intrinsic function.
- Support for the logical `and', `or', and `not' operators in shader model 4
and 5 targets.
- Support for casts from `bool' types in shader model 4 and 5 targets.
- Constant folding for integer bitwise operations.
- Constant folding for integer min() and max().
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV compile option can be used to
specify the SPIR-V format to use for typed unordered access view loads.
When set to `Unknown', and the `shaderStorageImageReadWithoutFormat'
feature is enabled in the target environment, this allows typed loads from
multicomponent format unordered access views. If left unspecified, a R32
format will be used, like in previous versions of libvkd3d-shader.
The Wine development release 7.17 is now available.
What's new in this release:
- High Unicode planes support in DirectWrite.
- Some work towards Wow64 support in the Vulkan driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.17.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 7.17 (total 18):
- #11999 Endless Online game window appears as white texture
- #27243 Wiggles: All renderers are unsupported
- #34744 Earth 2150 fails to play .mp2 music (MPEG-1 Audio Decoder Filter needed, CLSID '{4a2286e0-7bef-11ce-9bd9-0000e202599c}')
- #37019 Multiple games fail to start due to D3D7 devices reporting unsupported HWTRANSFORMANDLIGHT capability (Summoner, Battle Realms: Zen Edition)
- #48986 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.KeAreAllApcsDisabled
- #51939 Riot Vanguard (Riot Games) v1.0.x.x 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.IoCreateFileEx
- #52449 Liar-soft Visual Novel's not displaying video (audio plays fine)
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52709 Visual Studio Community 2022 installer crashes when trying to open it
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53337 Ice Cream Calculator: unusually slow scrolling
- #53427 BioShock needs D3DX10PreprocessShaderFromMemory implementation
- #53486 foobar2000.exe with foo_out_upnp breaks sending audio stream to another upnp renderer after a short period of time
- #53544 msys2 block device fstat function depends on NtQueryVolumeInformationFile FileFsFullSizeInformation
- #53547 msys2 installer fails to check disk space: "harddisk_query_volume Unsupported volume query 3"
- #53560 Wizard101 fails to load in 7.15
- #53581 Construction Set Extender crashes
- #53601 UI rendering broken for multiple applications (7-Zip, WinRAR, foobar2000, built-in apps) in Wine 7.16 at a non-default DPI
----------------------------------------------------------------
Changes since 7.16:
Alexandre Julliard (32):
urlmon/tests: Run tests against the gitlab server to avoid redirects.
kernelbase: Fix error value for PE files without resource.
include: Simplify handling of va_list in debug printf functions.
include: Add va_list version of the debug printf functions.
gitlab: Rename build-all job to build-linux.
gitlab: Run CI scripts as non-root user.
include: Add a va_list version of the wine_dbg_log function.
include: Always use the standard varargs macros.
kernel32/tests: Don't assume that notifications are instantaneous.
ntdll/tests: Fix some race conditions.
shell32: Fix sharing modes when loading/saving link files.
unicode: Add data for high Unicode planes to the scripts table.
unicode: Add data for high Unicode planes to the linebreak table.
unicode: Add data for high Unicode planes to the bidi direction table.
unicode: Add data for high Unicode planes to the Arabic shaping table.
kernel32/tests: Don't test console flags that are modified by WINETEST_COLOR=1.
user32/tests: Remove checks that rely on the absolute position of a top-level window.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Add helper functions for temp file handling.
winetest: Add extra quiet mode that only outputs data for failed tests.
user32/tests: Fix some assumption about absolute window positions.
version/tests: Mark a test that fails on Wow64 as todo.
urlmon/tests: Fix race condition in abort test.
winetest: Report success if the report has been submitted successfully.
gitlab: Run tests on Debian after the daily commit round.
gitlab: Always reset the git tree after a build.
gitlab: Fetch the full git tree with all tags.
ntdll/tests: Remove workarounds for old Windows versions.
ntdll: Add a helper function to allocate process parameters.
ntdll: Use a different alignment for initial process parameters.
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
Alexandros Frantzis (1):
msvfw32: Use window name to determine if window is created using MCIWndCreate.
Alistair Leslie-Hughes (1):
winepulse: Use the predicate to terminate the connect cond_wait loop.
Andrey Gusev (2):
d3dx10: Implement D3DX10PreprocessShaderFromMemory().
user32: Implement DefRawInputProc.
Bernhard Kölbl (5):
windows.media.speech/tests: Remove some flaky refcount checks.
windows.media.speech: Add missing async_void_Release implementation.
include/windows.media.speechsynthesis.idl: Add missing interfaces to SpeechSynthesizerOptions runtimeclass.
windows.media.speech/tests: Add basic query tests for SpeechSynthesizerOptions.
windows.media.speech/tests: Skip SpeechRecognitionListConstraint tests on Win10 1709 x32 and below.
Brendan Shanks (1):
wow64: Don't re-enter cpu_simulate() from exception filter.
Chris Denton (1):
bcrypt: Add basic support for pseudo-handles.
Connor McAdams (7):
combase: Omit thread ID from the stub manager ipid for MTA objects.
include: Add more definitions to uiautomationcoreapi.h.
include: Add IRawElementProviderHwndOverride definition.
uiautomationcore: Retrieve HWND from HUIANODE provider.
uiautomationcore: Partially implement UiaGetRuntimeId.
uiautomationcore: Add support for UIA_RuntimeIdPropertyId.
uiautomationcore: Implement UiaHUiaNodeFromVariant.
Davide Beatrici (7):
mmdevapi: Integrate wineoss's additions in unixlib.h.
wineoss: Drop "oss_" prefix in unixlib enum, apply it to the functions instead.
wineoss: Adapt "test_connect_params" struct to mmdevapi's.
wineoss: Adapt "create_stream_params" struct to mmdevapi's.
wineoss: Adapt "get_frequency_params" struct to mmdevapi's.
wineoss: Adapt "get_position_params" struct to mmdevapi's.
wineoss: Switch to mmdevapi's unixlib.h.
Eric Pouech (8):
msvcrt: Correctly support space generation in pointers.
msvcrt: Improve support for template in methods.
msvcrt: Fix white space output for typecast operator.
msvcrt: Undecorate function signature as template argument.
msvcrt: Use enum to clarify post-processing actions.
msvcrt: Fix order of extended qualifiers and qualifiers.
include: Enable ANSI support in console for WINETEST_COLOR.
msvfw32: Test window creation with filename.
François Gouget (14):
mshtml/tests: Fix a spelling error in an ok() message.
dbghelp: Fix a couple of spelling errors in a comment.
mscvpdb: Fix a spelling error in a comment.
winspool.drv/tests: Fix the spelling of a variable name.
winealsa.drv: Make functions static where possible.
crypt32: Remove WINAPI on static functions where not needed.
winex11.drv: Make get_unix_file_name() static.
dinput: Remove WINAPI on static functions where not needed.
dinput/tests: Remove WINAPI on static functions where not needed.
windows.media.speech: Remove WINAPI on static functions where not needed.
winex11.drv: Use #ifdef to check config.h macros.
mshtml: Add trailing linefeeds to a couple of FIXME() messages.
tests: Allow marking unreliable tests as flaky.
msvcrt: Fix the spelling of a comment.
Gabriel Ivăncescu (5):
mshtml: Implement props for Storage by forwarding to the underlying storage.
mshtml: Implement deleting props for Storage.
mshtml: Do not enumerate hidden builtin props.
mshtml: Implement GetMemberName for custom props.
mshtml: Implement props enumeration for Storage.
Georg Lehmann (2):
winevulkan: Fixup 64bit enum aliases later to avoid using not yet defined values.
winevulkan: Update to VK spec version 1.3.226.
Gijs Vermeulen (1):
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (1):
bcrypt: Force symmetric key reset if necessary.
Henri Verbeet (1):
include: Avoid _t-suffixes.
Jacek Caban (10):
user32: Call winproc_init before dpiaware_init.
winevulkan: Use vk_unix_call in loader.c.
winevulkan: Use __wine_unix_call for checking Vulkan functions availability.
winevulkan: Get rid of unix_funcs.
winevulkan: Separate PE and Unix VkDevice structs.
winevulkan: Separate PE and Unix VkQueue structs.
winevulkan: Separate PE and Unix VkInstance structs.
winevulkan: Separate PE and Unix VkPhysicalDevice strucrts.
winevulkan: Wrap VkCommandPool on PE side.
winevulkan: Separate PE and Unix VkCommandBuffer structs.
Joel Holdsworth (4):
kernel32/tests: GetDiskFreeSpaceA/W test targetted at a real drive.
kernel32/tests: Added tests for GetDiskFreeSpaceA/W with volume GUID paths.
ntdll: Implemented NtQueryVolumeInformationFile FileFsFullSizeInformation.
mountmgr.sys: Implemented FileFsSizeInformation and FileFsFullSizeInformation volume queries.
Julian Rüger (1):
po: Update German translation.
Kevin Puetz (1):
winecrt0: Remove free_delay_imports.
Lauri Kenttä (2):
readme: Update Finnish translation.
po: Update Finnish translation.
Lorenzo Ferrillo (1):
comctl32: Support passing bitmap and icon resource ID as a string when creating static control.
Matteo Bruni (2):
d3dx10/tests: Add a test for D3DX10PreprocessShaderFromMemory().
windowscodecs/tests: Clean up after running test expected to fail.
Nikolay Sivov (29):
evr/filter: Add IMediaEventSink stub.
evr/filter: Add IMFTopologyServiceLookup stub.
evr/filter: Implement media type testing for QueryAccept().
evr/filter: Implement pin's connect/disconnect.
bcrypt/tests: Use CRT allocation functions.
mfsrcsnk/wave: Initialize buffer pointer in ProcessSample() (Coverity).
evr/filter: Initialize interface pointer in GetService() (Coverity).
win32u/hook: Fix a leak on earlier return (Coverity).
mshtml/tests: Fix a typo in test message (Coverity).
dwrite: Skip variation selectors in MapCharacters().
dwrite: Add NNBSP (202F) to Mongolian fallback range.
dwrite: Handle variation selectors 17-256 in MapCharacters().
wbemdisp: Use wcsdup() instead of internal helper.
msvcrt: Use size_t for the size in wcsdup().
msvcrt: Remove mention of obsolete libwine function.
prntvpt: Use CRT allocation functions.
wmiutils: Use CRT allocation functions.
dwrite: Fix spans length reported by AnalyzeScript() for characters above BMP.
evr/filter: Notify mixer and presenter on state changes.
dwrite: Handle higher planes when setting DWRITE_SCRIPT_SHAPES_NO_VISUAL.
dwrite/bidi: Prepare for characters above BMP.
dwrite: Handle higher planes characters in line breaking logic.
evr/filter: Initial implementation of sample rendering.
crypt32/tests: Use CRT allocation functions.
dssenh: Use CRT allocation functions.
dwrite/tests: Add some tests for glyph justification values.
dwrite: Set initial justification value for default shaper.
msidb: Use CRT allocation functions.
ping: Use CRT allocation functions.
Piotr Caban (6):
d3dx10: Factor out image format conversion function.
d3dx10: Use WIC functions to obtain info about DDS image.
d3dx10: Add support for texture cubes in D3DX10CreateTexture functions.
d3dx10: Don't check frame count in load_texture_data.
d3dx10: Add support for loading MipLevels data in load_texture_data.
d3dx10/tests: Improve cube textures data testing.
Robert Wilhelm (2):
scrrun: Test whether IFolder_get_Path() returns an absolute path.
scrrun: Store full path in folder object.
Rémi Bernon (42):
winemac.drv: Rename display modes cache variables.
winemac.drv: Invalidate mode cache when enum flags changes.
winemac.drv: Remove unnecessary macdrv_EnumDisplaySettingsEx declaration.
winemac.drv: Check for non-primary adapter earlier in macdrv_ChangeDisplaySettingsEx.
winemac.drv: Support getting non-primary adapter current display mode.
winemac.drv: Support enumerating non-primary adapters display modes.
wmvcore/tests: Use a constant for test.wmv duration.
wmvcore/tests: Test sync reader output settings read / write.
wmvcore/tests: Test async reader output settings read / write.
wmvcore/tests: Test that the callback thread is always the same.
wmvcore/tests: Test async reader compressed sample monotonic pts.
wmvcore/tests: Test async reader DedicatedDeliveryThread setting.
mf: Use a dedicated interface for sample allocator ready callbacks.
mf: Delay media session command processing when presentation is ending.
mf: Use the SESSION_FLAG_PENDING_COMMAND to delay further commands.
mf: Notify quality manager of topology change in session_set_topology.
win32u: Sort adapter display modes after reading from the registry.
win32u: Support interlaced and stretched display modes.
win32u: Move full display mode lookup out of graphics drivers.
winex11.drv: Remove unnecessary display mode flags checks.
winemac.drv: Remove unnecessary display mode flags checks.
win32u: Move display placement logic out of graphics drivers.
mf/tests: Move and split some helper code around.
mf/tests: Keep a presentation descriptor in the test source.
mf/tests: Allocate test callbacks dynamically and check refcounts.
mf/tests: Add helpers to wait and check media session events.
mf/tests: Test some IMFMediaSession_SetTopology error cases.
mf/tests: Test that IMFTopoLoader_Load doesn't set output nodes media types.
mf/tests: Test that IMFTopoLoader_Load sets transform nodes media types.
mf/tests: Test that IMFMediaSession_SetTopology sets output nodes media types.
include: Declare AudioResamplerMediaObject and MP3DecMediaObject class ids in mfidl.idl.
include: Remove unnecessary semicolons from wmcodecdsp.idl.
include: Add WMV encoder / decoder DMO class ids to wmcodecdsp.idl.
include: Add more WMV media subtypes to wmcodecdsp.idl.
winegstreamer: Rename async reader stream_thread to callback_thread.
winegstreamer: Avoid leaking async ops on release or multiple close.
winegstreamer: Leave WM reader CS on invalid output format.
winegstreamer: Leave async reader callback_cs on calloc error.
winegstreamer: Move open_stream / close_stream helpers around.
winegstreamer: Release callback and context in async_reader_close.
winegstreamer: Avoid waiting for callback thread on allocation failure.
winegstreamer: Query IWMReaderCallbackAdvanced interface in Open.
Santino Mazza (3):
advapi32/tests: Add tests for RegLoadAppKey.
ntdll: Create NtLoadKeyEx syscall stub.
ntdll: Move NtLoadKey implementation to NtLoadKeyEx.
Stefan Dösinger (5):
wined3d: Tell vkd3d_shader about dual source blending.
ddraw/tests: Avoid picking a large mode on Win10 in test_coop_level_mode_set_enum_cb.
ddraw/tests: Avoid picking a large mode on Win10 in find_different_mode_callback.
include/test.h: Don't use strcasecmp.
include/test.h: Don't use \e.
Zebediah Figura (8):
include: Add list_move_after() and list_move_before().
msvcrt: Add SEH annotations for sse2_memcpy().
rpcrt4: Make Ndr64AsyncClientCall() SEH-compatible.
rpcrt4: Add SEH annotations to Ndr64AsyncClientCall().
rpcrt4: Make NdrClientCall3() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall3().
rpcrt4: Make NdrClientCall2() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall2().
Zhiyi Zhang (6):
uxtheme/tests: Add theme tests.
comctl32/tests: Add themed scrollbar background tests.
uxtheme: Use the brush from WM_CTLCOLORSCROLLBAR to paint SB_CTL scrollbar tracks if present.
uxtheme: Do not draw parent background even if scrollbar arrows and thumb are transparent.
comctl32/datetime: Do not paint parent background when painting arrows.
win32u: Only cache font glyph metrics from GGO_METRICS.
Ziqing Hui (9):
d3dx10/tests: Add tests for D3DX10CreateEffectFromMemory.
d3dx10/tests: Add tests for D3DX10CreateEffectFromFile.
d3dx10/tests: Add tests for D3DX10CreateEffectFromResource.
d3dx10: Introduce create_effect().
d3dx10: Support effect creation for compiled shader.
d3dx10: Return E_FAIL in D3DX10CreateEffectFromFile for NULL file name.
d3dx10/tests: Test block compressed texture data which has more than one block line.
d3d10/tests: Test NULL device for D3D10CreateEffectFromMemory and D3D10CreateEffectPoolFromMemory.
d3d10: Handle invalid arguments for effect creation.
The Wine development release 7.16 is now available.
What's new in this release:
- Wow64 support in X11 driver.
- Session storage in MSHTML.
- Unicode regexp fixes in MSXML.
- IME improvements in Edit control.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.16.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 7.16 (total 20):
- #29685 Manifest generator (ecmangen) tool from Windows Platform SDK 7.1 crashes due to unhandled facet/regular expression in XML schema (escape sequence)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #43581 Microsoft Office 365 edition of Office 2013 installer fails with 'cache_entry_from_xsd_doc failed to parse doc' (non-standard '\u####' sequence)
- #46083 postgresql: "Unable to write inside TEMP environment variable path"
- #51601 Metal Gear Solid V: The Phantom Pain stucks on first chapter intro
- #52329 amazon games app crashes in wine 7.0 rc-3 (winsock?)
- #52657 Watch Dogs crashes on start
- #53174 StarCitizen launcher freeze due to heap space issue
- #53424 Scroll bar not working. was with up to 7.12?
- #53462 Obduction audio and subtitles for videos don't work
- #53468 Ragnarok Online's anti-cheat, Gepard, detecting macro usage (false-positive)
- #53472 Kerberos auth broken since 7.10
- #53497 d3d8:device & d3d8:device - test_resource_access() crashes in Wine
- #53542 Hog4PC 3.17 installer VBScript custom action needs IWshShell::Run to return signed type.
- #53545 Visual Novel Doukyuusei sound loop
- #53565 postgresql installer 9.3 needs support for default style argument in WshShell.Run
- #53566 Wine uninstaller fails to launch
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53589 Saints Row (2022) crashes on unimplemented function kernel32.dll.SetProcessDefaultCpuSets
----------------------------------------------------------------
Changes since 7.15:
Akihiro Sagawa (7):
mciqtz32: Don't stretch video destination for a popup or child window.
winmm/tests: Add MCI_DGV_WINDOW_STATE tests.
mciqtz32: Fix MCI_DGV_WINDOW_STATE behavior.
winmm/tests: Add MCI_DGV_WINDOW_TEXT tests.
mciqtz32: Fix MCI_DGV_WINDOW_TEXT behavior.
winmm/tests: Add more MCI_DGV_WINDOW_HWND tests.
mciqtz32: Fix MCI_DGV_WINDOW_HWND error handling.
Alexandre Julliard (9):
winetest: Use CRT allocation functions.
winetest: Support loading the list of tests from a file.
winetest: Disable the crash dialog in non-interactive mode.
winetest: Exit with error 3 when there are test failures.
mountmgr: Don't crash if connecting to dbus fails.
xslt: Import upstream release 1.1.36.
xml2: Import upstream release 2.10.0.
comctl32/tests: Use client coordinates for right click test.
gitlab: Add macOS build.
Alistair Leslie-Hughes (2):
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
André Zwing (1):
wow64: Fix the ARM32 machine type.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
shell32/tests: Test ExtractIcon() with an empty/invalid path.
shell32: Return NULL from ExtractIcon() for all error cases.
Davide Beatrici (18):
winealsa: Drop "alsa_" prefix in unixlib enum, apply it to the functions instead.
winealsa: Move common unixlib.h content into mmdevapi.
mmdevapi: Integrate winepulse's additions in unixlib.h.
winealsa: Fix WoW64 failure when calling get_position().
mmdevapi/tests: Fix fail messages referencing GetChannelCount() instead of GetChannelVolume().
mmdevapi/tests: Distinguish GetChannelCount() calls in test_volume_dependence() fail messages.
mmdevapi/tests: Fix typos in spatial audio fail messages.
mmdevapi/tests: Fix fail message referencing "Start" instead of "Stop" in test_session().
winepulse: Adapt "endpoint" struct to mmdevapi's.
winepulse: Adapt "create_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_render_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_mix_format_params" struct to mmdevapi's.
winepulse: Adapt "get_device_period_params" struct to mmdevapi's.
winepulse: Adapt "is_started_params" struct to mmdevapi's.
winepulse: Adapt "get_prop_value_params" struct to mmdevapi's.
winepulse: Switch to mmdevapi's unixlib.h.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAreAllApcsDisabled.
ntoskrnl: Implement IoCreateFileEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (16):
jscript: Implement fdexNameCaseInsensitive flag handling.
mshtml: Handle S_FALSE from IUri methods in localStorage and sessionStorage.
mshtml: Handle S_FALSE from IUri methods in Anchor Elements.
mshtml: Handle S_FALSE from IUri methods when checking targetOrigin.
mshtml: Don't navigate if GetDisplayUri failed.
mshtml: Handle S_FALSE from IUri methods when navigating.
mshtml: Handle S_FALSE from IUri methods in the NSAPI interfaces.
mshtml: Handle S_FALSE return values from IUri methods.
mshtml: Implement setItem() for sessionStorage.
mshtml: Implement getItem() for sessionStorage.
mshtml: Implement removeItem() for sessionStorage.
mshtml: Implement clear() for Storage.
mshtml: Implement key() for sessionStorage.
mshtml: Implement key() for localStorage.
mshtml: Implement length prop for Storage.
mshtml: Implement remainingSpace prop for sessionStorage.
Gijs Vermeulen (1):
kernel32: Add SetProcessDefaultCpuSets stub.
Hans Leidekker (3):
hnetcfg: Add INetFwRule stub.
hnetcfg: Return success from netfw_rules_Add() and netfw_rules_Remove().
bcrypt: Support ECDH_P384 key import/export.
Henri Verbeet (1):
mfreadwrite/reader: Only attempt to copy sample buffers from responses with non-NULL samples.
Huw D. M. Davies (2):
maintainers: Remove advice about Cc'ing patches.
wow64: Fix another ARM32 machine type.
Jacek Caban (39):
win32u: Move more logic from dispatch_win_proc_params.
win32u: Use a separate helper to send messages from win32u.
win32u: Pack messages sent directly from win32u.
user32: Pass window name as UNICODE_STRING to NtUserCreateWindowEx.
win32u: Use send_message_timeout for WM_CREATE and WM_NCCREATE.
win32u: Remove no longer needed unicode call_hooks argument.
wow64win: Implement wow64_NtUserCallWinProc.
wow64win: Implement wow64_NtUserMessageCall.
user32: Always use original parameter values in dispatch_send_message.
win32u: Use a client copy of windows hook lparam when calling hook procs.
wow64win: Implement NtUserCallWindowsHook thunk.
wow64win: Implement more user callbacks.
wow64win: Fix NtUserGetMouseMovePointsEx thunk.
wow64win: Return class atom from NtUserGetClassInfoEx thunk.
wow64win: Fix NtUserGetClipboardData thunk.
wow64win: Fix returning strings in NtUserGetIconInfo thunk.
wow64win: Fix NtUserGetMenuBarInfo thunk.
wow64win: Fix handling NULL input32 in NtUserSendInput.
wow64win: Support GCLP_MENUNAME in NtUserSetClassLongPtr thunk.
wow64win: Fix NtUserThunkedMenuItemInfo thunk.
wow64win: Fix output handling in NtUserTrackMouseEvent thunk.
wow64win: Use in-place conversion in NtUserDrawText thunk.
wow64win: Use LongToHandle for user handles conversion.
user32: Move dialog proc getting implementation from win32u.
user32: Move dialog proc setting implementation from win32u.
win32u: Fix handling uninitialized process_layout.
wow64win: Fix NtGdiDdDDICreateDevice thunk.
win32u: Move process initialization to NtUserInitializeClientPfnArrays.
winex11: Implement wow64 thunks.
user32: Support resource ID strings in CREATESTRUCT Unicode conversion.
user32: Support passing bitmap and icon resource ID as a string when creating static control.
user32: Pass resource ID as a string in DIALOG_CreateControls32.
user32: Remove no longer used DPI functions.
win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32.
win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32.
win32u: Introduce NtUserActivateOtherWindow.
user32: Remove no longer user get_hwnd_message_parent.
user32: Merge win.h into user_private.h.
user32: Build with nameless structs and unions.
Jakub Staroń (1):
ntdll: Implement RtlRestoreContext on i386.
Jiajin Cui (2):
win32u: Ensure that either the primary or secondary name is in English.
win32u: Don't allow a replaced font to be a replacement.
Jinoh Kang (3):
server: Use POLLIN instead of POLLPRI if the socket is in oobinline mode.
server: Use check_fd_events() instead of calling poll() directly.
server: Always prefer synchronous I/O in nonblocking mode.
Konstantin Romanov (1):
kerberos: Fix condition for create_context_handle in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
Loïc Rebmeister (1):
wintypes: Add RoResolveNamespace stub.
Martin Storsjö (3):
configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM.
vkd3d: Fix the signature of vkd3d_spirv_build_op_type_image.
bcrypt: Fix the non-PE build after ECDH_P384 was added.
Matteo Bruni (1):
wined3d: Introduce WINED3DUSAGE_MANAGED.
Nikolay Sivov (27):
mfplat: Implement Write() for file streams.
mfsrcsnk: Add a stub dll.
mfsrcsnk/wave: Add a sink stub.
mfsrcsnk/wave: Add clock state callbacks.
mfsrcsnk/wave: Store media format structure.
mfsrcsnk/wave: Implement sample processing.
mfsrcsnk: Add WAVE sink class factory.
mfsrcsnk/wave: Add a type handler stub.
mfreadwrite/writer: Make sure output pointer is initialized.
mfreadwrite/writer: Implement AddStream().
mfreadwrite/writer: Partially implement BeginWriting().
mfreadwrite/writer: Start presentation clock on BeginWrite().
mfreadwrite/writer: Implement GetServiceForStream().
mfreadwrite/writer: Notify encoder on BeginWriting().
mfreadwrite/writer: Update some stats counters on WriteSample().
mfreadwrite/writer: Update some stats on MEStreamSinkRequestSample.
mfreadwrite/writer: Add sample/marker queue for each stream.
mfreadwrite/writer: Reference user callback.
mfreadwrite/writer: Implement PlaceMarker().
mfreadwrite/writer: Implement Flush().
evr: Add IMFGetService stub.
evr: Add IMFVideoRenderer stub to the filter.
evr: Implement lazy initialization with mixer and presenter instances.
evr/tests: Add a test to show that IMFVideoDisplayControl is accessible.
mfplat/tests: Add some tests for legacy media type conersion functions.
mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Paul Gofman (3):
ddraw/tests: Add more tests for restoring complex surfaces.
ddraw: Restore full complex attachment chain in ddraw_surface7_Restore().
winex11.drv: Set correct cursor when setting cursor from another thread.
Piotr Caban (9):
msvcp60: Use 'MultiByteToWideChar' in __Fiopen implementation.
msvcp90: Use 'MultiByteToWideChar' in _Fiopen implementation.
winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
winspool.drv: Fix get_config_module when printer and driver names differ.
include: Update ddk/compstui.h header.
compstui: Add partial CommonPropertySheetUIW implementation.
compstui: Add CommonPropertySheetUI tests.
msvcp71: Use MultiByteToWideChar in _Fiopen implementation.
msvcr100: Set scheduler in tasks created with ScheduleTask function.
Robert Wilhelm (8):
wshom: Use signed type for property ProcessID in IWshExec.
wshom: Use signed type for property ExitCode in IWshExec.
wshom: Add test for default style arg in WshShell3_Run.
wshom: Support default style argument in IWshShell3::Run.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
scrrun: Added DateCreated property for IFile.
Rémi Bernon (22):
mf/tests: Add some topology loader tests with missing output type.
mf/tests: Add some MP3 decoder transform tests.
mf/tests: Add more topology loader converter and enumeration tests.
mf: Allow resolving topology with missing downstream current type.
mf: Only allow converter connection if decoder didn't accept down type.
mf: Only enumerate types for decoders / converter if down type is missing.
qasf: Implement IWMReaderCallbackAdvanced stub interface.
qasf: Implement ASF Reader filter buffer allocation.
qasf: Implement ASF Reader filter IWMReaderCallback_OnSample.
qasf: Implement ASF Reader SourceSeeking stubs.
qasf: Register ASF Reader filter media type.
win32u: Do not keep display modes driver extra in the registry.
win32u: Read registry or current mode when validation needs it.
win32u: Always copy devmode in validate_display_settings.
win32u: Use current mode position if desired mode doesn't specify it.
win32u: Only read/write valid mode fields from/to the registry.
mf/tests: Avoid creating now unused sink activate instances.
mf/tests: Try returning MF_E_NOT_INITIALIZED from GetCurrentMediaType.
mf: Support uninitialized downstream media types in topology loader.
maintainers: Add myself to multimedia sections.
qasf/tests: Test ASF Reader filter initial state and pins.
qasf/tests: Test ASF Reader filter threading wrt. ReceiveCanBlock.
Santino Mazza (1):
bcrypt: Move symmetric flags check to symmetric section.
Torge Matthies (2):
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Zebediah Figura (13):
wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output().
d3d8/tests: Expand tests for valid pools in UpdateTexture().
d3d9/tests: Expand tests for valid pools in UpdateTexture().
d3d8/tests: Read back directly from the specified surface if possible.
d3d8/tests: Add more tests for dirty rect handling.
d3d9/tests: Add more tests for dirty rect handling.
d3d11/tests: Use winetest_push_context() to print explicit feature levels.
d3d11: Always return E_FAIL for formats which have no support flags.
d3d11: Implement D3D11_FEATURE_FORMAT_SUPPORT.
d3d8/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d9/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d8: Introduce a wined3d_usage_from_d3d() helper.
d3d9: Introduce a wined3d_usage_from_d3d() helper.
Zhiyi Zhang (24):
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32: Set reference data to zero on failure for GetWindowSubclass().
comctl32/tests: Add IME tests for edit control.
comctl32/edit: Implement EM_SETIMESTATUS.
comctl32/edit: Implement EM_GETIMESTATUS.
comctl32/edit: Let DefWindowProcW() handle WM_IME_CHAR.
comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
user32/tests: Link directly to imm32.
user32/tests: Add IME tests for edit control.
user32/edit: Implement EM_SETIMESTATUS.
user32/edit: Implement EM_GETIMESTATUS.
user32/edit: Let DefWindowProcA/W() handle WM_IME_CHAR.
user32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
comctl32/edit: Don't repaint immediately when losing focus.
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
ddraw/tests: Add a comment to note that tests in d3d.c are deprecated.
ddraw/tests: Move the capability tests for enumerated devices.
ddraw/tests: Add more capability tests for enumerated devices.
ddraw: Don't report unsupported device capabilities in d3d7_EnumDevices().
ddraw: Don't report unsupported device capabilities in d3d3_EnumDevices().