The Wine development release 8.15 is now available.
What's new in this release:
- Support for TEXT print processor.
- Cycle Collection support in MSHTML.
- Cross-process memory notifications in Wow64.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.15.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 8.15 (total 19):
- #43822 TrackMania Nations Forever (Steam) car music doesn't play
- #45273 Chessbase 11 cannot draw arrows
- #54064 ntdll:threadpool - test_tp_io() sometimes fails & crashes in Wine (GitLab CI)
- #54718 msvcr90:msvcr90 - test__get_current_locale() sometimes gets an unexpected refcount on w10pro64
- #54756 Multiple games crash on unimplemented concrt140.dll.??0_Cancellation_beacon@details@Concurrency@@QEAA@XZ (Forza Horizon 4, The Legend of Sisyphus (Andromeda Software Development))
- #55259 TranscendPang has corrupted graphics in-game
- #55286 msvcrt:file - The 64-bit test_invalid_stdin_child() sometimes gets a bad stdin handle on Windows 10
- #55287 msvcrt:file - The 32-bit test_pipes() fails in the new WoW mode
- #55333 ws2_32:sock - test_connect_events() sometimes fails in Wine
- #55341 Colin McRae Rally 2.0 black screen
- #55351 gdiplus:graphicspath - test_flatten2() fails on Windows 7 - 11
- #55402 CMD '!var!' not working in 'if' statement
- #55414 Ultimate Spider-Man: Widescreen Fix shifts HUD too much to the right
- #55443 Wine crashes when an image is dragged onto notepad.exe and games
- #55450 Softerra LDAP Browser needs LDAP_OPT_AUTO_RECONNECT
- #55457 Robot Battle 1.4 crashes on startup after commit 08dc691d
- #55471 nGlide wrapper produces black screen in games using the D3D backend
- #55475 Respondus LockDown Browser crashes on unimplemented function KERNEL32.dll.DiscardVirtualMemory
- #55500 Launching new processes in Virtual Desktops is slow and stutters the system
----------------------------------------------------------------
Changes since 8.14:
Akihiro Sagawa (2):
cmd: Use towlower()/towupper() for WCHARs.
cmd: DIR command outputs free space for the path.
Alex Henrie (12):
windowscodecs: Use CRT allocation functions.
shell32: Use CRT allocation functions.
xaudio2_7: Use CRT allocation functions.
activeds: Use CRT allocation functions.
mshtml: Define skip_prefix without using a magic number.
cryptui: Use CRT allocation functions.
mciavi32: Use CRT allocation functions.
mlang: Use CRT allocation functions.
mmdevapi: Use CRT allocation functions.
mpr: Fix double free in WNetGetResourceInformationA.
dmusic: Use CRT allocation functions.
wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Alexandre Julliard (22):
winex11: Work around a false positive gcc warning.
ntdll: Also store syscall id and names following the syscall dispatcher pointer.
wow64: Reimplement syscall resolution using the syscall dispatcher name table.
ntdll: Implement the cross-process work list functions.
wow64: Create the cross-process work list.
ntdll: Implement RtlOpenCrossProcessEmulatorWorkConnection().
wow64: Send cross-process notifications.
wow64: Implement Wow64ProcessPendingCrossProcessItems().
ntdll/tests: Add tests for cross-process notifications.
winebuild: Ignore syscalls that point to an alias.
wow64: Also send notifications for failed memory management calls.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Fix alignment issues on 64-bit.
kernel32/tests: Make the generated dlls relocatable.
kernel32/tests: Remove tests for the exact value of the stack pointer.
ntdll/tests: Fix alignment issues on 64-bit.
ntdll/tests: Allow more invalid length values on Windows.
ntdll/tests: Work around a Windows pointer truncation bug in CPU info.
oleaut32/tests: Fix a pointer truncation issue on 64-bit.
winmm/tests: Fix a pointer truncation issue on 64-bit.
scrrun: Fix pointer hashing on 64-bit.
gdi32: Fix buffer size parameter in GetFontFileData for 64-bit.
Alexis Murzeau (1):
wpcap: Handle negative count for pcap_dispatch and pcap_loop.
Alistair Leslie-Hughes (9):
opcservices: Remove DECLSPEC_HIDDEN usage.
avifil32: Remove DECLSPEC_HIDDEN usage.
evr: Remove DECLSPEC_HIDDEN usage.
hhctrl.ocx: Remove DECLSPEC_HIDDEN usage.
dxdiagn: Remove DECLSPEC_HIDDEN usage.
netcfgx: Remove DECLSPEC_HIDDEN usage.
schedsvc: Remove DECLSPEC_HIDDEN usage.
comctl32: Remove DECLSPEC_HIDDEN usage.
msvcrt: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (1):
winex11.drv: Mark drawable as dirty when setting pixel format.
Bartosz Kosiorek (2):
gdiplus: Improve performance by switching loops and fix size.
gdiplus: Add support for GdipPathIterNextPathType.
Biswapriyo Nath (8):
include: Add KnownFolders runtimeclass in windows.storage.idl.
include: Add ApplicationData runtimeclass in windows.storage.idl.
include: Add IRandomAccessStream generic types in windows.storage.streams.idl.
uiautomationcore: Fix typo with TreeScope_Subtree name.
include: Add AudioProcessing enum in windows.media.idl.
include: Add Windows.Media.Capture.MediaCategory enumeration.
include: Add Windows.Media.Render.AudioRenderCategory enumeration.
include: Add Windows.Media.Effects.AudioEffect runtimeclass.
Brendan Shanks (3):
kerberos: Ensure unixlib function tables and enum stay in sync.
mountmgr.sys: Ensure unixlib function tables and enum stay in sync.
winebus.sys: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (1):
include: Add [_w]getenv_s.
Davide Beatrici (14):
winepulse: Fix crash when requesting exclusive mode with an unsupported format.
wineoss: Update device cache in get_device_guid().
winepulse: Open/create driver registry key in get_device_guid().
winealsa: Export get_device_guid().
winecoreaudio: Export get_device_guid().
wineoss: Export get_device_guid().
winepulse: Export get_device_guid().
mmdevapi: Import get_device_guid() from driver.
winepulse: Move GetEndpointIDs into mmdevapi.
winealsa: Remove GetEndpointIDs.
winecoreaudio: Remove GetEndpointIDs.
wineoss: Remove GetEndpointIDs.
mmdevapi: Simplify load_driver_devices() by combining loops and removing unneeded allocation(s).
mmdevapi: Move name string duplication in MMDevice_Create() from caller.
Dmitry Sokolov (1):
cmd: Fixed var substring in 'enableDelayedExpansion' mode.
Dmitry Timoshkov (1):
ntdll: Implement NtCreateToken().
Eric Pouech (12):
dbghelp: Fix sign extension issues on 32bit compilation.
ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
ntdll/tests: Introduce enumeration to handle stages in test_debugger().
ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
kernelbase: Implement WaitForDebugEventEx().
kernel32/tests: Fix spurious failures in console:test_wait() test.
kernel32/tests: Only access ProcessGroupId field when present.
kernel32/tests: Add tests for group and console flags in CreateProcess.
server: Separate console and new group flag (CreateProcess).
kernel32/tests: Extend to new process group tests for CreateProcess.
kernelbase: Correctly handle new process group flag in CreateProcess.
Esme Povirk (8):
user32/tests: Test cross-platform use of scroll functions.
user32/tests: Use winetest context in ok_sequence.
user32: Remove some todo's for working tests.
user32/tests: Share code between ok_sequence and dump_sequence.
user32/tests: Distinguish between extra and missing messages.
user32/tests: Always generate a description for WM_NCCALCSIZE.
mscoree/tests: Catch expected exception in loadpaths.exe.
user32/tests: Mark an occasional Windows behavior as broken.
Etaash Mathamsetty (4):
ntdll: Allow NULL timeout in NtCreateNamedPipeFile.
ntdll: Add semi-stub for NtOpenKeyTransactedEx.
kernelbase: Add GetPackagePathByFullName stub.
wevtapi: Add stub for EvtCreateBookmark.
Gabriel Ivăncescu (37):
mshtml: Traverse variants using a helper function.
mshtml: Use destructor in the vtbl for PerformanceTiming.
mshtml: Implement Cycle Collection for HTMLPerformance.
mshtml: Implement Cycle Collection for HTMLPerformanceNavigation.
mshtml: Implement Cycle Collection for objects that don't require traversal.
mshtml: Implement Cycle Collection for HTMLDOMAttribute.
mshtml: Implement Cycle Collection for HTMLAttributeCollection.
mshtml: Implement Cycle Collection for HTMLCSSStyleDeclaration.
mshtml: Implement Cycle Collection for HTMLStyleSheet.
mshtml: Implement Cycle Collection for HTMLStyleSheetsCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRulesCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRule.
mshtml: Use actual name when traversing variant.
mshtml: Implement Cycle Collection for HTMLDOMChildrenCollection.
mshtml: Implement Cycle Collection for HTMLElementCollection.
mshtml: Implement Cycle Collection for HTMLRectCollection.
mshtml: Implement Cycle Collection for HTMLRect.
mshtml: Implement Cycle Collection for DOMTokenList.
mshtml: Implement Cycle Collection for MutationObserver.
mshtml: Implement Cycle Collection for HTMLDOMImplementation.
mshtml: Implement Cycle Collection for MediaQueryList.
mshtml: Implement Cycle Collection for HTMLTextRange.
mshtml: Implement Cycle Collection for HTMLDOMRange.
mshtml: Implement Cycle Collection for HTMLSelectionObject.
mshtml: Implement Cycle Collection for HTMLEventObj.
mshtml: Implement Cycle Collection for DOM Events.
winex11: Avoid querying GPU properties in get_host_primary_monitor_rect.
mshtml: Actually traverse the object-specific edges.
mshtml: Separate the HTMLLocation from the outer window.
mshtml: Implement Cycle Collection for HTMLLocation.
mshtml: Implement Cycle Collection for outer windows.
mshtml: Get rid of NULL checks for the dispex vtbl.
mshtml: Implement Cycle Collection for inner windows.
mshtml: Move HTMLPerformanceNavigation related fields to the window.
mshtml: Move PerformanceTiming related fields to the window.
mshtml: Implement Cycle Collection for HTMLPerformanceTiming.
mshtml: Implement Cycle Collection for XMLHttpRequest.
Jeff Smith (11):
gdiplus/tests: Simplify ICONINFO initialization.
gdiplus/tests: Create helper function for testing image properties.
gdiplus/tests: Add test for cursor with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for mask-only icon with GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromICON return status with mask-only icon.
gdiplus/tests: Add test for 32 bpp icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for non-square icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for bitmap locked data from GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromHICON bitmap data.
shlwapi/tests: Fix SHFormatDateTime test during DST.
shlwapi: Fix SHFormatDateTime implementation during DST.
Lorenzo Ferrillo (1):
secur32: Increment iteration index after load_package error.
Louis Lenders (1):
wldp: Add WldpGetLockdownPolicy stub.
Marcus Meissner (1):
cryptui: LoadStringW gets characters as size, not bytes.
Matteo Bruni (1):
d3dcompiler/tests: Avoid interpolation filters in test_samplers().
Mohamad Al-Jaf (5):
include: Add dxcore_interface.h file.
include: Add dxcore.h file.
dxcore: Add stub DLL.
dxcore: Add DXCoreCreateAdapterFactory() stub.
apisetschema: Add ext-ms-win-dxcore-l1-1-0.
Nikolay Sivov (1):
wldp: Add WldpIsDynamicCodePolicyEnabled() stub.
Paul Gofman (3):
user32/tests: Test more flags for MessageBox.
user32/msgbox: Implement MB_TOPMOST.
dinput: Unregister raw input on foreground loss.
Piotr Caban (15):
msvcr70: Don't set SSE2 control register in _control87.
wmic: Use fwprintf to output error messages.
wmic: Fix output when redirected to pipe.
msvcr90/tests: Restore thread locale settings in _getptd tests to avoid side effects.
msvcr90/tests: Reorder locale refcount tests to workaround leak in _create_locale.
msvcrt/tests: Make registry handle inheritable in test_invalid_stdin tests.
ntdll: Don't overwrite last byte of RuntimeInfo if odd number of bytes is used.
localspl: Store fallback print processor in AddPrinterDriver.
localspl: Try fallback print processor if datatype is not supported.
winprint: Implement TEXT print processor.
msvcr110: Add Context::IsCurrentTaskCollectionCanceling implementation.
msvcr110: Add _Cancellation_beacon class implementation.
msvcr120/tests: Remove workaround for not implemented _StructuredTaskCollection::ctor().
msvcr120/tests: Add _Cancellation_beacon tests.
msvcr120/tests: Add Context::IsCurrentTaskCollectionCanceling tests.
Rémi Bernon (35):
include: Add Windows.Management.Deployment.DeploymentResult runtimeclass definition.
include: Add Windows.Management.Deployment.PackageUserInformation runtimeclass definition.
include: Add Windows.Management.Deployment.PackageManager runtimeclass definition.
include: Add Windows.Storage.Streams.RandomAccessStreamReference runtimeclass definition.
include: Add Windows.ApplicationModel.AppDisplayInfo runtimeclass definition.
include: Add Windows.ApplicationModel.PackageStatus runtimeclass definition.
widl: Guard against re-import of the main input file.
include: Add Windows.ApplicationModel.Core.AppListEntry runtimeclass definition.
include: Add Windows.ApplicationModel.IPackage3 interface definition.
winegstreamer: Don't append videoconvert for video/x-wmv output.
include: Add MF_BYTESTREAM_EFFECTIVE_URL GUID declaration.
mf/tests: Add some network scheme resolver tests.
mf/scheme_handler: Split file scheme handler to scheme_handler.c.
mf/scheme_handler: Implement http(s):// scheme handler using urlmon.
mf/session: Use local variables to access transform node streams.
mf/session: Use a helper to deliver transform node requested samples.
mf/session: Drain transform node input streams individually.
mf/session: Drain remaining requests in transform_node_deliver_samples.
mf/session: Use helpers to push and pop samples for transform streams.
mf/session: Push transform input samples directly to ProcessInput.
mf/session: Request more samples from upstream when necessary.
mf/session: Increase the request count when requests are already queued.
include: Prefix winetest global counters with winetest_.
include: Rename winetest thread data struct and getter.
include: Prefix winetest color constants with winetest_.
include: Make general winetest helpers static inline.
include: Initialize winetest global counters to 0.
include: Rename winetest_printf to winetest_print_location.
include: Pass a temporary buffer to winetest_elapsed.
include: Introduce winetest wrappers for vprintf and GetTickCount.
include: Avoid using strcmp directly in wine/test.h.
dinput: Get rid of duplicated winetest helpers.
win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary.
win32u: Init vsc2vk in NtUserMapVirtualKeyEx only if necessary.
win32u: Init vsc2char in NtUserMapVirtualKeyEx only if necessary.
Torge Matthies (1):
crypt32: Fix CMS SignedData encoding.
Wonjun Jung (3):
wbemprox: Add Win32_SoundDevice query test for Caption property.
wbemprox: Add Caption property in Win32_SoundDevice.
wbemprox: Add NetConnectionID, NetEnabled properties in Win32_NetworkAdapter.
Zebediah Figura (13):
wined3d: Move struct wined3d_texture_gl to wined3d_gl.h.
wined3d: Move struct fbo_entry to wined3d_gl.h.
wined3d: Move struct wined3d_sampler_gl to wined3d_gl.h.
wined3d: Move struct wined3d_buffer_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_shader_resource_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_unordered_access_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_swapchain_gl to wined3d_gl.h.
wined3d: Move the remaining wined3d_gl_info functions to wined3d_gl.h.
wined3d: Move struct wined3d_format_gl to wined3d_gl.h.
wined3d: Move the remaining GL-specific definitions to wined3d_gl.h.
wined3d: Move the wined3d_gl.h include to individual files.
server: Signal AFD_POLL_BIT_WRITE at the same time as AFD_POLL_BIT_CONNECT.
The Wine development release 8.14 is now available.
What's new in this release:
- PCSC framework used on macOS for smart card support.
- Dumping of Windows registry files in WineDump.
- Fixes for Wow64 window messages.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.14.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 8.14 (total 30):
- #28603 Winedbg sometimes receives invalid parameters
- #30655 DiRT 2 Demo: Low (1 - 3) FPS during race, but not in in-game menus.
- #34678 Not all serial port work in wine
- #36564 'Candytron' demo: certain objects are black with GLSL enabled
- #44546 The Settlers II: 10th Anniversary runs very slow when CSMT enabled
- #44816 Cygwin/MSYS2 `script -e` exit status forwarding randomly returns zero for non zero child process
- #48621 Civilization 6 crashes on startup.
- #52474 ws2_32:sock - test_connect() fails intermittently with 'Test failed: expected timeout'
- #52492 stack overflow from GdipFlattenPath
- #52889 Freelancer with Crossfire mod crashes on startup
- #53171 advapi32:registry - test_performance_keys() sometimes fails due to time going backwards!
- #54073 ws2_32:sock - test_close_events() sometimes fails in Wine
- #54074 ws2_32:sock - test_empty_recv() sometimes gets an ERROR_IO_PENDING error in Wine
- #54413 ws2_32:sock - DuplicateHandle(socket) sometimes look like a socket in test_WSAGetOverlappedResult() on Windows
- #54546 ws2_32:sock - test_write_watch() gets unexpected write counts on Windows 11
- #54676 winetricks --verify dotnet20 (AutoHotKey) fails in a wow64 build
- #54720 Spider-Man: Shattered Dimensions - dialogue audio doesn't play
- #54748 Greenshot crashes when drawing rectangle to make screenshot ("GDI+ status: PropertyNotFound")
- #54831 GStreamer gst_init_check() crashes when called from winegstreamer on recent macOS, also Wine crashes on macOS Sonoma
- #54866 ieframe:webbrowser - test_SetQueryNetSessionCount() sometimes gets an unexpected session count on Windows
- #55127 httpapi:httpapi - test_v2_bound_port() sometimes succeeds in connecting on Windows 10
- #55152 Crash in Notepad++ processing a WM_DRAWITEM message
- #55231 Warframe: camera/mouse stuck in X-axis
- #55258 steam: small window floating on top of all windows even in fullscreen mode
- #55283 amstream:amstream systematically crashes and times out on gitlab-debian-32
- #55291 gdi32:dc - print_something() gets a bad signature on fg-deb64-*
- #55331 ntdll:file - The 64-bit test_file_disposition_information() gets unsupported error on Windows 10 1607 and 1709
- #55344 Yuzu fails to start (needs MSVCP140_CODECVT_IDS.dll)
- #55367 Trying to run WatchFaceStudio with wine 8.0 and Ubuntu 23 (lunar)
- #55422 mfmediaengine:mfmediaengine - test_GetDuration() fails in Wine
----------------------------------------------------------------
Changes since 8.13:
Alex Henrie (18):
include: Annotate PFNALLOC with __WINE_ALLOC_SIZE.
include: Annotate CFP_(RE)ALLOCPROC with __WINE_ALLOC_SIZE.
include: Annotate PLSA_ALLOCATE_(LSA_HEAP|SHARED_MEMORY) with __WINE_ALLOC_SIZE.
include: Annotate PERF_MEM_ALLOC with __WINE_ALLOC_SIZE.
include: Annotate PFLT_CONTEXT_ALLOCATE_CALLBACK with __WINE_ALLOC_SIZE.
include: Annotate PRTL_(AVL|GENERIC)_ALLOCATE_ROUTINE with __WINE_ALLOC_SIZE.
include: Annotate PALLOCATE_FUNCTION(_EX) with __WINE_ALLOC_SIZE.
include: Add __WINE_ALLOC_SIZE to the definition of FNALLOC.
advapi32: Use CRT allocation functions.
adsldp: Use CRT allocation functions.
inetcpl: Use CRT allocation functions.
odbccp32: Use CRT allocation functions.
cmd: Introduce an option_equals helper for WCMD_parse_forf_options.
joy: Remove size argument to set_config_key function.
shell32: Combine the two strdupAtoW functions.
oledb32: Use CRT allocation functions.
find: Use CRT allocation functions.
wldap32: Map LDAP_OPT_AUTO_RECONNECT to LDAP_OPT_RESTART and add tests.
Alexandre Julliard (18):
configure: Use AC_CHECK_HEADER for headers that don't need to be in config.h.
mmdevapi: Use nameless unions/structs.
secur32: Use nameless unions/structs.
d3d10_1/tests: Use nameless unions/structs.
d3d10core/tests: Use nameless unions/structs.
d3d11/tests: Use nameless unions/structs.
d3d8/tests: Use nameless unions/structs.
d3d9/tests: Use nameless unions/structs.
d3drm/tests: Use nameless unions/structs.
d3dx10/tests: Use nameless unions/structs.
d3dx9/tests: Use nameless unions/structs.
ddraw/tests: Use nameless unions/structs.
dxgi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
include: Get rid of the NONAMELESS access macros in tests.
Remove unused NONAMELESS defines.
ntdll: Set Wow64 user space limit based on LARGE_ADDRESS_AWARE.
ntdll/tests: Add some more tests for the contents of the WOW64INFO structure.
Alistair Leslie-Hughes (23):
user.exe16: Remove DECLSPEC_HIDDEN usage.
krnl386.exe16: Remove DECLSPEC_HIDDEN usage.
mmsystem.dll16: Remove DECLSPEC_HIDDEN usage.
wiaservc: Remove DECLSPEC_HIDDEN usage.
msvfw32: Remove DECLSPEC_HIDDEN usage.
wldap32: Remove DECLSPEC_HIDDEN usage.
wuapi: Remove DECLSPEC_HIDDEN usage.
scrrun: Remove DECLSPEC_HIDDEN usage.
inetcpl.cpl: Remove DECLSPEC_HIDDEN usage.
mciavi32: Remove DECLSPEC_HIDDEN usage.
shell32: Remove DECLSPEC_HIDDEN usage.
msxml3: Remove DECLSPEC_HIDDEN usage.
wbemprox: Remove DECLSPEC_HIDDEN usage.
webservices: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
hidclass.sys: Remove DECLSPEC_HIDDEN usage.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3dx11_43/tests: Add a trailing '\n' to ok() calls.
dmime: Store WAVE data when Loading.
include: Added D3DX11_TEXTURE_LOAD_INFO struct.
d3dx11: Add D3DX11LoadTextureFromTexture stub.
wmp: Remove DECLSPEC_HIDDEN usage.
setupapi: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (3):
gdiplus: Add support support for 1, 4 and 8 bpp indexed pixel format conversion.
gdiplus: Fix returned value of GdipDrawImagePointsRect according to native lib.
gdiplus: Add new test cases to GdipCreateCustomLineCap.
Bernhard Kölbl (4):
winegstreamer: Leave media source critical section before unlocking workqueue.
mfmediaengine/tests: Make effect tests more consistent.
mfmediaengine/tests: Add tests for RemoveAllEffects().
mfmediaengine: Implement RemoveAllEffects().
Billy Laws (2):
wow64win: Skip WM_CREATE/WM_NCCREATE lParam conversion if NULL.
wow64: Add BT module thread termination callback.
Biswapriyo Nath (4):
include: Add missing default value in IXAudio2.
include: Add IXAudio2Extension in xaudio2.idl.
include: Add xamlom.idl file.
include: Add windows.ui.xaml.hosting.desktopwindowxamlsource.idl file.
Connor McAdams (5):
uiautomationcore: Use the free threaded marshaler to marshal IUIAutomationElement interfaces.
uiautomationcore: Introduce custom clientside event callback function.
uiautomationcore: Add support for calling COM event handlers.
uiautomationcore/tests: Add IUIAutomationFocusChangedEventHandler tests.
uiautomationcore: Implement IUIAutomation::{Add/Remove}FocusChangedEventHandler.
David Kahurani (5):
gdiplus/font: Fix GdipGetLogFontW/A with gdi_transform.
gdiplus: Reject zero-width/zero-height rectangles.
gdiplus: Move Flatten() tests into the same function.
gdiplus: Use helper to calculate transform properties.
gdiplus: Use get_log_fontW in GdipGetLogFontW.
David McFarland (2):
configure: Fix caching of PCSCLITE_LIBS on mac.
configure: Don't require pcsclite header for winscard.
Davide Beatrici (15):
winealsa: Export get_device_name_from_guid().
winecoreaudio: Export get_device_name_from_guid().
wineoss: Export get_device_name_from_guid().
winepulse: Export get_device_name_from_guid().
mmdevapi: Import get_device_name_from_guid() from driver.
mmdevapi: Introduce wine_unix_call helper.
mmdevapi: Implement AudioClient_Create.
winealsa: Remove GetAudioSessionWrapper.
winecoreaudio: Remove GetAudioSessionWrapper.
wineoss: Remove GetAudioSessionWrapper.
winepulse: Remove GetAudioSessionWrapper.
winecoreaudio: Add get_prop_value stub in unixlib.
wineoss: Add get_prop_value stub in unixlib.
winepulse: Move GetPropValue into mmdevapi.
winealsa: Remove GetPropValue.
Dmitry Timoshkov (3):
secur32: Convert "Negotiate" to an LSA package.
secur32: Add a better stub for LsaApCallPackageUntrusted(NegGetCallerName).
secur32/tests: Add some tests for "Negotiate" LSA package.
Eric Pouech (2):
msvcrt/tests: Add tests for freopen().
msvcrt: Fix freopen() on FILE with invalid underlying fd.
Esme Povirk (3):
user32/tests: Add optional message sequence from win7.
comctl32: Add support for MSAA events on tab controls.
comctl32/tests: Test MSAA events for tab controls.
Evan Tang (1):
wined3d: Update reported driver versions.
Fabian Maurer (2):
gdiplus: Make flatten_bezier_add iterative.
gdiplus: Prevent infinite loops due to floating point inaccuracy.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (11):
ntdll/tests: Fix the NtSetInformationFile() test on Windows 10 <= 1709.
winex11.drv: Add a trailing linefeed to a WARN() message.
mfmediaengine: Add the trailing linefeed to a WARN() message.
dxgi: Fix a typo in a comment.
win32u/tests: Fix the spelling of a comment.
ntdll/tests: Fix the spelling of some exception ok() messages.
windows.media.speech/tests: Fix the spelling of some speech ok() messages.
winewayland.drv: Fix the spelling of a comment.
dbghelp/tests: Fix the case of a comment.
ntdll/tests: Fix the basic file informations failure messages.
webservices: Make alloc_float_text() static.
Gabriel Ivăncescu (57):
mshtml: Add some basic documentation for the dispex and its vtbl.
win32u: Don't clip captured mouse pointer if it's done by the system.
jscript: Call the getter with the proper 'this' in invoke_prop_func.
jscript: Use the object containing the prop for builtin getters.
mshtml: Use the common HTMLElement dispex vtbl in the dispex definitions.
mshtml: Introduce unlink_ref helper.
mshtml: Use unlink and destructor in the vtbl for function disps.
mshtml: Use separate dispex destructors for different event types.
mshtml: Use unlink and destructor in the vtbl for HTMLEventObj.
mshtml: Use unlink and destructor in the vtbl for inner windows.
mshtml: Use unlink and destructor in the vtbl for CSSStyle.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRule.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRulesCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheet.
mshtml: Use unlink and destructor in the vtbl for HTMLImageElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLOptionElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLXMLHttpRequestFactory.
mshtml: Use unlink and destructor in the vtbl for the MutationObserver constructor.
mshtml: Unlink variants using a helper function.
mshtml: Use unlink and destructor in the vtbl for HTMLStorage.
mshtml: Use unlink and destructor in the vtbl for HTMLSelectionObject.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMRange.
mshtml: Use unlink and destructor in the vtbl for HTMLTxtRange.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMAttribute.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMImplementation.
mshtml: Use unlink and destructor in the vtbl for HTMLScreen.
mshtml: Use unlink and destructor in the vtbl for History.
mshtml: Use unlink and destructor in the vtbl for HTMLPluginsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLMimeTypesCollection.
mshtml: Use unlink and destructor in the vtbl for Navigator.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformanceNavigation.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformance.
mshtml: Use unlink and destructor in the vtbl for HTMLNamespaceCollection.
mshtml: Use unlink and destructor in the vtbl for Console.
mshtml: Use unlink and destructor in the vtbl for MediaQueryList.
mshtml: Use unlink and destructor in the vtbl for MutationObserver.
mshtml: Use unlink and destructor in the vtbl for XMLHttpRequest.
mshtml: Use unlink and destructor in the vtbl for HTMLRect.
mshtml: Use unlink and destructor in the vtbl for HTMLRectCollection.
mshtml: Use unlink and destructor in the vtbl for DOMTokenList.
mshtml: Use unlink and destructor in the vtbl for HTMLFiltersCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLAttributeCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMChildrenCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLElementCollection.
mshtml: Skip windows with no URI when deciding whether to send storage events.
mshtml: Use ASCII strings for dispex object names.
mshtml: Move console to the inner window.
mshtml: Split IUnknown methods for outer windows into separate vtable.
mshtml: Make all event target vtbls const.
mshtml: Use designated initializers in dispex and event target vtables.
mshtml: Use designated initializers in node vtables.
mshtml: Rename dispex_query_interface to dispex_query_interface_no_cc.
mshtml: Rename EventTarget_QI to EventTarget_QI_no_cc.
mshtml: Move ccref from the node to the dispex.
mshtml: Implement node cycle collection using the dispex.
mshtml: Release the event target during node unlink.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.3.259.
winevulkan: Update to VK spec version 1.3.260.
Gijs Vermeulen (1):
configure: Use PCSC.framework when pcsclite is not available on macOS.
Hans Leidekker (9):
winscard: Handle different type sizes on macOS.
klist: Match native output for encryption type.
secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_SESSION_KEY).
msv1_0: Implement SECPKG_ATTR_SESSION_KEY.
kerberos: Implement SECPKG_ATTR_SESSION_KEY.
ldap: Use SECPKG_ATTR_SESSION_KEY to retrieve the key size.
ldap: Set SSF when sasl_client_start() succeeds.
ldap: Set trailer size when sasl_client_start() succeeds.
secur32: Also copy user function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
Ilia Docin (6):
sane.ds: Add array of resolutions support.
sane.ds: Do the reverse conversion of frame edges before setting.
sane.ds: Add maximum scanning dimensions setting support.
sane.ds: Use BGR order to store 24 bit color DIB pixels.
sane.ds: Set monochrome DIB color table.
sane.ds: Fix pixel type setting.
Jacek Caban (41):
win32u: Use CREATESTRUCTW struct layout to pass WM_CREATE message params to client.
win32u: Use user message packing for HCBT_CREATEWND hooks.
win32u: Pack messages in WH_CALLWNDPROC hooks.
win32u: Pack messages in WH_CALLWNDPROCRET hooks.
win32u: Use user message packing for WM_NCCALCSIZE.
win32u: Use user message packing for WM_GETTEXT and WM_ASKCBFORMATNAME.
win32u/tests: Fully initialize lparam_buffer before each test.
win32u: Use user message packing for messages passing string.
win32u: Use user message packing for WM_GETMINMAXINFO.
win32u: Use user message packing for WM_DRAWITEM.
win32u: Use user message packing for WM_MEASUREITEM.
win32u: Use user message packing for WM_DELETEITEM.
win32u: Use user message packing for WM_COMPAREITEM.
win32u: Use user message packing for WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED.
win32u: Use user message packing for WM_COPYDATA.
win32u: Use user message packing for WM_HELP.
win32u: Use user message packing for WM_STYLECHANGING.
win32u: Use user message packing for WM_GETDLGCODE.
win32u: Use user message packing for scroll info messages.
win32u: Use user message packing for EM_GETSEL.
win32u: Use user message packing for messages passing RECT struct.
win32u: Use user message packing for EM_GETLINE.
win32u: Use user message packing for EM_SETTABSTOPS and LB_SETTABSTOPS.
win32u: Use user message packing for more messages passing string.
win32u: Use user message packing for CB_GETLBTEXT and LB_GETTEXT.
win32u: Use user message packing for LB_GETSELITEMS.
win32u: Use user message packing for WM_NEXTMENU.
win32u: Use user message packing for WM_MOVING and WM_SIZING.
win32u: Use user message packing for WM_MDICREATE.
win32u: Move packed structures declaration from ntuser.h.
win32u: Use user message packing for CB_GETCOMBOBOXINFO.
win32u: Use user message packing for WM_MDIGETACTIVE.
win32u: Remove no longer needed NtUserWinProcResult.
win32u: Use user message packing for WM_DEVICECHANGE.
win32u: Move more of unpack_message implementation from user32.
win32u: Remove no longer needed process_packed_message.
win32u: Remove no longer needed needs_unpack from win_proc_params.
win32u: Remove no longer needed NtUserSendDriverMessage.
win32u: Pack input param for CB_GETCOMBOBOXINFO message.
ieframe/tests: Use less strict checks in session count tests.
cscript: Build as CUI application.
Jactry Zeng (4):
shlwapi/tests: Test UrlUnescapeW() with independent data.
kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW().
shlwapi/tests: Test UrlUnescapeW() with URL_UNESCAPE_AS_UTF8.
mshtml: Call UrlUnescapeW() with URL_UNESCAPE_AS_UTF8 in is_gecko_path().
James Beddek (1):
mshtml: Check for non-NULL plugin host before trying to hold ref.
Jeff Smith (27):
gdiplus/tests: Factor out property_test_data struct.
gdiplus/tests: Allow for testing properties of multiple GIF samples.
gdiplus: Expose GIF background index property only when global color table present.
gdiplus: Set GIF frame delay and loop count properties correctly.
gdiplus: Return GIF frame property only if set.
gdiplus: Set correct frame delay when GCE is missing.
windowscodecs: PROPVARIANT fields should use CoTaskMem allocation.
windowscodecs: Handle PNG histogram (hIST) chunk type.
windowscodecs/tests: Move compare_metadata function so it can be used earlier.
windowscodecs: Handle PNG last-modification time (tIME) chunk type.
gdiplus/tests: Use compare_uint() in compare_float() instead of abs().
d3dx9_36/tests: Use compare_uint() in compare_float() instead of abs().
d3dx10_43/tests: Use compare_uint() in compare_float() instead of abs().
d3dcompiler_43/tests: Use compare_uint() in compare_float() instead of abs().
d2d1/tests: Use compare_uint() in compare_float() instead of abs().
msvcp120/tests: Use compare_uint() in compare_float() instead of abs().
d3d10core/tests: Use compare_uint() in compare_float() instead of abs().
d3d11/tests: Use compare_uint() in compare_float() instead of abs().
d3d8/tests: Use compare_uint() in compare_float() instead of abs().
d3d9/tests: Use compare_uint() in compare_float() instead of abs().
d3drm/tests: Use compare_uint() in compare_float() instead of abs().
ddraw/tests: Use compare_uint() in compare_float() instead of abs().
gdiplus/tests: Factor out check_properties functions.
gdiplus: Refactor png_metadata_reader.
gdiplus: Set PNG unit properties always.
gdiplus: Set PNG date-time property when present.
gdiplus: Set PNG palette histogram property when present.
Jinoh Kang (4):
xmllite: Eliminate DECLSPEC_HIDDEN.
ntdll: Avoid relying on linux/ipx.h to define SOL_IPX.
ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.
server: Avoid relying on linux/ipx.h to define SOL_IPX.
Lauri Kenttä (1):
po: Update Finnish translation.
Maxim Karasev (3):
kerberos: Implement KerbQueryTicketCacheExMessage.
secur32: Add stub message for unimplemented name types in GetUserNameExW.
whoami: Refactor and add more commands.
Michael Skorokhodov (1):
win32u: Add DriverVersion string for GPUs to registry.
Michael Stefaniuc (7):
vbscript/tests: Remove the need for a2bstr() in createobj.c.
vbscript/tests: Avoid using a2bstr() for static strings.
vbscript/tests: Avoid using a2bstr() in the run.c helpers.
vbscript/tests: Avoid using a2bstr() in the vbscript.c helpers.
vbscript/tests: Remove the last usage of a2bstr() in vbscript.c.
shell32/tests: Get rid of the a2bstr() helper.
msxml3/tests: Use wide strings to generate BSTRs in schema.c.
Mohamad Al-Jaf (28):
include: Add support for IAsyncOperation UINT32.
include: Add support for IAsyncOperation parameterized type IBuffer.
include: Add windows.devices.usb.idl file.
windows.devices.usb: Add stub DLL.
windows.devices.usb: Add IUsbDeviceStatics stub interface.
windows.devices.usb: Implement IUsbDeviceStatics::GetDeviceSelectorVidPidOnly().
windows.devices.usb/tests: Add IUsbDeviceStatics::GetDeviceSelectorVidPidOnly() tests.
windows.networking.hostname/tests: Check if passed HSTRING is duplicated.
windows.networking.hostname: Duplicate passed HSTRING in IHostNameFactory::CreateHostName().
msvcp140_codecvt_ids: Add DLL.
graphicscapture: Trim default debug channel.
widl: Add support for default_overload attribute.
include: Add windows.security.isolation.idl file.
hvsimanagementapi: Add stub DLL.
hvsimanagementapi: Add IIsolatedWindowsEnvironmentHostStatics stub interface.
hvsimanagementapi/tests: Add IIsolatedWindowsEnvironmentHostStatics::get_IsReady() tests.
hvsimanagementapi: Implement IIsolatedWindowsEnvironmentHostStatics::get_IsReady().
include: Add IDeviceInformationStatics interface definition.
windows.devices.enumeration: Add IDeviceInformationStatics stub interface.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcherAqsFilter().
windows.devices.enumeration/tests: Add IDeviceInformationStatics::CreateWatcherAqsFilter() tests.
include: Add IPackageStatics interface definition.
include: Add IRandomAccessStream interface definition.
include: Add IStorageFile interface definition.
include: Add windows.storage.fileproperties.idl file.
include: Add IStorageItem interface definition.
include: Add windows.storage.search.idl file.
include: Add IStorageFolder interface definition.
Nikolay Sivov (5):
d2d1/tests: Add some more tests for effect shader loading.
d2d1: Use device instance pointer in device context structure.
d2d1: Keep effect shader objects at device level.
d3d11/tests: Fix typos in a test cleanup (Coverity).
mf: Implement MFCreateSequencerSegmentOffset().
Paul Gofman (16):
nsiproxy.sys: Detect wireless interface type on Linux.
ntdll: Match Windows used block filling.
nsi: Add stubs for NsiRequestChangeNotification[Ex].
nsi: Add stub for NsiCancelChangeNotification.
nsi/tests: Add test for change notifications.
nsi: Cache nsi device handle.
winhttp: Set FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on sockets.
winhttp: Skip unexpected completions in netconn_wait_overlapped_result().
nsi: Forward request to nsiproxy from NsiRequestChangeNotification().
nsi: Implement NsiCancelChangeNotification().
nsiproxy.sys: Implement change notifications for NSI_IP_UNICAST_TABLE.
iphlpapi: Link NotifyAddrChange and CancelIPChangeNotify to nsi implementation.
d3d11/tests: Add basic tests for keyed mutexes.
opengl32: Skip debug callback messages called from native thread.
winex11.drv: Fix buffer allocation size in import_xdnd_selection().
winex11.drv: Release old drawables after setting new ones in sync_context().
Petrichor Park (3):
wined3d: Implement a zero-safe normalize function for FFP.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting_footer.
Piotr Caban (22):
userenv: Fix setting ALLUSERSPROFILE and ProgramData in CreateEnvironmentBlock.
winedump: Add initial support for dumping Windows NT Registry Files (REGF).
wineps.drv: Flush spool data even if there are no pages to print.
winedump: Fix non null terminated strings printing in regf files.
winedump: Add support for decoding data stored in offset in regf files.
winedump: Support REG_DWORD values in regf files.
winedump: Support dumping default values without VAL_COMP_NAME flag.
winedump: Fix empty string handling in regf files.
winedump: Support REG_EXPAND_SZ values in regf files.
winedump: Support REG_NONE values in regf files.
winedump: Support REG_BINARY values in regf files.
winedump: Support REG_MULTI_SZ values in regf files.
winedump: Skip data blocks when dumping regf files.
winedump: Enlarge buffer in dump_want_n helper.
winedump: Don't dump volatile keys from regf file.
winedump: Support dumping UTF16 value names in regf files.
winedump: Support REG_QWORD values in regf files.
bcrypt: Add BCRYPT_KEY_STRENGTH key property implementation.
include: Add LEGACY_RSA*_BLOB definitions.
bcrypt: Add support for importing LEGACY_RSAPRIVATE_BLOB keys.
bcrypt/tests: Add LEGACY_RSAPRIVATE_BLOB key import tests.
magnification: Add stub dll.
Rémi Bernon (10):
mf/tests: Shutdown MF if MP4 source isn't supported.
mf/tests: Add missing line end in test message.
winegstreamer: Use a fixed size type for wg_sample data pointer.
dinput: Unacquire only DISCL_FOREGROUND devices on foreground changes.
imm32: Hide the composition window if the string is empty.
winegstreamer: Avoid releasing wg_allocator memory samples twice.
winegstreamer: Keep default decodebin queue limits.
mfplat/tests: Create the test_callback event in the constructor.
mfplat/tests: Test that BeginRead doesn't use MFASYNC_CALLBACK_QUEUE_STANDARD.
mfplat: Use MFASYNC_CALLBACK_QUEUE_IO for byte stream async requests.
Santino Mazza (4):
evr: Release sample queue when streaming ends.
evr: Create critical section for sample queue.
evr: Don't lock presenter allocator when calling NotifyRelease.
evr: Remove process input handling from streaming thread.
Shaun Ren (5):
sapi: Call CoInitializeEx/CoUninitialize in async_worker.
sapi: Start async queue in ISpVoice::SetOutput.
sapi/tests: Add test for implicit MTA initialized by SpVoice.
sapi: Change ISpObjectToken::SetId FIXME to TRACE.
sapi/tests: Increase timeout in tts test_spvoice.
Stefan Dösinger (5):
ntdll: Try to raise the file limit above OPEN_MAX on MacOS.
dxgi: Read back the swapchain size assigned by wined3d.
wined3d: Make wined3d_swapchain_desc in wined3d_swapchain_create const.
wined3d: Move zero swapchain parameter fixup to wined3d_swapchain_state_init.
dxgi/tests: Test swapchains with zero dimensions.
Sven Baars (9):
uiautomationcore: Fix a sizeof() argument (Coverity).
wldap32: Fix a mod_type leak (Valgrind).
wldap32: Fix a message leak in ldap_parse_resultW() (Valgrind).
ldap: Free the output buffer after every InitializeSecurityContextA() call (Valgrind).
quartz: Fix some critical section leaks (Valgrind).
quartz/tests: Fix some media type leaks (Valgrind).
quartz: Fix a system clock leak (Valgrind).
quartz/tests: Fix some memory leaks in test_add_source_filter() (Valgrind).
strmbase: Fix a critical section leak (Valgrind).
Tim Clem (4):
wow64: Correct a reversed strcpy in wow64_NtQuerySystemInformation(SystemModuleInformation).
server: Avoid a mach port leak on Apple Silicon.
winemac.drv: Support cooperative app activation in macOS 14 Sonoma.
ntdll: Add error and warning logs in more cases of memory exhaustion.
Torge Matthies (7):
server: Don't consider non-pending poll requests when reselecting socket.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentEncode.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentDecode.
wintrust: Fix segfault in CRYPT_AsnEncodeAttributeTypeValue.
wintrust: Encode SPC_INDIRECT_DATA_CONTENT digest as an octet string.
wintrust: Encode algorithm id without parameters if pszObjId is NULL.
wintrust: Decode a zero-length OID to an empty string.
Victor Chiletto (3):
msvcrt: Remove unused struct locale_search_t member.
msvcrt: Fix memory leak in create_locinfo.
msvcrt: Remove uses of wcsncpy from locale_to_sname.
Vitaly Lipatov (12):
include: Update SECURITY_LOGON_TYPE and SECURITY_LOGON_SESSION_DATA in ntsecapi.h.
include: Update COMPRESSION_ defines and move it to ddk/ntifs.h.
ntdll: Use COMPRESSION_FORMAT_MASK instead of ~COMPRESSION_ENGINE_MAXINUM.
include: Add some missing defines.
include: Use compatible file guard name (_NTSECAPI_, _NTSECPKG_).
include: Add specstrings_strict.h with some defines.
include: Include ncrypt.h in wincrypt.h.
include: Add missing PCWCHAR to winnt.h.
include: Add initial activeds.h.
include: Add standalone LSA_OBJECT_ATTRIBUTES prototype if ntdef.h is not included.
advapi32: Print name for POLICY_INFORMATION_CLASS argument.
secur32: Print name for EXTENDED_NAME_FORMAT argument.
Yuxuan Shui (3):
mshtml: Implement window.MutationObserver with MutationObserver stub.
mshtml: Add stubs for MutationObserver methods.
jscript: Fix Array.prototype.splice with omitted deleteCount in ES5+ mode.
Zebediah Figura (48):
quartz: Call EnumMatchingFilters() once in autoplug().
amstream: Release the previous ddraw in ddraw_IAMMediaStream_Initialize().
amstream/tests: Fix a leak in test_ddrawstream_begin_flush_end_flush().
ws2_32/tests: Increase the timeout on some FD_CLOSE tests.
ws2_32/tests: Give an event test marked todo a bit more time to fail on Wine.
ws2_32/tests: Update test_write_watch() for Windows 11.
ws2_32/tests: Use closesocket(), not close().
ws2_32/tests: Execute test_iocp() near the end.
server: Move the implementation of IOCTL_AFD_GET_EVENTS to a dedicated server call.
ws2_32: Move the event reset in WSAEnumNetworkEvents() to the server.
httpapi/tests: Do not test that a local TCP port is closed.
wined3d: Move wined3d_device_apply_stateblock() to stateblock.c.
wined3d: Remove states not used by d3d10+ from wined3d_device_context_set_state().
wined3d: Add helpers to retrieve shader constants from a wined3d_stateblock.
wined3d: Store push constants in wined3d_buffers in struct wined3d_state.
d3d11/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Use the varying count from struct wined3d_d3d_info in pixel_shader_init().
wined3d: Track WINED3D_GL_NORMALIZED_TEXRECT in struct wined3d_d3d_info as well.
wined3d: Store the sample count in struct wined3d_d3d_info.
wined3d: Move struct wined3d_gl_info to struct wined3d_adapter_gl.
wined3d: Move struct wined3d_gl_info to wined3d_gl.h.
wined3d: Move some wined3d_gl_info functions to wined3d_gl.h.
wined3d: Remove the no longer used "specular_func_3ubv" declaration.
wined3d: Move the ffp_attrib_ops to wined3d_gl_info.
wined3d: Move more miscellaneous GL declarations to wined3d_gl.h.
wined3d: Avoid uploading deferred context maps more than once.
wined3d: Pass map flags to wined3d_context_copy_bo_address().
wined3d: Do not load UAV locations when clearing if not necessary.
qcap/tests: Add more tests for audio record media types.
qcap/audiorecord: Enumerate the currently set media type first.
wined3d: Move struct wined3d_bo_gl to wined3d_gl.h.
wined3d: Avoid using GL-specific types in struct wined3d_stream_info.
wined3d: Move struct wined3d_fence to wined3d_gl.h.
wined3d: Move struct wined3d_query_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_info to wined3d_gl.h.
wined3d: Release push constant buffers in wined3d_device_uninit_3d().
wined3d: Store the map pointer in the wined3d_deferred_upload structure.
wined3d: Allocate GPU BOs for discard maps on deferred contexts.
wined3d: Remove BO users from the list when invalidating them.
wined3d: Separate a wined3d_context_vk_load_buffers() helper.
wined3d: Implement a copy-on-write scheme for whole buffer uploads.
configure: Fail if --enable-archs is used and any cross-compiler is missing.
opengl32: Preserve the remainder of the version string when limiting the version to 4.3.
wined3d: Move struct wined3d_context_gl to wined3d_gl.h.
wined3d: Pass a wined3d_adapter instead of wined3d_gl_info to FFP pipe emulation mask methods.
wined3d: Move GL-specific blitter create function declarations to wined3d_gl.h.
wined3d: Move struct wined3d_adapter_gl to wined3d_gl.h.
wined3d: Move struct wined3d_device_gl to wined3d_gl.h.
Zhao Yi (1):
comctl32/listview: Reset bNoItemMetrics to make sure that listview items can be arranged correctly.
Zhiyi Zhang (5):
mfmediaengine/tests: Test IMFMediaEngine::GetDuration().
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
mfmediaengine/tests: Fix a test failure in test_GetDuration().
mfmediaengine/tests: Test IMFMediaEngine::GetSeekable().
mfmediaengine: Implement media_engine_GetSeekable().
Ziqing Hui (10):
winegstreamer: Add stubs for media sink.
winegstreamer: Add stubs for stream sink.
winegstreamer: Implement IMFMediaEventGenerator for stream sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Add async command handling to media sink.
winegstreamer: Implement GetStreamSinkCount for media sink.
winegstreamer: Implement GetStreamSinkByIndex for media sink.
winegstreamer: Implement GetStreamSinkById for media sink.
The Wine development release 8.13 is now available.
What's new in this release:
- Wow64 support in WineGStreamer.
- WeakMap support in JScript.
- Georgian translation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.13.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 8.13 (total 36):
- #24614 Multiple games crash or hang on startup due to D3DXAssembleShader not handling apostrophes in comments (Medieval II: Total War, Yu-Gi-Oh! ONLINE 3 client)('winetricks -q d3dx9_xx' is a workaround)
- #35690 Steam network hang ups.
- #35701 League of Legends: Right click contextual menu on friends list is invisible
- #35866 AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
- #41466 Steam: Tray icon menu sometimes flickers
- #42867 steam store doesnt work
- #44223 FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
- #44529 [Steam] Process remaining after exiting
- #45042 Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
- #45564 Kolab E14 Client installation fails with "Copy failed"
- #46221 League of Legends 8.23 crash after champion select
- #46888 Office 2007 word does not export to PDF/A
- #47328 Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
- #49371 Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
- #50771 msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
- #50868 League of Legends: infinite loading after login
- #51383 S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
- #51950 Iperf 2.0.8 hangs in parallel dual mode on localhost
- #51982 When installing Kobo for Desktop, user data meant for AppData\Local\Kobo is instead placed inside an arbitrary folder of the program's installation.
- #53446 Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
- #53723 Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
- #53890 comctl32:edit - test_ime() fails in Korean on Windows
- #54166 Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
- #54503 d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
- #54609 32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
- #54688 ntdll:info - test_query_cpu() fails on Windows 7
- #54871 kernel32:console - testScroll() fails on Windows 10 1909
- #54932 Fallout 3: Black screen when using the experimental wow64 mode
- #55032 Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
- #55078 Powerpoint 2007: "Print to file" broken
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55177 Hatching not printed in Framemaker 8
- #55181 Recent versions of chromium broken again, need ProcessPrng
- #55187 winedbg --auto crashes if target process terminates after attaching.
- #55247 Assertion in riched20 while installing Office 2007
- #55276 Dying Light 2: Stay Human crashes on launch
----------------------------------------------------------------
Changes since 8.12:
Alex Henrie (6):
webservices: Add missing const to url parameter of WsOpenListener.
include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
shell32: Free item lists with ILFree.
include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).
Alexandre Julliard (101):
comctl32: Use nameless unions/structs.
comdlg32: Use nameless unions/structs.
dinput: Use nameless unions/structs.
dplayx: Use nameless unions/structs.
riched20: Use nameless unions/structs.
urlmon: Use nameless unions/structs.
wintrust: Use nameless unions/structs.
wow64: Implement backend notification functions.
gitlab: Upgrade the Debian image to bookworm.
ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
psapi/tests: Use MAX_PATH size for arrays holding file paths.
kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
ntdll: Implement RtlWow64GetSharedInfoProcess().
adsldp: Use nameless unions/structs.
amstream: Use nameless unions/structs.
appwiz.cpl: Use nameless unions/structs.
cryptdlg: Use nameless unions/structs.
cryptnet: Use nameless unions/structs.
cryptui: Use nameless unions/structs.
dmloader: Use nameless unions/structs.
dmsynth: Use nameless unions/structs.
dmusic: Use nameless unions/structs.
dxdiagn: Use nameless unions/structs.
gitlab: Install the gstreamer packages from deb-multimedia.org.
d3drm: Use nameless unions/structs.
ddraw: Use nameless unions/structs.
ddrawex: Use nameless unions/structs.
explorerframe: Use nameless unions/structs.
fusion: Use nameless unions/structs.
gdiplus: Use nameless unions/structs.
hhctrl.ocx: Use nameless unions/structs.
ieframe: Use nameless unions/structs.
inetcomm: Use nameless unions/structs.
inetcpl.cpl: Use nameless unions/structs.
inetmib1: Use nameless unions/structs.
include: Add some new information classes.
configure: Always disable winegstreamer if gst/gst.h is broken.
mscoree: Use nameless unions/structs.
mshtml: Use nameless unions/structs.
msi: Use nameless unions/structs.
msxml3: Use nameless unions/structs.
ndis.sys: Use nameless unions/structs.
netio.sys: Use nameless unions/structs.
netprofm: Use nameless unions/structs.
oledb32: Use nameless unions/structs.
oledlg: Use nameless unions/structs.
gitlab: Make sure that the tags are fetched before building.
pdh: Use nameless unions/structs.
prntvpt: Use nameless unions/structs.
quartz: Use nameless unions/structs.
sane.ds: Use nameless unions/structs.
usbd.sys: Use nameless unions/structs.
wbemprox: Use nameless unions/structs.
wevtapi: Use nameless unions/structs.
wined3d: Use nameless unions/structs.
wineandroid.drv: Use nameless unions/structs.
winemac.drv: Use nameless unions/structs.
winex11.drv: Use nameless unions/structs.
winhttp: Use nameless unions/structs.
wininet: Use nameless unions/structs.
winmm: Use nameless unions/structs.
winspool.drv: Use nameless unions/structs.
strmbase: Use nameless unions/structs.
krnl386: Use nameless unions/structs.
mmsystem: Use nameless unions/structs.
ver: Use nameless unions/structs.
comctl32/tests: Use nameless unions/structs.
comdlg32/tests: Use nameless unions/structs.
compstui/tests: Use nameless unions/structs.
crypt32/tests: Use nameless unions/structs.
cryptui/tests: Use nameless unions/structs.
devenum/tests: Use nameless unions/structs.
dmsynth/tests: Use nameless unions/structs.
dplayx/tests: Use nameless unions/structs.
fusion/tests: Use nameless unions/structs.
gdi32/tests: Use nameless unions/structs.
gdiplus/tests: Use nameless unions/structs.
ieframe/tests: Use nameless unions/structs.
imagehlp/tests: Use nameless unions/structs.
inetcomm/tests: Use nameless unions/structs.
iphlpapi/tests: Use nameless unions/structs.
kernel32/tests: Use nameless unions/structs.
mfplat/tests: Use nameless unions/structs.
mshtml/tests: Use nameless unions/structs.
msi/tests: Use nameless unions/structs.
ntdll/tests: Use nameless unions/structs.
oledb32/tests: Use nameless unions/structs.
pdh/tests: Use nameless unions/structs.
quartz/tests: Use nameless unions/structs.
rpcrt4/tests: Use nameless unions/structs.
shlwapi/tests: Use nameless unions/structs.
urlmon/tests: Use nameless unions/structs.
user32/tests: Use nameless unions/structs.
wevtapi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
wininet/tests: Use nameless unions/structs.
winmm/tests: Use nameless unions/structs.
winspool.drv/tests: Use nameless unions/structs.
wintrust/tests: Use nameless unions/structs.
Alistair Leslie-Hughes (37):
appwiz: Remove DECLSPEC_HIDDEN usage.
sxs: Remove DECLSPEC_HIDDEN usage.
netprofm: Remove DECLSPEC_HIDDEN usage.
adsldp: Remove DECLSPEC_HIDDEN usage.
explorerframe: Remove DECLSPEC_HIDDEN usage.
wintab32: Remove DECLSPEC_HIDDEN usage.
msdaps: Remove DECLSPEC_HIDDEN usage.
mscms: Remove DECLSPEC_HIDDEN usage.
shlwapi: Remove DECLSPEC_HIDDEN usage.
widl: Remove unnecessary null check (Coverity).
windowscodecs: Remove misleading comment.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3d10: Remove DECLSPEC_HIDDEN usage.
d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
d3d8: Remove DECLSPEC_HIDDEN usage.
d3drm: Remove DECLSPEC_HIDDEN usage.
d3d9: Remove DECLSPEC_HIDDEN usage.
wbemdisp: Remove DECLSPEC_HIDDEN usage.
mf: Remove DECLSPEC_HIDDEN usage.
mfreadwrite: Remove DECLSPEC_HIDDEN usage.
mfplat: Remove DECLSPEC_HIDDEN usage.
kernelbase: Remove DECLSPEC_HIDDEN usage.
fusion: Remove DECLSPEC_HIDDEN usage.
wnaspi32: Remove DECLSPEC_HIDDEN usage.
msctf: Remove DECLSPEC_HIDDEN usage.
taskschd: Remove DECLSPEC_HIDDEN usage.
msado15: Remove DECLSPEC_HIDDEN usage.
twain_32: Remove DECLSPEC_HIDDEN usage.
gdiplus: Remove DECLSPEC_HIDDEN usage.
d3drm/tests: Show that viewport::render does not clear the background.
ddrawex: Remove DECLSPEC_HIDDEN usage.
dxgi: Remove DECLSPEC_HIDDEN usage.
d3d11: Remove DECLSPEC_HIDDEN usage.
d3dx10_43: Remove DECLSPEC_HIDDEN usage.
d2d1: Remove DECLSPEC_HIDDEN usage.
ddraw: Remove DECLSPEC_HIDDEN usage.
d3dx9_36: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
mfmediaengine/tests: Add tests for audio effects.
mfmediaengine: Add support for inserting audio effects.
Billy Laws (5):
wineboot: Always attempt setup for all machine types.
ntdll: Fix NtContinue from within exception context on ARM64.
ntdll/tests: Test that NtContinue restores all register state on arm64.
ntdll: Add aarch64 DWARF register definitions.
ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
Biswapriyo Nath (5):
include: Add ID2D1SpriteBatch in d2d1_3.idl.
include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
include: Add ID2D1DeviceContext3 in d2d1_3.idl.
include: Add ID2D1DeviceContext4 in d2d1_3.idl.
include: Add more CLSIDs in d2d1effects.idl.
Brendan Shanks (10):
win32u: Set zero_bits correctly for large address aware applications on Wow64.
winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
winealsa: Set zero_bits correctly for large address aware applications on Wow64.
wineoss: Set zero_bits correctly for large address aware applications on Wow64.
winepulse: Set zero_bits correctly for large address aware applications on Wow64.
ntdll: Don't release address space on 64-bit macOS.
configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
loader: In macOS preloader, add __program_vars section.
winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.
Chris Denton (1):
bcryptprimitives: ProcessPrng stub.
Connor McAdams (8):
uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
uiautomationcore: Add support for matching serverside events through navigation.
ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
uiautomationcore/tests: Add IUIAutomationEventHandler tests.
uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
David Kahurani (1):
gdiplus: Dump both variable address and internal values for matrices.
Davide Beatrici (2):
mmdevapi: Don't link to uuid.
mmdevapi: Implement get_audio_session.
Ekaterine Papava (1):
po: Add Georgian translation.
Eric Pouech (1):
conhost: Fix ctrl-c handling.
Fabian Maurer (2):
geolocation: Rename from windows.devices.geolocation.geolocator.
user32/tests: Remove DrawTextEx tests that overrun stack variable.
François Gouget (4):
user32/tests: Use win_skip() for missing APIs.
uxtheme/tests: Use win_skip() for missing APIs.
msvcrt/tests: Check that some functions are only available in 32-bit code.
riched20/tests: Make the editor paste test failures more informative and unique.
Gabriel Ivăncescu (10):
mshtml: Grab the binding while aborting it.
jscript: Convert unlink_props to a helper that unlinks the entire object.
jscript: Implement WeakMap instance stub and constructor.
jscript: Implement WeakMap.set().
jscript: Implement WeakMap.get().
jscript: Implement WeakMap.delete().
jscript: Implement WeakMap.clear().
jscript: Implement WeakMap.has().
mshtml/tests: Add tests for WeakMap.
jscript: Properly set JS_E_WRONG_THIS as a TypeError.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.258.
Giovanni Mascellani (7):
dxgi: Introduce a worker thread for the D3D12 swapchain.
dxgi: Move presentation to the worker thread.
dxgi: Move buffer resizing to the worker thread.
dxgi: Remove the worker event, which is now useless.
dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
dxgi: Wait before acquiring the Vulkan queue for presenting.
Hans Lehnert (1):
wininet: Handle http headers correctly when length is 0.
Hans Leidekker (5):
secur32/tests: Fix a test failure and extend tests.
include: Add Uri runtime class and related definitions.
include: Add ProcessorArchitecture winrt enum.
include: Add windows.storage.idl.
include: Add windows.applicationmodel.idl.
Jacek Caban (12):
user32: Return result from dispatch_win_proc_params.
win32u: Return result from dispatch_win_proc_params.
win32u: Remove no longer needed result pointer from win_proc_params.
win32u: Always use result returned directly from call_window_proc.
user32: Always use NtCallbackReturn in User32DrawText.
wow64win: Define more 32-bit types.
wow64win: Support in place conversion in 64to32 struct conversion helpers.
wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
win32u: Pass module name before packed lparam in win_hook_params.
win32u/tests: Add tests for handling LPARAM in window procs and hooks.
Jacob Czekalla (1):
comdlg32: Add parent folder button to IFileDialog.
Jeff Smith (10):
gdiplus: Dash pattern scaling does not shrink below line width 1.0.
gdiplus/tests: Fix mangled test output when dumping data in hex format.
gdiplus/tests: Use consistent no-alternate value for image properties.
gdiplus/tests: Add GIF to image properties tests.
gdiplus/tests: Use test context for test ran in a loop.
gdiplus/tests: Pare down image property tests that are not run for Wine.
gdiplus: Fix GdipGetPropertySize return value when no properties exist.
gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
windowscodecs: Factor out common GIF palette copying logic.
windowscodecs: Allow GIF with no color table.
Jinoh Kang (11):
riched20: Wrap marked paragraphs at Text Services initialization.
riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
riched20: Don't call ME_UpdateRepaint inside set_selection().
ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
msi: Fully initialize the control structure in dialog_line_control().
msi: Make insertion order of line controls consistent with other controls.
msi: Don't open code dialog_add_control() in dialog_line_control().
ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
winegcc: Enable SafeSEH only on i386.
Kurt Kartaltepe (3):
winegstreamer: Replace pointers with handles in PE->Unix transition.
winegstreamer: Replace ambiguously sized/aligned elements.
winegstreamer: Implement Wow64 entrypoints in the Unix library.
Maxim Karasev (5):
include: Add UNICODE_NULL.
include: Update _SECURITY_INTEGER.
include: Add missing Kerberos related defines.
klist: Add a program that lists Kerberos tickets.
include: Add more Kerberos cache info types.
Nikolay Sivov (3):
d3dcompiler/tests: Add some tests for matrix packing order compile flags.
windows.globalization: Use separate AddRef/Release methods for the language factory.
d3dcompiler/tests: Add another test for matrix majority flags.
Paul Gofman (8):
d3d11/tests: Add basic test for shared resources.
include: Add initial ioring definitions.
kernelbase: Add stub for QueryIoRingCapabilities().
ntdll/tests: Add test for async cancel on pipe's last process handle close.
ws2_32/tests: Add test for async cancel on socket's last process handle close.
server: Cancel socket asyncs when the last handle in process is closed.
server: Cancel pipe asyncs when the last handle in process is closed.
user32/tests: Change display mode for correct monitor in check_preferred_mode().
Petrichor Park (1):
notepad: Use GetDpiForWindow().
Piotr Caban (6):
wineps: Fix SetTextJustification playback with 0 count parameter.
wineps: Buffer data sent to printer port.
services: Exit early in process_send_start_message if ConnectNamedPipe fails.
msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
msvcrt: Improve locale_to_sname error handling.
msvcrt: Set sname_match in locale_to_sname when returning cached result.
Shaun Ren (16):
sapi: Invoke AddRef in mmaudio SetObjectToken.
sapi: Invoke AddRef in ISpVoice::SetVoice.
sapi/tests: Fix intermittent duration test failure in mmaudio.
sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
include: Fix ISpTTSEngineSite::GetActions return type.
sapi: Handle queue not initialized in async_empty_queue.
sapi: Reset empty event after queuing a task in async_queue_task.
sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
sapi: Implement synchronous ISpVoice::Speak.
sapi: Introduce ISpTTSEngineSite stub.
sapi: Implement ISpVoice::Speak speak_proc.
sapi: Implement ISpTTSEngineSite::Write.
sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
sapi: Return wait status in async_wait_queue_empty.
sapi: Implement ISpVoice::WaitUntilDone.
Sven Baars (6):
wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
ntdll: Test against the correct limit in get_extended_params().
ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.
Tim Clem (4):
wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
shell32: Don't fall back to $HOME for missing user special folders.
wmp: Don't release a NULL typelib.
wmp: Release filter graph and interfaces if WMPControls::play fails.
Torge Matthies (1):
ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
Victor Chiletto (9):
msvcr110/tests: Add tests for new setlocale behaviors.
msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
msvcrt: Use snames instead of LCIDs in create_locinfo.
msvcrt: Convert locale_to_LCID to snames.
msvcrt: Skip exhaustive locale search with valid snames.
msvcrt: Simplify set_lc_locale_name.
msvcrt: Remap synonyms to snames.
msvcrt: Use GetLocaleInfoEx to compare locale info.
user32: Add hotpatch prologue to RegisterRawInputDevices.
Yuxuan Shui (1):
msvcrt: Fix out-of-bound access in create_locinfo.
Zebediah Figura (14):
wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
opengl32: Copy to the wow64 buffer even for write maps.
opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
wined3d: Move the wined3d_vk.h include to individual files.
Zhao Yi (2):
comctl32/tests: Add a test case to get syslinkid.
comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
Zhiyi Zhang (3):
comctl32/tests: Add Korean IME specific test sequences.
user32/tests: Add Korean IME specific test sequences.
winex11.drv: Move the dummy parent window to (0, 0).
The Wine stable release 8.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0.2 (total 27):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
- #53826 Attempting to install / update battle.net fails with Qt error
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54819 DnsQuery_A() mishandles CNAME DNS records
- #54882 Conemu fails to start (cannot attach to process)
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.0.1:
Alex Henrie (12):
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
winex11: Simplify confusing condition and error messages in wglShareLists.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (3):
kernelbase: Move to a higher address on 64-bit.
ntdll: Fix typo in the check for hidden files.
wininet/tests: Update expected WineHQ certificate.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Biswapriyo Nath (2):
include: Fix c++ compiler error with msxml2.idl.
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
winemac: Fix memory leak in UpdateDisplayDevices.
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
David Kahurani (1):
shlwapi: Implement StrFormatByteSizeEx.
Eric Pouech (3):
winedbg: Don't crash when no search path has been set.
evr: Fix incorrect integral computation.
winedump: Fix out of bounds access (spotted by GCC13).
François Gouget (2):
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
Gabriel Ivăncescu (8):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
Hans Leidekker (3):
ldap: Return an error when the server doesn't respond to the SSL handshake.
ws2_32: Skip non-address records in dns_only_query().
winhttp/tests: Fix a test failure.
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Jinoh Kang (2):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Michael Stefaniuc (2):
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
threadpoolwinrt: Forward a Release() to a Release() method.
Mohamad Al-Jaf (4):
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
Nikolay Sivov (1):
mfplat: Implement MFCreatePathFromURL().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (2):
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ntdll: Avoid integer overflow in block_get_subheap().
Piotr Caban (1):
localspl: Don't pass original document name to cupsStartDocument.
Sven Baars (1):
wine.inf: Put the Clients key in the right place.
Tim Clem (1):
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Tyson Whitehead (2):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
Vijay Kiran Kamuju (2):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (1):
ntdll: Make fd_set_file_info() static.
Zhiyi Zhang (4):
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
findstr: Add basic functionality.
wined3d: Add GPU information for AMD Raphael.
Ziqing Hui (1):
mfreadwrite: Fix an address of operator typo.
The Wine development release 8.12 is now available.
What's new in this release:
- Initial support for painting windows in the Wayland driver.
- Command stream performance improvements in WineD3D.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.12 (total 31):
- #7767 Zero G Software 'InstallAnywhere' installers crash or silently exit (Rosetta Stone, Reading Counts, World Religions, Parashara's Light Professional 7.0.1)
- #9378 Combat Mission Shock Force DEMO: 'Could not initialize OpenGL graphics.'
- #17868 tools/widl.c: warning: initialization discards qualifiers from pointer target type
- #38938 SlingPlayer 1.5 crashes when moving the main window
- #47089 32-bit Winamp 5.80 installer crashes in 64-bit WINEPREFIX after pressing 'Next'
- #49772 Memory safety issues in widl
- #53085 Free Video Converter complains about being unable to install .Net 2.0
- #53086 Free Video Converter needs certutil.exe
- #53907 SierraChart Freezes when allocating more than one account
- #54257 Missing support for Windows 2003 (5.2) in OleAut version detection
- #54532 msidb.exe: page fault on read access to 00000007 when importing a .idt file
- #54978 vbscript fails to compile Sub when End Sub on same line
- #54996 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (64)" / FileDispositionInformationEx
- #55053 Prometheus exporter for Windows needs DISPATCH_PROPERTYGET support in object_Invoke
- #55062 Starcraft II Graphics Only Work When Window is Out of Focus
- #55096 Moving loader to PIE removed loaded modules chain view from debuggers
- #55099 Excel 2016 crashes on date cell formatting
- #55101 DesignDoll Declaring An Error After Loading All Component In Splash Screen
- #55110 quartz:vmr7 & quartz:vmr9 sometimes exit prematurely in Wine
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55120 kernel32:debugger - test_debug_loop_wow64() gets wrong ntdll count in the new WoW mode
- #55124 Can't run Flutter SDK (cmd.exe doesn't support redirecting stderr for a block)
- #55126 Flutter application needs Windows.Devices.Geolocation.Geolocator
- #55128 dbghelp:dbghelp & dbghelp:path - Call to SymSetExtendedOption() prevents running on Windows 7, 8 & 10 <= 1607
- #55137 Missing support for SCARD_AUTOALLOCATE
- #55141 virtual desktop not rendering with some dual monitor setups (regression: 8.10 -> 8.11)
- #55144 Error when I run Navigraph FMS Data Manager
- #55146 Virtual desktop is fullscreen regardless of the desktop size setting in winecfg
- #55160 Loading Bay / Harry Potter Magic Awakened: Unable to install
- #55194 oleaut32:vartest - test_VarImp() fails in Wine
- #55201 Wine fails to build with clang-11.0.1 due to recent nameless unions/structs VARIANT changes
----------------------------------------------------------------
Changes since 8.11:
Alex Henrie (12):
dbghelp: Allocate real_path with the CRT and copy it to the module heap.
winegstreamer: Fix double free on error path in media_source_constructor (scan-build).
regedit: Fix memory leak on error path in RenameKey (scan-build).
shell32: Don't overallocate in Dde_OnRequest (scan-build).
include: Use correct header guard name in winstring.h.
include: Introduce wine_dbgstr_hstring and debugstr_hstring.
winspool: Declare JobW as a void pointer in SetJobA.
winhttp: Use specific types insted of sizeof(ULONG_PTR) in alloc_handle.
cmd: Allow numbered redirects at the beginning of a line.
vbscript: Use correct pointer type in add_match (scan-build).
include: Add REPARSE_(GUID_)DATA_BUFFER and related constants.
include: Add IsReparseTagNameSurrogate.
Alexandre Julliard (34):
ntdll/tests: Add some tests for NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement RtlIsCurrentProcess/Thread.
faudio: Import upstream release 23.07.
png: Import upstream release 1.6.40.
tiff: Import upstream release 4.5.1.
uiautomationcore: Fix some long/LONG mismatches.
oleaut32: Get rid of the DECIMAL access macros.
oleaut32: Use nameless unions/structs.
oleaut32/tests: Use nameless unions/structs.
ole32: Use nameless unions/structs.
ole32/tests: Use nameless unions/structs.
shell32: Use nameless unions/structs.
shell32/tests: Use nameless unions/structs.
shlwapi: Use nameless unions/structs.
oleaut32: Fix a typo introduced by last change.
combase: Use nameless union/structs.
crypt32: Use nameless union/structs.
dbghelp: Use nameless union/structs.
mountmgr.sys: Use nameless union/structs.
ntoskrnl.exe: Use nameless union/structs.
rpcrt4: Use nameless union/structs.
ws2_32: Use nameless union/structs.
include: Disallow Win32 va_list in Unix libraries.
include: Define LONG_PTR as int on llvm-mingw to avoid printf format warnings.
configure: Allow using clang as cross-compiler for multiple archs.
configure: Define __STDC__ to work around clang breakage in MSVC mode.
configure: Don't try to use a non-compliant cross-compiler.
advapi32/tests: Avoid sizeof() in traces.
dmstyle: Avoid sizeof() in traces.
kernel32/tests: Avoid sizeof() in traces.
ntoskrnl.exe/tests: Avoid sizeof() in traces.
wmvcore/tests: Avoid sizeof() in traces.
wtsapi32/tests: Avoid sizeof() in traces.
Alexandros Frantzis (10):
winewayland.drv: Introduce per-window driver data.
winewayland.drv: Basic Wayland toplevel surface support.
winewayland.drv: Ensure Wayland surface handlers don't access invalid data.
winewayland.drv: Introduce window_surface for Wayland.
winewayland.drv: Implement a simple window_surface flush.
winewayland.drv: Do not commit buffers to unconfigured surfaces.
winewayland.drv: Use a buffer queue for window_surface.
winewayland.drv: Track damaged buffer regions.
winewayland.drv: Update only the flushed bounds from the window_surface.
winewayland.drv: Send surface damage region to the compositor.
Alistair Leslie-Hughes (56):
wined3d: Rename shader_extract_from_dxbc to wined3d_shader_extract_from_dxbc.
dpnet: Remove DECLSPEC_HIDDEN usage.
dplayx: Remove DECLSPEC_HIDDEN usage.
dpvoice: Remove DECLSPEC_HIDDEN usage.
dpnet/tests: Remove DECLSPEC_HIDDEN usage.
msdasql: Remove DECLSPEC_HIDDEN usage.
mfsrcsnk: Remove DECLSPEC_HIDDEN usage.
infosoft: Remove DECLSPEC_HIDDEN usage.
mapi32: Remove DECLSPEC_HIDDEN usage.
sapi: Remove DECLSPEC_HIDDEN usage.
inetcomm: Remove DECLSPEC_HIDDEN usage.
dsdmo: Add Chorus effect stub.
dsdmo: Add Flanger effect stub.
dmsynth: Remove DECLSPEC_HIDDEN usage.
dmstyle: Remove DECLSPEC_HIDDEN usage.
dmband: Remove DECLSPEC_HIDDEN usage.
dmcompos: Remove DECLSPEC_HIDDEN usage.
dmusic: Remove DECLSPEC_HIDDEN usage.
dmscript: Remove DECLSPEC_HIDDEN usage.
dswave: Remove DECLSPEC_HIDDEN usage.
dmime: Remove DECLSPEC_HIDDEN usage.
dmloader: Remove DECLSPEC_HIDDEN usage.
oleaut32: Fix OaBuildVersion return for available windows versions.
oleaut32: Changed default return value to match prefix default.
msscript.ocx: Fake success in OnAmbientPropertyChange.
msscript.ocx: Fake success in IPersistStreamInit Load.
msscript.ocx: Fake success in FreezeEvents.
jscript: Remove DECLSPEC_HIDDEN usage.
vbscript: Remove DECLSPEC_HIDDEN usage.
amstream: Remove DECLSPEC_HIDDEN usage.
devenum: Remove DECLSPEC_HIDDEN usage.
qasf: Remove DECLSPEC_HIDDEN usage.
qcap: Remove DECLSPEC_HIDDEN usage.
qdvd: Remove DECLSPEC_HIDDEN usage.
qedit: Remove DECLSPEC_HIDDEN usage.
quartz: Remove DECLSPEC_HIDDEN usage.
oledb32: Remove DECLSPEC_HIDDEN usage.
ole32: Remove DECLSPEC_HIDDEN usage.
oleaut32: Remove DECLSPEC_HIDDEN usage.
oleacc: Remove DECLSPEC_HIDDEN usage.
oledlg: Remove DECLSPEC_HIDDEN usage.
combase: Remove DECLSPEC_HIDDEN usage.
riched20: Remove DECLSPEC_HIDDEN usage.
localspl: Remove DECLSPEC_HIDDEN usage.
spoolss: Remove DECLSPEC_HIDDEN usage.
winspool.drv: Remove DECLSPEC_HIDDEN usage.
wineps.drv: Remove DECLSPEC_HIDDEN usage.
urlmon: Remove DECLSPEC_HIDDEN usage.
shdocvw: Remove DECLSPEC_HIDDEN usage.
wininet: Remove DECLSPEC_HIDDEN usage.
xaudio2_7: Remove DECLSPEC_HIDDEN usage.
dsound: Remove DECLSPEC_HIDDEN usage.
winmm: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
advapi32: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
Ally Sommers (2):
ntdll/unix: Skip address conversion for SOCK_STREAM sockets in try_send().
ws2_32/tests: Add test for sendto() and recvfrom() on TCP sockets.
Andrey Gusev (1):
ntoskrnl.exe: Add PsSetLoadImageNotifyRoutineEx semi-stub.
Arkadiusz Hiler (1):
win32u: Don't affect nonclient area unless requested.
Bernhard Kölbl (5):
widl: Add basic support for the [deprecated] attribute.
include: Add Windows.Phone.PhoneContract api contract.
include: Add VoiceCommandSet runtimeclass with its dependencies.
mfmediaengine/tests: Add tests for video effects.
mfmediaengine: Add support for inserting video effects.
Billy Laws (3):
ntdll: Avoid using SOL_IPX to detect whether IPX is supported.
ws2_32: Avoid using SOL_IPX to detect whether IPX is supported.
server: Avoid using SOL_IPX to detect whether IPX is supported.
Brendan Shanks (1):
winevulkan: Set zero_bits correctly for large address aware applications on Wow64.
Connor McAdams (5):
uiautomationcore: Introduce UI Automation event thread.
uiautomationcore: Introduce custom uia_event_args structure.
uiautomationcore: Add partial support for raising serverside events.
uiautomationcore: Create a new node when raising serverside events.
uiautomationcore: Add support for invoking serverside event callbacks.
Damjan Jovanovic (1):
opengl32: Implement filtering on all the ChoosePixelFormat() flags that are ignored when unset.
Davide Beatrici (33):
winealsa: Use standard allocator in AudioClient's Initialize.
winecoreaudio: Use standard allocator in AudioClient's Initialize.
wineoss: Use standard allocator in AudioClient's Initialize.
winepulse: Move AudioClient's Initialize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Use mmdevapi's AudioClient's Initialize.
wineoss: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Refactor AudioClient's Release to match other drivers.
winepulse: Refactor AudioClient's Release to match other drivers.
winepulse: Move AudioClient's Release, AddRef into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Release, AddRef.
winecoreaudio: Use mmdevapi's AudioClient's Release, AddRef.
wineoss: Use mmdevapi's AudioClient's Release, AddRef.
winepulse: Move AudioClient's QueryInterface into mmdevapi.
winealsa: Use mmdevapi's AudioClient's QueryInterface.
winecoreaudio: Use mmdevapi's AudioClient's QueryInterface.
wineoss: Use mmdevapi's AudioClient's QueryInterface.
winepulse: Move AudioClient's vtable into mmdevapi.
winecoreaudio: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
wineoss: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winepulse: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winealsa: Refactor get_device_name_from_guid() to allocate memory dynamically.
winecoreaudio: Refactor get_device_name_from_guid() to allocate memory dynamically.
wineoss: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Move session_init_vols into mmdevapi.
winealsa: Move session_init_vols into mmdevapi.
winecoreaudio: Move session_init_vols into mmdevapi.
wineoss: Move session_init_vols into mmdevapi.
winepulse: Move create_session into mmdevapi.
winealsa: Move create_session into mmdevapi.
winecoreaudio: Move create_session into mmdevapi.
wineoss: Move create_session into mmdevapi.
Eric Pouech (9):
dbghelp: Add tests for SymSrvGetFileIndexInfo() for PDB files.
dbghelp: Implement SymSrvGetFileIndexInfo for PDB files.
dbghelp/tests: Don't call SymSetExtendedOption() directly.
dbghelp/tests: Use indirect call for SymSetExtendedOption.
d3dx9/tests: Clean up some ok() messages.
dbghelp: Use nameless union/structs.
winedbg: Cache wow64 status inside struct process.
winedbg: Add 'info system' command.
winedbg: Detect debuggee termination before first exception.
Esme Povirk (2):
win32u: Implement marshaling for CB_GETCOMBOBOXINFO.
win32u: Implement EVENT_OBJECT_SHOW/HIDE for window objects.
Evan Tang (2):
winemac.drv: Give Apple GPUs device IDs.
winemac.drv: Fix compile on macOS 10.14.
Fabian Maurer (14):
widl: Don't crash on nameless structs.
windowscodecs: Fake success in SetMetadataByName.
dcomp: Add stub for DCompositionCreateDevice3.
vbscript: Support one-line sub/function.
user32: Ignore invalid parameters in DrawTextEx when HDC is invalid.
kerberos: Avoid potentially uninitialized variable (clang-scan).
include/windows.foundation: Add double reference.
include: Add windows.devices.geolocation.geolocator.
windows.devices.geolocation.geolocator: Add stub dll.
windows.devices.geolocation.geolocator: Add stubs for IGeolocator.
windows.devices.geolocation.geolocator: Fake success for PositionChanged_add.
windows.devices.geolocation.geolocator: Implement IWeakReferenceSource.
windows.devices.geolocation.geolocator: Implement IWeakReference.
localspl: Add workaround for old versions of cups.h.
François Gouget (1):
user32/tests: Fix a WM_DISPLAYCHANGE broken() condition.
Gabriel Ivăncescu (21):
mshtml: Remove DECLSPEC_HIDDEN usage.
win32u: Don't clip fullscreen windows while capturing mouse pointer.
mshtml: Introduce helper to transfer node ownership to range points when AddRef isn't needed.
mshtml: Fix leak when obtaining previous node of range point.
mshtml: Fix leak when moving to next char in range point.
mshtml: Fix leak in find_prev_space.
mshtml: Fix text node leak in TextRange's text setter.
mshtml/tests: Fix element leak in test_elems.
mshtml/tests: Fix form element leak in test_form_item.
mshtml/tests: Fix attribute leak in test_attr.
mshtml/tests: Fix node leak in test_create_elems.
mshtml/tests: Fix node leaks in test_docfrag.
mshtml/tests: Fix performance leaks in test_document_mode_lock.
mshtml/tests: Fix element leak in test_frameset.
mshtml/tests: Fix node leak in test_replacechild_elems.
mshtml/tests: Fix performance leak in test_window.
mshtml/tests: Fix element leak in get_elem_doc.
mshtml/tests: Fix DispatchEx leak in test set_dispex_value.
mshtml/tests: Fix anchor element leaks in test helpers.
mshtml/tests: Fix area element leaks in test helpers.
mshtml/tests: Fix image element leaks in test helpers.
Georg Lehmann (1):
winevulkan: Keep deferred operation function params alive.
Giovanni Mascellani (6):
dxgi/tests: Test that the back buffer index is updated when Present() is called.
dxgi/tests: Test that the present count is updated when Present() is called.
dxgi: Consider vk_format a frontend field.
dxgi: Free the frontend images memory only once.
dxgi: Pass a VkImage to d3d12_swapchain_queue_present().
dxgi: Split D3D12/Vulkan resource creation and destruction.
Hans Leidekker (7):
winscard: Implement SCARD_AUTOALLOCATE for multi-string return values.
winscard: Map only the reader name in map_states_inA/W().
bcrypt: Add RC4 algorithm stub.
secur32: Fix a couple of return values.
secur32/tests: Get rid of workarounds for old Windows versions.
secur32: Reduce indentation level in schan_QueryContextAttributesA/W().
secur32/tests: Fix a test failure.
Jacek Caban (13):
ntdll: Inherit ConsoleHandle only by CUI processes.
gdi32: Don't use DECLSPEC_HIDDEN.
make_unicode: Don't use DECLSPEC_HIDDEN.
gdi32/uniscribe: Don't use DECLSPEC_HIDDEN.
ieframe: Don't use DECLSPEC_HIDDEN.
winegcc: Disable exporting all symbols on mingw targets.
winedump: Add support for dumping IMPORT_OBJECT_NAME_EXPORTAS symbols.
dbghelp: Use V_INT macro to access VARIANT value.
oleaut32/tests: Don't use __tagBRECORD type.
oleaut32: Don't use __tagBRECORD type.
oleaut32: Use macros to access variant members.
include: Don't force named VARIANT members when __STDC__ is defined.
wow64win: Fix NULL buffer handling in wow64_NtUserBuildHimcList.
Jiajin Cui (1):
shell32: Make sure wcmd has enough space to hold the string.
Joel Holdsworth (9):
include: Define FILE_DISPOSITION_INFORMATION_EX and friends.
ntdll: Initial implementation of FileDispositionInformationEx.
ntdll/tests: Add tests for FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll: Implement FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_DISPOSITION_ON_CLOSE.
ntdll: Implement FILE_DISPOSITION_ON_CLOSE.
ntdll/tests: Add tests for FILE_DISPOSITION_POSIX_SEMANTICS.
server: Replace unlink member of closed_fd with disp_flags.
ntdll: Implement FILE_DISPOSITION_POSIX_SEMANTICS.
Kevin Schmidt (1):
taskmgr: Use macro for the color black too.
Maarten De Braekeleer (1):
cmd: Fix 'if exist' with a directory/ as a parameter.
Matteo Bruni (14):
wined3d: Increase the CS queue size to 16 MiB on 64-bit architectures.
wined3d: Block in wined3d_cs_emit_present() when we reach the latency limit.
wined3d: Call YieldProcessor() when spinning waiting for CS commands.
wined3d: Make the CS thread yield CPU when it can't block waiting.
wined3d: Reduce CS spin count to 2000.
d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
d3dx9/tests: Get rid of unnecessary checks.
d3dx9/tests: Use test message contexts in test_ID3DXFont().
d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_effect_parameter_value().
d3dx9/tests: Get rid of unnecessary checks in test_effect_states().
d3dx9/tests: Use test contexts in test_effect_preshader_ops().
d3dx9/tests: Use test contexts in test_effect_commitchanges().
Michael Stefaniuc (3):
gdiplus/tests: Remove superfluous casts to self.
windows.gaming.input: Drop superfluous casts to self.
wow64win: Remove dangling space after newline in ERR() message.
Mohamad Al-Jaf (17):
twinapi.appcore: Add RegisterAppConstrainedChangeNotification() stub.
twinapi.appcore: Add UnregisterAppConstrainedChangeNotification() stub.
pnputil: Add stub program.
include: Add windows.devices.radios.idl file.
include: Add windows.devices.bluetooth.idl file.
windows.devices.bluetooth: Add stub DLL.
windows.devices.bluetooth: Add IBluetoothAdapterStatics stub interface.
windows.devices.bluetooth/tests: Add IBluetoothAdapterStatics::GetDeviceSelector() tests.
windows.devices.bluetooth: Implement IBluetoothAdapterStatics::GetDeviceSelector().
include: Add support for BYTE IReference.
include: Add windows.networking.connectivity.idl file.
include: Add windows.networking.idl file.
windows.networking.hostname: Add stub DLL.
windows.networking.hostname: Add IHostNameFactory stub interface.
windows.networking.hostname/tests: Add IHostNameFactory::CreateHostName() tests.
windows.networking.hostname: Implement IHostNameFactory::CreateHostName().
windows.networking.hostname: Implement IHostName::get_RawName().
Nikolay Sivov (3):
mfmediaengine/tests: Allocate notification object on heap for frame transfer tests.
mfmediaengine/tests: Use correct type for url argument in SetSourceFromByteStream().
mfmediaengine/tests: Remove unnecessary broken() result.
Paul Gofman (9):
Revert "crypt32: Do not create persistent container in CRYPT_CreateKeyProv().".
crypt32/tests: Test CertCreateSelfSignCertificate() without provider info.
crypt32/tests: Add test for CryptVerifyCertificateSignature() with ECC public key.
crypt32/tests: Test ECC message signature verification.
crypt32: Add OID info for szOID_ECC_PUBLIC_KEY.
crypt32: Factor out extract_hash() helper.
crypt32: Factor out cng_prepare_signature().
crypt32: Support CNG keys in CDecodeSignedMsg_VerifySignatureWithKey().
bcrypt: Pass GNUTLS_VERIFY_ALLOW_BROKEN to gnutls_pubkey_verify_hash2().
Piotr Caban (1):
gdi32: Fix DIB_PAL_INDICES usage handling in EMR_CREATEMONOBRUSH playback.
Rémi Bernon (26):
mfplat: Use QueryPerformanceCounter in MFGetSystemTime.
explorer: Use CRT allocation functions.
explorer: Use unprefixed debug macros.
explorer: Use wide string literals.
maintainers: Assume GStreamer media source maintainership.
winegstreamer: Keep a reference on the media source start descriptor.
winegstreamer: Lookup stream descriptors before starting streams.
winegstreamer: Create and destroy result entries using dedicated helpers.
winegstreamer: Rename winegstreamer_stream_handler to stream_handler.
winegstreamer: Lookup stream handler result using a dedicated helper.
winegstreamer: Remove unused props from create_object_context.
winegstreamer: Return early if no byte stream was provided.
winegstreamer: Simplify media source creation flags handling.
winegstreamer: Return a IMFMediaSource from media_source_constructor.
winegstreamer: Keep the caller result in create_object_context.
explorer: Use debugstr_devmodew helper to trace display mode.
explorer: Rename initialize_display_settings local variable.
explorer: Set virtual desktop primary adapter display settings.
explorer: Fix command-line parameter parsing.
winegstreamer: Move struct object_context around.
winegstreamer: Use a helper to create object_context.
winegstreamer: Pass the object context to media_source_create.
winegstreamer: Move byte stream caps checks to BeginCreateObject.
winegstreamer: Move stream length query to BeginCreateObject.
win32u: Update the display cache when virtual desktop mode changes.
winex11: Use gdi_display consistently for client_window requests.
Tim Clem (2):
winemac.drv: Don't expect an internal driver message to set last error.
win32u: Detect a missed WM_LBUTTONUP in the size/move loop.
Vladislav Timonin (2):
comdlg32: Return E_UNEXPECTED if IFileDialog is already shown.
comdlg32: Enable visual styles when showing IFileDialog.
Xin Xu (1):
include: Fix spelling error in InterlockedDecrementSizeT().
Zebediah Figura (20):
d3d11/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d10core/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d11/tests: Use more aligned offsets in test_clear_buffer_unordered_access_view().
opengl32: Do not expose ARB_buffer_storage on wow64.
opengl32: Do not report a GL version higher than 4.3 on wow64.
dxgi: Do not create a d3d11 swapchain object for the implicit swapchain.
wined3d: Factor out a swapchain_create_texture() helper.
wined3d: Recreate swapchain textures in wined3d_swapchain_resize_buffers().
wined3d: Remove no longer used arguments from wined3d_texture_update_desc().
wined3d: Set VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT.
wined3d: Reuse command buffers and fences.
wined3d: Create fences when the command buffer is allocated.
wined3d: Introduce wined3d_get_renderer().
d3d10core/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Move some definitions to wined3d_vk.h.
wined3d: Move struct wined3d_bo_vk to wined3d_vk.h.
wined3d: Move struct wined3d_image_vk to wined3d_vk.h.
wined3d: Move struct wined3d_query_vk to wined3d_vk.h.
wined3d: Move struct wined3d_context_vk to wined3d_vk.h.
wined3d: Move struct wined3d_adapter_vk to wined3d_vk.h.
Zhiyi Zhang (6):
kernelbase: Check if locale is NULL before using it in Internal_EnumDateFormats().
win32u: Create explorer with the thread effective access token.
user32/tests: Test monitor information with an invisible window station.
win32u: Use the window station name to check if an application is running as a service.
user32/tests: Test that an actual desktop window should be created on invisible window stations.
server: Allow creating a real explorer desktop window for invisible window stations.
The Wine development release 8.11 is now available.
What's new in this release:
- More mouse cursor clipping improvements.
- Support for TLS alerts.
- Increased available address space in WoW64 mode.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.11 (total 26):
- #48811 StarCraft II fails to load in staging
- #51640 LibreOffice 7.2.0 crashes while browsing directories
- #53682 wineboot shows "user_check_not_lock BUG: holding USER lock" on aarch64 since wine-7.14
- #54380 Installed windows driver triggers a window when running any program in winXP mode (unimplemented function ntoskrnl.exe.Ke386QueryIoAccessMap)
- #54442 experimental wow64 mode: doesn't show some graphical windows
- #54738 msi:action - The 64-bit test_register_class_info() fails in Wine
- #54742 The 64-bit advapi32:registry breaks the 32-bit test_redirection() in Wine
- #54751 The 64-bit advapi32:registry breaks test_CoGetPSClsid() in ole32:compobj in Wine
- #54797 Lunar Magic 3.33: Crashes with BadWindow unless WINEDEBUG=+all
- #54848 dnsapi:query - test_DnsQuery() fails on Rémi's Wine test machines
- #54980 wine lost ability to correctly handle printer(CUPS)-supplied fonts (several programs)
- #54993 Framemaker 8 crashes in internal search operation
- #55013 user32:monitor - test_EnumDisplayMonitors() sometimes fails on Linux
- #55016 xaudio2_8:xaudio2 - test_simple_streaming() crashes on Windows 8+
- #55027 Microsoft Office: IME result string may get doubled when edit is done
- #55042 IDictionary::Add() fails to add entries with numerical keys that have the same hashes
- #55043 Z-Vision for Windows: Assertion failed when clicking "LOAD" button.
- #55046 ALT-TAB broken with virtual desktop and capture mouse (regression: 8.9 -> 8.10)
- #55047 d3d test_cursor_clipping() fails
- #55050 Wine stucks when creating prefix
- #55051 Build regression in wine 8.10 using clang on aarch64 (error in backend: Invalid register name "x18")
- #55055 Japanese IME fails to clear composition string when deleting the only remaining character
- #55074 Multiple apps fail to show anything after launch in virtual desktop mode (Steam, Ubisoft Connect)
- #55088 Program crashes when Common Dialog File open function is called
- #55091 preloader build failure with GOTPCREL relocation
- #55097 cmd.exe does not handle PATH with leading or sequential semicolons
----------------------------------------------------------------
Changes since 8.10:
Akihiro Sagawa (1):
commdlg: Fix dialog template parser when caption starts with a DBCS character.
Alex Henrie (21):
windows.media.speech: Fix memory leak on error path in session_worker_thread_cb (scan-build).
shell32: Fix memory leak on error path in FolderItems_Constructor (scan-build).
rpcrt4: Don't use GetProcAddress for ole32 functions.
wldap32: Clean up LDAP_OPT_API_INFO.
wusa: Zero out identity on error path in read_identity.
msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).
msi: Fix double free on error paths in TransformView_Create (scan-build).
winhttp: Fix memory leak on error path in request_get_codepage (scan-build).
msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).
combase: Don't export hProxyDll or rpc_execute_call.
comdlg32: Don't use GetProcAddress for SHSimpleIDListFromPath.
comctl32: Remove duplicate declarations of MONTHCAL functions.
hhctrl: Initialize item->items to NULL in parse_index_sitemap_object (scan-build).
urlmon: Don't export urlmon_instance.
wininet: Don't overallocate in urlcache_encode_url_alloc (scan-build).
conhost: Use correct pointer type in edit_line_transpose_words (scan-build).
advpack: Check the return value of adv_install in DoInfInstallW (scan-build).
wbemprox: Fix memory leak on error path in enum_key (scan-build).
sane: Fix use after free in create_item (scan-build).
crypt32: Don't export CRYPT_CopyReversed.
ws2_32: Don't export num_startup.
Alexandre Julliard (39):
include: Remove redundant __WINE_USE_MSVCRT checks.
makefiles: Define WINE_UNIX_LIB for all files that are built for Unix.
loader: Make the loader position-independent on 64-bit.
winegcc: Fix an uninitialized variable warning in the PE build.
wow64: Don't force wow64 dlls to load at low addresses.
kernel32/tests: Fix the PROCESS_BASIC_INFORMATION exit status type.
server: Also enforce the size of varargs data structures.
ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS.
ntdll: Allocate 64-bit and kernel stacks in high memory.
ntdll: Load modules with a high base address in high memory.
ntdll: Make only the necessary pages writable in the ARM64EC code map.
kernelbase: Don't define stdcall functions on non-i386.
ntdll: Don't define stdcall functions on non-i386.
wow64cpu: Don't define stdcall functions on non-i386.
include: Don't support stdcall functions on non-i386.
makefiles: Pass the dll extension from configure.
makefiles: Make the dll extension a per-architecture variable.
makefiles: Don't build native import libraries for PE-only build.
makefiles: Disable native import libraries on ARM64.
conhost: Use nameless union/structs.
explorer: Use nameless union/structs.
ipconfig: Use nameless union/structs.
netstat: Use nameless union/structs.
oleview: Use nameless unions/structs.
regedit: Use nameless unions/structs.
services: Use nameless unions/structs.
include: Disallow fastcall functions in Unix libraries.
loader: Force building the main loader as PIE on 64-bit.
loader: Always build the main loader as PIE if we have a preloader.
loader: Build the preloader as PIE on 64-bit.
winecfg: Use nameless unions/structs.
winedbg: Use nameless unions/structs.
winefile: Use nameless unions/structs.
winemenubuilder: Use nameless unions/structs.
winhlp32: Use nameless unions/structs.
wordpad: Use nameless unions/structs.
wow64: Map a copy of ntdll to build the syscall table.
ntdll: Implement _errno().
wow64: Don't load the 32-bit ntdll as an image to avoid debugger notifications.
Alistair Leslie-Hughes (1):
wbemdisp: Support DISPATCH_PROPERTYGET in Object Invoke.
Andrey Gusev (1):
include: Add flags in D3D11_RESOURCE_MISC_FLAG.
Bernhard Kölbl (2):
mf: Clear queued topologies on session shutdown.
mf: Don't leak sink in session_get_renderer_node_service().
Connor McAdams (10):
uiautomationcore: Store all events in an event list.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore/tests: Add tests for cross-process events.
uiautomationcore: Add support for creating serverside events.
uiautomationcore: Prevent creation of duplicate serverside events.
uiautomationcore: Add support for advising providers of events on serverside events.
uiautomationcore: Implement UiaEventAddWindow.
Daniel Lehman (1):
wininet: Free temporary buffer in InternetQueryOptionW loop.
David Kahurani (3):
gdiplus: Allow NULL format in GdipAddPathString.
msi: Reject shorter/longer lines in MsiDatabaseImportA.
msi: Convert newlines to alternate representation when exporting.
Davide Beatrici (21):
winepulse: Move main loop logic into mmdevapi.
winealsa: Implement main_loop in unixlib.
winecoreaudio: Implement main_loop in unixlib.
wineoss: Implement main_loop in unixlib.
winepulse: Move AudioClient's Initialize's exclusive mode check into unixlib.
winepulse: Move get_application_name into mmdevapi.
winealsa: Call mmdevapi's get_application_name.
winecoreaudio: Call mmdevapi's get_application_name.
wineoss: Call mmdevapi's get_application_name.
winepulse: Move stream_release into mmdevapi.
winealsa: Use mmdevapi's stream_release.
winecoreaudio: Use mmdevapi's stream_release.
wineoss: Use mmdevapi's stream_release.
winealsa: Use mmdevapi's set_stream_volumes.
winecoreaudio: Use mmdevapi's set_stream_volumes.
wineoss: Use mmdevapi's set_stream_volumes.
winepulse: Use mmdevapi's set_stream_volumes.
winealsa: Use create_stream's channel count in AudioClient's Initialize.
winecoreaudio: Use create_stream's channel count in AudioClient's Initialize.
wineoss: Use create_stream's channel count in AudioClient's Initialize.
winepulse: Refactor AudioClient's Initialize to match other drivers.
Eric Pouech (9):
kernel32/tests: Extend console inheritance tests.
include/dbghelp.h: Added some missing definitions.
dbghelp: Create implementation basis for SymSrvGetFileIndex*().
dbghelp/tests: Add tests for SymSrvGetIndexesInfo.
dbghelp/tests: Add tests for SymSrvGetInfoIndexes.
dbghelp: Implement SymSrvGetFileIndexInfo for PE modules.
dbghelp/tests: Add explicit tests about loading ELF modules.
dbghelp: Fix reading Wine loader's base address.
winedump: Tidy up print out in minidumps.
Etaash Mathamsetty (2):
ntdll: Allow RtlAllocateHeap to crash with invalid handle.
user32: Add GetSystemDpiForProcess export.
Fabian Maurer (3):
wineps.drv: Use afm FamilyName instead of FullName.
mmdevapi: Don't redefine stream_handle (gcc 4.3).
gdiplus: Refactor and add comments for easier understanding.
Gabriel Ivăncescu (27):
jscript: Correctly implement context for indirect eval calls in ES5+ modes.
jscript: Fix addressing invalid memory if ref is an argument.
jscript: Fix function leak in scope_init_locals.
jscript: Get rid of jsobj in scope_chain_t.
jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
jscript: Store detached args into a scope's specialized buffer.
jscript: Start from the last argument when adding them to named locals.
jscript: Get rid of the function instance in arguments obj.
mshtml: Traverse and unlink AreaElements properly.
mshtml: Fix style declaration leak in HTMLStyle_Create.
mshtml: Fix nsIDOMNode leak when retrieving an item in the node list.
mshtml: Fix node leak when enumerating nodes.
mshtml: Handle failure and cleanup properly when enumerating nodes.
mshtml: Fix leaks in create_all_list.
mshtml: Fix element leaks in get_elem_source_index.
mshtml: Fix text node leak in Element innerText setter.
mshtml: Fix text node leak in OptionElement text setter.
mshtml/tests: Fix CurrentStyle leak in test_style_filters.
jscript: Use jsstr_empty instead of allocating empty string.
jscript: Implement `caller` for function instances and prototype.
jscript: Throw error when accessing `arguments` prop of bind functions.
jscript: Don't expose Function.prototype.arguments in non-html mode.
jscript: Store ref to scope directly instead of frame in arguments object.
jscript: Don't use detached arguments buffer in html mode.
jscript: Always create detached variable objects with no class.
jscript: Properly handle passing undefined value to Number.toPrecision.
jscript: Properly handle passing undefined value to Number.toString in ES5+ mode.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.254.
Giovanni Mascellani (5):
dxgi: Do not uselessly pass queue_family_index around.
dxgi: Remove now-useless function d3d12_swapchain_create_buffers().
dxgi: Do not destroy D3D12 resources unless requested.
dxgi: Only create D3D12 resources when necessary.
dxgi: Rename and split d3d12_swapchain_destroy_buffers().
Hans Leidekker (1):
secur32: Add support for sending TLS alerts.
Huw D. M. Davies (2):
winepulse: Don't overwrite the result in the insufficient buffer case.
winepulse: Return E_NOTIMPL when the property is not found.
Jacek Caban (3):
user32: Remove no longer used setupapi import.
win32u: Remove duplicated d3dkmdt.h include.
configure: Use -fvisibility=hidden when building with msvcrt and cross compiler is not available.
Jactry Zeng (2):
atl/tests: Move regular DWORD tests into a loop.
atl: Convert REG_DWORD to a correct type.
Jinoh Kang (1):
loader: Set the visibility of symbols in preloader to "hidden".
Liam Middlebrook (2):
cmd/tests: Add tests for PATH separator.
cmd: Fix empty strings between PATH separators.
Nikolay Sivov (4):
scrrun/dictionary: Compare key values in addition to their hashes.
oleaut32/recinfo: Use CRT allocation functions.
oleaut32/recinfo: Use CoTaskMem* allocations for the record data.
oleaut32: Trace typelib guid in GetRecordInfoFromGuids().
Olivier F. R. Dierick (1):
ntoskrnl.exe: Add Ke386QueryIoAccessMap stub.
Paul Gofman (1):
crypt32: Do not create persistent container in CRYPT_CreateKeyProv().
Rémi Bernon (41):
server: Pass the message code to get_hardware_msg_bit.
server: Use hardware message category when checking filter.
imm32: Avoid resizing IMCC to zero-size buffer.
winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY.
win32u: Move grab_pointer registry option from winex11.
win32u: Add a clipping_reset member to user_thread_info.
win32u: Add a clipping_cursor member to user_thread_info.
winex11: Move clip_fullscreen_window foreground check inside it.
win32u: Move fullscreen window cursor clipping from winex11.
server: Update desktop cursor window when cursor pos changes.
server: Keep track of the current desktop cursor handle.
server: Introduce and send new WM_WINE_SETCURSOR hardware message.
win32u: Add a hwnd parameter to SetCursor driver entry points.
win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR.
wineandroid: Set the window cursor immediately in SetCursor.
winex11: Set the window cursor immediately in SetCursor.
server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
winex11: Don't grab the cursor if another process is focused.
winex11: Simplify the cursor clipping retry mechanism.
winex11: Replace the clipping message HWND with a BOOL flag.
winegstreamer: Introduce new stream_descriptor_set_tag helper.
winegstreamer: Pass a struct wg_parser_stream to media_stream_create.
winegstreamer: Factor the creation of the first stream media type.
winegstreamer: Introduce new init_video_media_types helper.
winegstreamer: Introduce new init_audio_media_types helper.
winegstreamer: Pass the stream descriptor to media_stream_create.
win32u: Remove unnecessary set_cursor new_clip rect copy.
server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
win32u: Use a specific flag instead of shrinking the clip rect.
winegstreamer: Remove colorimetry and chroma-site from wg_format caps.
winegstreamer: Remove the callback mechanism from wg_allocator.
winegstreamer: Move release_memory_sample helper around.
winegstreamer: Lazily allocate wg_allocator unix memory.
imm32/tests: Test how deleting a character can behave.
imm32: Use offsets instead of lengths to decide on sending updates.
winex11: Report empty preedit string when result string is committed.
winex11: Make sure HIMC is opened before sending IME updates.
win32u: Split default UpdateDisplayDevices implementation to a helper.
win32u: Move virtual desktop display settings logic from winex11.
configure: Build x86_64 PE code with mcmodel=small.
Shaun Ren (8):
sapi: Partially implement ISpMMSysAudio::SetState.
sapi: Free completed buffers asynchronously in SpMMAudio.
sapi: Implement ISpMMSysAudio::Write.
sapi: Implement ISpMMSysAudio::EventHandle.
sapi: Implement ISpVoice::SetOutput.
sapi: Implement ISpVoice::Set/GetVoice.
sapi: Implement ISpVoice::Set/GetRate.
sapi: Implement ISpVoice::Set/GetVolume.
Tatsuyuki Ishi (3):
win32u: Move QueryDisplayConfig from user32.
win32u: Cleanup naming and log messages for QueryDisplayConfig.
win32u: Avoid SEGV in QueryDisplayConfig when run as service.
Tim Clem (1):
ntdll: Treat read faults on readable pages as write faults on macOS.
Vladislav Timonin (2):
shell32: Show >4GB values in size columns of My Computer.
shell32: Don't show size for inaccessible drives in My Computer.
Zebediah Figura (1):
xaudio2/tests: Fix the IID_IXAudio28 declaration.
Ziqing Hui (1):
winegstreamer: Implement Flush for WMV decoder DMO.
The Wine team is proud to announce that release 1.8 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 still many more HLSL features and intrinsics.
- Performance improvements to vkd3d descriptor updates.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.8.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.8
=======================
*** libvkd3d
- Performance improvements have been made to the code that handles descriptor
updates. In some applications the improvement can be quite significant.
- Host-visible descriptor heaps are persistently mapped on creation. Some
applications access resource data from the CPU after calling Unmap(), and
that's supposed to work in practice.
- 1-dimensional texture unordered-access views and shader resource views are
implemented.
- Shader resource view, unordered access view, and constant buffer view root
descriptors with NULL GPU addresses are supported.
- Direct3D 12 descriptor heap destruction is delayed until all contained
resources are destroyed.
*** libvkd3d-shader
- New features for the HLSL source type:
- Support for the ternary conditional operator "?:".
- Support for "discard" statements.
- Support for the "packoffset" keyword.
- Support for semantics on array types.
- Support for RWBuffer loads and stores.
- Register allocation for arrays and structures of resources and samplers
is implemented.
- Support for the SV_IsFrontFace pixel shader system-value semantics.
- Support for using constant expressions as array sizes and indices.
- Support for dynamic selection of vector components.
- Support for the following intrinsic functions:
- D3DCOLORtoUBYTE4()
- any()
- asfloat()
- ddx() and ddy()
- fmod()
- log(), log2(), and log10()
- sign()
- trunc()
- The SampleBias(), SampleCmp(), SampleCmpLevelZero(), and SampleGrad()
texture object methods are implemented.
- Support for the case-insensitive variants of the "vector" and "matrix"
data types.
- Parser support for the "unroll" loop attribute. A warning is output for
"unroll" without iteration count, and an error is output when an iteration
count is specified. Actual unrolling is not implemented yet.
- Parser support for RWStructuredBuffer resources.
- Parser support for SamplerComparisonState objects. Note that outputting
compiled effects is not supported yet, but parsing these allows shaders
containing SamplerComparisonState state objects to be compiled.
- More improvements to HLSL support for the Direct3D shader model 1/2/3
profiles.
- The section alignment of DXBC blobs produced by
vkd3d_shader_serialize_dxbc() matches those produced by d3dcompiler more
closely.
- The "main" function for shaders produced by the SPIR-V target is always
terminated, even when the source was a TPF shader without explicit "ret"
instruction.
- Relative addressing of shader input registers is supported by SPIR-V
targets.
The Wine development release 8.10 is now available.
What's new in this release:
- All PE->Unix transitions go through the syscall interface.
- Mouse cursor clipping improvements.
- Support for virtual memory placeholders.
- Locale and timezone data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.10 (total 13):
- #18889 Multiple isolation-aware applications fail to load (MSN Messenger Live 2009, Lync 2010, Adobe Premiere Pro CS3, Quicken 201X)(embedded PE manifest search should support ISOLATIONAWARE_MANIFEST_RESOURCE_ID)
- #24946 uTorrent 2.2.0 hangs on startup (FD_WRITE event is reported over and over in WSAEnumNetworkEvents for a bound UDP socket)
- #27827 Creo Elements/Direct Modeling Express 4.0/6.0 loader failure due to missing msvcrt.dll dependency (native netapi32.dll imports msvcrt functions)
- #47808 Cygwin's mintty.exe crashes with a stack overflow
- #52868 TwitchTest crashes on unimplemented function IPHLPAPI.DLL.GetPerTcpConnectionEStats
- #53092 Animated Puzzles crashes on start
- #54410 .NET 3.5 Checkbox checkmarks should be black instead of "Foreground" color
- #54599 Honeygain crashes on unimplemented function IPHLPAPI.DLL.GetCurrentThreadCompartmentId
- #54810 PmxEditor 0.2.7.5 doesn't start after Wine 8.4.
- #54913 ntdll: NtDuplicateToken has wrong prototype
- #54949 user32:msg gets an extra WM_NCPAINT in ShowWindow(child, SW_SHOW)
- #54991 Chinese IME no longer works in Naver LINE since Wine 8.9
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.9:
Akihiro Sagawa (1):
winex11: Ignore BadWindow errors caused by XConfigureWindow.
Alex Henrie (29):
iphlpapi: Add GetCurrentThreadCompartmentId stub and a test.
iphlpapi: Add GetPerTcpConnectionEStats stub.
bcrypt/tests: Don't allocate inside todo_wine and free outside of it.
iphlpapi/tests: Use ~0u instead of ~0ul in testGetIpNetTable.
winegstreamer: Pass a QWORD pointer to IMFByteStream_GetLength.
wusa: Fix double free on error path in read_update_package (scan-build).
mscms: Fix double free on error path in EnumColorProfilesA (scan-build).
msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
msi: Make TransformView_Create static.
msi: Fix memory leak in ready_media (scan-build).
wbemprox: Fix memory leak on error path in create_view (scan-build).
jscript: Fix memory leak on error path in String_replace (scan-build).
jscript: Remove unnecessary call to malloc in strbuf_ensure_size.
conhost: Fix memory leak on error path in edit_line_move_to_history (scan-build).
localspl: Fix memory leak in lpr_start_doc (scan-build).
msvcrt: Use 'else if' in _wgetcwd.
wineusb: Fix memory leaks on error paths in usb_submit_urb (scan-build).
kerberos: Fix memory leaks in (wow64_)query_ticket_cache (scan-build).
dnsapi: Fix memory leak on error path in do_query_netbios (scan-build).
hhctrl: Fix memory leak on error path in resolve_filename (scan-build).
wldap32: Fix memory leak on error path in ldap_start_tls_sW (scan-build).
jscript: Fix memory leak on error path in regexp_string_match (scan-build).
vbscript: Fix memory leak on error path in RegExp2_Execute (scan-build).
wininet: Fix memory leaks on error paths in INTERNET_LoadProxySettings (scan-build).
vbscript: Fix memory leak on error path in alloc_vbscode (scan-build).
rpcrt4: Replace RPCRT4_strndupA with strdup.
winhttp: Fix double free on error path in queue_task (scan-build).
msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build).
regedit: Fix memory leak on error path in GetItemPath (scan-build).
Alexandre Julliard (46):
include: Don't align the stack for PE builds.
ntdll: Use x18 for the TEB on ARM64.
ntdll: Use nameless unions/structs for loader data.
ntdll: Use nameless unions/structs for CPU-related data.
ntdll: Use nameless unions/structs for IO_STATUS_BLOCK.
include: Only enable the non-inline NtCurrentTeb() on the Unix side.
wineps: Don't use CDECL for private functions.
win32u: Don't use WINAPI for the font enumeration function.
win32u: Don't use WINAPI for private functions.
ntdll: Don't pass arguments on the stack for user callbacks on ARM64.
ntdll: Don't pass arguments on the stack for user callbacks on x86-64.
ntdll: Don't pass arguments on the stack for user callbacks on i386.
ntdll: Don't pass arguments on the stack for user callbacks on ARM.
ntdll: Don't use WINAPI for KeUserModeCallback().
ntdll: Store the PE function pointers as simple void pointers.
include: Only declare __wine_unix_call() on the PE side.
ntdll: Use the sysv ABI for the %fs allocation function.
ntdll: Use the sysv ABI for setjmp/longjmp on the Unix side.
ntdll: Use the default ABI for all functions on the Unix side.
kernelbase: Update timezone data to version 2023c.
nls: Update locale data to CLDR version 43.
xslt: Import upstream release 1.1.38.
xml2: Import upstream release 2.11.4.
kernelbase: Use nameless unions/structs for loader data.
kernelbase: Use nameless unions/structs for CPU-related data.
kernelbase: Use nameless unions/structs for IO_STATUS_BLOCK.
kernel32: Use nameless unions/structs.
server: Send the APC call data as vararg in the queue_apc request.
server: Send the APC call data as vararg in the select request.
wininet/tests: Update expected WineHQ certificate.
ntdll: Support adding overlapping ranges in mmap_add_reserved_area().
ntdll: Add a helper function to unmap memory above the user space limit.
ntdll: Reimplement unmap_area() to avoid recursion and callbacks.
ntdll: Reimplement map_fixed_area() to avoid recursion and callbacks.
ntdll: Reimplement allocation inside a reserved area without using a callback.
ntdll: Reimplement allocation of the virtual heap without using a callback.
ntdll: Reimplement fill_basic_memory_info() without using a callback.
ntdll: Reimplement virtual_release_address_space() without using a callback.
ntdll: Report the remaining part of the 64K after a view as free.
ntdll: Use the full 4Gb for large address aware applications on Wow64.
ntdll: Update the reserved range on 64-bit to match the preloader.
ntdll: Use the sysv ABI for __wine_syscall_dispatcher_return().
winebuild: Set a 64-bit base address for generated 64-bit dlls.
winebuild: Update target-dependent characteristics after option parsing.
winedump: Dump version resources in a more structured way.
winedump: Dump manifest resources in a more structured way.
Alistair Leslie-Hughes (5):
xactengine: Correct interfaces for IXACT3Cue.
include: Use STDMETHOD when returning HRESULT.
krnl386.exe16: Don't overflow when calculating size.
xactengine: Correct XACTNOTIFICATIONTYPE_MAX value.
xactengine: IXACT3EngineImpl_CreateSoundBank isn't a stub.
André Zwing (1):
wow64: Ignore Thumb flag when parsing ARM syscall number.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (1):
mf/tests: Remove duplicate call to MFStartup().
Bernhard Übelacker (1):
comdlg32: Avoid crash in RemoveControlItem.
Billy Laws (1):
configure: Stash host LDFLAGS when configuring cross-compilers.
Connor McAdams (4):
uiautomationcore: Put general purpose helper functions into separate source file.
uiautomationcore: Add global interface table helper functions.
uiautomationcore: Respect ProviderOptions_UseComThreading on advise events interfaces.
uiautomationcore: Get IRawElementProviderAdviseEvents interfaces from embedded fragment root providers.
Daniel Lehman (2):
msi: Release record instead of free.
riched20: Update paragraph position in marked tree.
David Kahurani (1):
gdiplus: Handle Windows style newline.
Davide Beatrici (38):
wined3d: Fix uninitialized variable warning.
winepulse: Move AudioClient3 into mmdevapi.
winealsa: Use mmdevapi's AudioClient3.
winecoreaudio: Use mmdevapi's AudioClient3.
wineoss: Use mmdevapi's AudioClient3.
winepulse: Move AudioClient2 into mmdevapi.
winealsa: Use mmdevapi's AudioClient2.
winecoreaudio: Use mmdevapi's AudioClient2.
wineoss: Use mmdevapi's AudioClient2.
winepulse: Always initialize ref to 1 in session wrapper.
winepulse: Move session_wrapper_create into mmdevapi.
winealsa: Use mmdevapi's session_wrapper_create.
winecoreaudio: Use mmdevapi's session_wrapper_create.
wineoss: Use mmdevapi's session_wrapper_create.
winepulse: Lock sessions in AudioClient's GetService.
winepulse: Move AudioClient's GetService into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetService.
winecoreaudio: Use mmdevapi's AudioClient's GetService.
wineoss: Use mmdevapi's AudioClient's GetService.
winepulse: Move AudioClient's SetEventHandle, Reset, Stop into mmdevapi.
winealsa: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winecoreaudio: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
wineoss: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winepulse: Lock sessions in AudioClient's Start.
winecoreaudio: Lock sessions in AudioClient's Start.
winepulse: Move AudioClient's Start into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Start.
winecoreaudio: Use mmdevapi's AudioClient's Start.
wineoss: Use mmdevapi's AudioClient's Start.
winepulse: Move AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winecoreaudio: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
wineoss: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winepulse: Move AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
winecoreaudio: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
wineoss: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
mmdevapi: Handle CreateThread() failure in AudioClient's Start.
Eric Pouech (5):
dbghelp: Better handle very long C++ qualified identifiers in dwarf.
dbghelp/tests: Fix process kind detection on old Windows machines.
dbghelp/tests: Review old-wow64 expected values.
dbghelp/tests: Add more tests for module imagename handling.
dbghelp: Reimplement EnumerateLoadedModules().
Gabriel Ivăncescu (6):
mshtml: Fix classList toggle() when return value pointer is NULL.
jscript: Return undefined for empty RegExp captures in ES5+ mode.
jscript: Throw proper error for unexpected quantifiers in RegExp.
jscript: Throw proper error for out of memory conditions in RegExp.
mshtml/tests: Test RegExp.toString on object with separate RegExp flag props.
mshtml: Handle protocols with no ports when checking target origin.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.251.
Giovanni Mascellani (6):
dxgi: Document some struct d3d12_swapchain fields.
dxgi: Rename d3d12_swapchain_prepare_command_buffers().
dxgi: Store Vulkan formats in the swapchain object.
dxgi: Factor out d3d12_swapchain_create_image_resources().
dxgi: Move non-Vulkan-specific code out of d3d12_swapchain_create_vulkan_swapchain().
dxgi: Move Vulkan-specific code to d3d12_swapchain_create_vulkan_swapchain().
Jacek Caban (8):
win32u: Use syscall interface for all ntuser functions.
win32u: Implement NtGdiIcmBrushInfo and use it instead of __wine_get_brush_bitmap_info.
win32u: Extend NtGdiSetDIBitsToDeviceInternal for SetDIBits implementation.
win32u: Don't return full OUTLINETEXTMETRICW from __wine_get_file_outline_text_metric.
win32u: Use syscall interface for all exports.
ntdll: Get rid of hacks for direct unix calls.
wineps: Don't include gdi_driver.h from PE module.
win32u: Don't use CDECL for gdi_dc_funcs entries.
Jinoh Kang (7):
kernel32/tests: Remove test for ACTCTX_FLAG_HMODULE_VALID with hModule = NULL case.
kernel32/tests: Test setting lpResourceName to NULL for CreateActCtxW.
ntdll: Move ACTCTX lpResourceName validation to RtlCreateActivationContext.
kernel32/tests: Test loading assembly manifest resource inside dependencies.
ntdll: Don't hard-code DLL manifest resource ID when looking up dependency assembly.
user32/tests: Test for update region after showing a child window.
server: Update parent window region when exposing previously invisible window.
Joshua Ashton (1):
winevulkan: Include function name in asserts.
Martin Storsjö (1):
include: Fix the use of __getReg for aarch64/msvc mode.
Michael Stefaniuc (3):
ws2_32/tests: Remove superfluous casts to self.
wmvcore: Remove superfluous casts to self.
dbghelp: Remove superfluous casts to self.
Nikolay Sivov (8):
ole32/antimoniker: Use CRT allocation functions.
ole32/antimoniker: Fix Enum() return error code.
ole32/classmoniker: Use CRT allocation functions.
ole32/pointermoniker: Use CRT allocation functions.
ole32/itemmoniker: Use CRT allocation functions.
ole32/compositemoniker: Use CRT allocation functions.
ole32/filemoniker: Use CRT allocation functions.
ole32/git: Use CRT allocation functions.
Paul Gofman (13):
ntdll: Support MEM_COALESCE_PLACEHOLDERS in NtFreeVirtualMemory().
ntdll: Factor out unmap_view_of_section() function.
kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2().
ntdll: Validate flags in NtUnmapViewOfSectionEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtUnmapViewOfSectionEx().
winegstreamer: Don't pre-check sample size in wg_transform_read_mf().
kernelbase: Don't modify non-volatile regs in RaiseException() on x64.
ws2_32: Make wait in accept() alertable.
ws2_32: Make wait in connect() alertable.
ws2_32: Make wait in WSAPoll() alertable.
ws2_32: Test wait alertability in WSAGetOverlappedResult().
winegstreamer: Implement MFT_MESSAGE_COMMAND_DRAIN for the H264 decoder.
winegstreamer: Implement MFT_MESSAGE_COMMAND_FLUSH for the H264 decoder.
Piotr Caban (12):
msvcr100: Fix next writer unblocking in reader_writer_lock::unlock.
msvcr100: Use Context to store critical_section owner.
msvcr100: Use Context blocking functions in critical_section class.
make_unicode: Don't use Türkiye as it can't be encoded in some locales.
msvcr100: Use Context blocking functions in event class.
msvcr100: Use Context blocking functions in Concurrency::wait().
localspl: Don't pass original document name to cupsStartDocument.
msvcr100: Fix use after free in critical_section::try_lock_for().
msvcr100: Add support for COOPERATIVE_TIMEOUT_INFINITE timeout in critical_section.
msvcr100: Use block_context_for helper in Concurrency::wait().
msvcr100: Use block_context_for helper in event::wait().
msvcr100: Use Context blocking functions in _Condition_variable class.
Rémi Bernon (44):
winegstreamer: Forbid vaapidecodebin when looking for a specific element.
winegstreamer: Only warn on wg_transform input buffer push errors.
winegstreamer: Set the default H264 caps profile to "baseline".
server: Assume the internal clip message to be WM_WINE_CLIPCURSOR.
server: Move set_cursor desktop local variable to wider scope.
win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWindow.
win32u: Call SetDesktopWindow when desktop window is successfully created.
explorer: Load graphics driver before calling CreateDesktopW.
explorer: Use root window if driver doesn't implement create_desktop.
explorer: Don't call driver create_desktop if desktop name is "root".
explorer: Call user driver through a new CreateDesktop callback.
wineandroid: Use the user driver interface to create host desktops.
winex11: Use the user driver interface to create host desktops.
explorer: Remove now unnecessary wine_create_desktop entry.
imm32: Query the new input context in ImmAssociateContextEx / IACE_DEFAULT.
server: Use get_hardware_msg_bit consistently to classify messages.
win32u: Move some window functions to window.c.
win32u: Move cursor clipping functions to input.c.
win32u: Add a separate function to process WM_WINE_CLIPCURSOR.
win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect.
user32: Remove now unused virtual screen helpers.
mf/tests: Add H264 decoder tests with concatenated streams.
winegstreamer: Use an IMFMediaType for the internal stream type.
winegstreamer: Generate H264 timestamps using the input type frame rate.
winegstreamer: Use the output wg_format in CAPS sink query.
user32/tests: Zero-initialize keyboard state array.
user32/tests: Add a helper to run a test in a process.
user32/tests: Test more ClipCursor reset scenarios.
winegstreamer: Pass desired output plane alignment to wg_transform_create.
winegstreamer: Pass desired input queue length to wg_transform_create.
winegstreamer: Implement MF_LOW_LATENCY attribute and latency query.
win32u: Reset cursor clipping rectangle on display mode change.
winex11: Rely on win32u to reset clipping on display mode change.
winex11: Reset clipping by calling NtUserClipCursor directly.
server: Don't reset cursor clipping on foreground thread exit.
kernelbase: Comment out DECLSPEC_HOTPATCH for ConvertThreadToFiber.
evr/tests: Test IMFVideoDisplayControl_GetCurrentImage orientation.
evr: Respect RGB format stride in GetCurrentImage.
win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor.
server: Use the helper to reset the clip rect when the desktop size changes.
server: Use a separate helper to merge WM_MOUSEMOVE messages.
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
win32u: Asynchronously apply or reset ClipCursor from the hardware message.
winex11: Remove now unnecessary ClipCursor forwarding to foreground thread.
Santino Mazza (1):
riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
Shaun Ren (8):
sapi: Implement ISpObjectToken::CreateKey.
sapi: Partially reimplement ISpObjectTokenEnumBuilder storing a token array.
sapi: Implement token filtering and sorting in ISpObjectTokenEnumBuilder.
sapi: Add SpMMAudioOut stub.
sapi: Implement ISpMMSysAudio::Get/SetDeviceId.
sapi: Add GUIDs SPDFID_Text/WaveFormatEx.
include: Add sperror error code SPERR_UNSUPPORTED_FORMAT.
sapi: Implement ISpMMSysAudio::Get/SetFormat.
Tim Clem (1):
loader: Reserve some space for 32-bit top-down allocations on 64-bit.
Zebediah Figura (10):
winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
winebuild: Use the lretw mnemonic in wine_call_to_16().
wow32: Use spec file imports.
ntdll: Do not throw deadlock exceptions for Wine critical sections.
ntdll: Simplify critical section timeout logic.
xaudio2/tests: Add a couple of helpers to abstract the difference between versions.
xaudio2: Move CreateAudioVolumeMeter() and CreateAudioReverb() to xapo.c.
xaudio2: Create XAPO objects directly from CreateAudioVolumeMeter() and CreateAudioReverb().
xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
xaudio2/tests: Fix the IID_IXAPO query.
Zhiyi Zhang (6):
gdiplus/tests: Add pen custom line cap record and play back tests.
gdiplus: Support recording pen custom start line cap.
gdiplus: Support recording pen custom end line cap.
gdiplus: Support playing back pen custom start line cap.
gdiplus: Support playing back pen custom end line cap.
winegstreamer: Fix check for non-zero padding in mf_media_type_from_wg_format_video().
Ziqing Hui (5):
mf/tests: Test input type for WMA decoder DMO.
mf/tests: Test output type for WMA decoder DMO.
mf/tests: Split input type tests from test_wmv_decoder_media_object.
mf/tests: Split output type tests from test_wmv_decoder_media_object.
mf/tests: Split size info tests from test_wmv_decoder_media_object.
The Wine development release 8.9 is now available.
What's new in this release:
- Mono engine updated to version 8.0.0.
- Completion of PE conversion in the PostScript driver.
- Doppler shift support in DirectSound.
- GdiPlus performance improvements.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.9 (total 16):
- #3452 BC3000 - Horribly Slow
- #36230 Silverlight 5.x requires the "Audio Capture Filter" for recording from the microphone
- #50955 .netCore app can't bind to port shortly after another .netCore program binding to the same port was terminated
- #53860 Wine Notepad : Using Japanese Input Method(IM), sometimes cursor goes back when string converted
- #54916 touhou 12.3 with dpad mod crashes on start
- #54917 Need For Speed Underground has keyboard input issues
- #54934 Battle.net unimplemented function msauddecmft.dll.DllGetClassObject called in 32-bit code
- #54936 Wine 8.7 and 8.8 does not print
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54955 Battle.net crashes on unimplemented function msmpeg2vdec.dll.DllGetClassObject
- #54956 Framemaker 8 crashes on printing
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #54965 Rich Edit erroneously moves the cursor to the end of text when system IME composition ends
- #54974 armv7 ELF builds crashing since "ntdll: Support the machine extended parameter in NtMapViewOfSectionEx()."
- #54976 Mono/.Net assemblies fail to start: Application could not be started, or no application associated with the specified file.
- #54982 Visio 2003 print dialog shows broken paper sizes when printing
----------------------------------------------------------------
Changes since 8.8:
Alex Henrie (3):
mshtml: Fix memory leak on error path in add_func_info (Coverity).
mshtml: Only allow one thread to use Gecko.
setupapi: Use CRT functions for memory allocation where possible.
Alexandre Julliard (19):
ntdll: Fix typo in the check for hidden files.
ntdll: Catch MEM_EXTENDED_PARAMETER duplicates for all types.
ntdll: Use STATUS_NOT_SUPPORTED for internal machine mismatch errors.
ntdll: Support the machine extended parameter in NtMapViewOfSectionEx().
ntdll: Add a helper function to map the main exe module.
ntdll: Don't even try to load .so libraries for a different machine.
ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes.
kernelbase: Add a helper function to validate process/thread attributes.
kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute.
start: Move memory allocation into parse_title().
start: Add a separate helper to parse command line options.
start: Use CRT allocation functions.
start: Implement the /machine option.
ntdll: Add a separate helper function for freeing a placeholder.
server: Add a separate request to create a memory view for an image mapping.
server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process.
configure: Don't create the wine64 symlink in multi-arch builds.
ntdll: Also update the entry point address when loading an ARM64X binary.
ntdll: Allocate the ARM64EC code map when the first ARM64X binary is loaded.
Alexandros Frantzis (6):
winewayland.drv: Allocate process_wayland statically.
winewayland.drv: Read and dispatch Wayland events.
winewayland.drv: Handle dynamic Wayland output events.
winewayland.drv: Make access to Wayland output information thread-safe.
winewayland.drv: Update display devices from the desktop window thread.
winewayland.drv: Update desktop window size on display changes.
André Zwing (1):
winedump: Recognize RISC-V PEs.
Anton Baskanov (20):
winegstreamer: Add a second videoconvert before the videoflip.
winegstreamer: Don't force top-down orientation when changing output format in video_decoder.
ir50_32: Let video_decoder flip the video instead of doing it manually.
dsound: Store the frequency of 3D buffers separately.
dsound/tests: Add tests for Doppler shift.
dsound: Enable Doppler shift.
dsound: Change the speed of sound to 360.
dsound: Avoid division by zero when calculating Doppler shift.
dsound/tests: Test Doppler shift with moving listener.
dsound: Use relative velocity to compute Doppler shift.
dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound.
dsound: Limit the Doppler shift to +-0.5 speed of sound.
dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX.
dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX].
dsound/tests: Test Doppler shift in head-relative mode.
dsound: Fix Doppler shift in head-relative mode.
dsound/tests: Test Doppler shift with 3D processing disabled.
dsound: Use the value from SetFrequency when 3D processing is disabled.
dsound/tests: Test distance and Doppler factor.
dsound: Take distance and Doppler factor into account.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (7):
gdiplus: Improve performance of GdipInvertMatrix.
gdiplus: Improve performance of gdip_transform_points.
gdiplus: Fix GdipGetGenericFontFamily functions according to native gdiplus.dll.
gdiplus: Limit calculating transformation points to resampling.
gdiplus: Use iterator instead calculate pointer position every time.
gdiplus: Use float increment instead of calculation to impove perf.
gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
Bernhard Kölbl (1):
mf: Don't try to clone non existent topo connections.
Brendan Shanks (8):
winemac: Fix window scaling in high-res/retina mode when using a non-retina monitor.
winemac: Remove the unused WineContentView _retinaMode variable.
winemac: Centralize initialization of WineContentView.
winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer.
winemac: Work around poor-quality downscaling in high-res/retina mode on macOS 10.13 and earlier.
winemac: Add missing event to dbgstr_event().
winemac: Explicitly link against Foundation.framework.
win32u: Propagate WM_MOUSEHWHEEL to the parent window in DefWindowProc().
Connor McAdams (7):
include: Define the remaining missing provider interfaces.
uiautomationcore: Don't leak parent node in conditional_navigate_uia_node.
uiautomationcore: Fix maximum ID comparison for uia_{prop,pattern,control}_info_from_id().
uiautomationcore/tests: Add tests for non-nested node events.
uiautomationcore: Implement UiaAddEvent.
uiautomationcore: Implement UiaRemoveEvent.
uiautomationcore: Call IRawElementProviderAdviseEvents methods when events are added or removed.
Davide Beatrici (16):
winepulse: Move AudioCaptureClient into mmdevapi.
winealsa: Use mmdevapi's AudioCaptureClient.
winecoreaudio: Use mmdevapi's AudioCaptureClient.
wineoss: Use mmdevapi's AudioCaptureClient.
winepulse: Move AudioRenderClient into mmdevapi.
winealsa: Use mmdevapi's AudioRenderClient.
winecoreaudio: Use mmdevapi's AudioRenderClient.
wineoss: Use mmdevapi's AudioRenderClient.
winealsa: Implement get_device_period in unixlib.
winecoreaudio: Implement get_device_period in unixlib.
wineoss: Implement get_device_period in unixlib.
winepulse: Implement is_format_supported in unixlib.
explorer: Fix uninitialized variable warning.
winealsa: Move stream mode and period/duration initialization logic into unixlib.
winecoreaudio: Move stream mode and period/duration initialization logic into unixlib.
wineoss: Move stream mode and period/duration initialization logic into unixlib.
Eric Pouech (1):
kernel32/tests: Harden some wow64 module tests.
Esme Povirk (3):
mscoree: Update Wine Mono to 8.0.0.
mscoree: Use updated preload hook function.
mscoree: Search the Mono GAC before the appdomain paths.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (18):
iphlpapi/tests: Use win_skip() for missing APIs.
ws2_32/tests: Use win_skip() for missing APIs.
wtsapi32/tests: Use win_skip() for missing APIs.
wintab32/tests: Use win_skip() for missing dlls.
gdi32/tests: Use win_skip() for missing APIs.
sti/tests: Use win_skip() for missing APIs.
ntdll/tests: Use win_skip() for missing APIs.
imm32/tests: Fix the spelling of a comment.
mf/tests: Fix the spelling of a win_skip() message.
msado15: Fix the spelling of a comment.
ndtll: Fix the spelling of a comment.
taskschd/tests: Fix the spelling of a test string.
uiautomationcore/tests: Fix the spelling of a win_skip() message.
dnsapi/tests: Ignore OPT records in the CNAME tests.
wineps: Fix the spelling of a constant.
gdi32/tests: Use skip() for APIs which are stubs in some drivers.
wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests.
wininet/tests: Consistently use strlen() instead of lstrlenA().
Gabriel Ivăncescu (9):
mshtml: Explicitly hold ref to the plugin host in NPP_New.
mshtml: Release ref from the element when detaching the plugin host.
mshtml: Stop the plugin when detaching the plugin host.
mshtml: Expose the other remaining props for element.classList.
mshtml: Implement classList's contains() method.
mshtml: Implement classList's toggle() method.
mshtml: Implement classList's length prop.
mshtml: Implement classList's item() method.
mshtml: Implement indexed props for classList.
Giovanni Mascellani (1):
winegstreamer: Free the GStreamer buffer when freeing a WG parser stream.
Hans Leidekker (2):
webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option().
winhttp/tests: Fix a test failure.
Jacek Caban (16):
win32u: Use syscall interface for NtGdiOpenDCW.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more printer functions.
win32u: Use syscall interface for more path functions.
win32u: Pass blend function as DWORD to NtGdiAlphaBlend.
win32u: Use syscall interface for bitblt functions.
win32u: Use syscall interface for more bitmap functions.
win32u: Use syscall interface for D3DKMT functions.
win32u: Use syscall interface for DIB functions.
win32u: Use syscall interface for more DC functions.
win32u: Use syscall interface for more GDI object functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more clipping functions.
win32u: Use syscall interface for all ntgdi functions.
Jactry Zeng (8):
comdlg32: Calculate button height of toolbar with DPI for item dialog.
comdlg32: Set a size for toolbar buttons of the file access dialog.
shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Implement IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Reimplement IFolderView2_SetCurrentViewMode() with modern behaviours.
shell32/tests: Move tests of IExplorerBrowser_SetFolderSettings() to a separated function and more tests.
shell32: Reimplement IExplorerBrowser_SetFolderSettings() with support of setting flags.
shell32: Update view mode flags while creating IShellView for IExplorerBrowser.
Jinoh Kang (4):
combase: Fix reading from beyond the end of a HGLOBAL stream.
combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
combase: Prevent use-after-free due to a race with proxy_manager_destroy.
imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
Mohamad Al-Jaf (2):
msauddecmft: Add DllGetClassObject() stub.
msmpeg2vdec: Add DllGetClassObject() stub.
Nikolay Sivov (11):
d2d1: Implement IsSupported() for HWND target.
wineps: Fix names in paper sizes list.
mfmediaengine: Implement GetNumberOfStreams().
d2d1: Implement IsSupported() for DC target.
d2d1/tests: Use test context for more tests.
d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets.
d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget.
d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage.
d2d1: Improve GetDC()/ReleaseDC() handling on render targets.
d2d1: Create GDI-compatible swapchain only for corresponding target usage.
d2d1: Improve resource properties check when creating a bitmap.
Paul Gofman (16):
ntdll: Fix tail padding in mark_block_tail().
ntdll: Fix last block detection in heap_walk_blocks().
kernel32/tests: Add tests for subheap sizes.
ntdll: Better match Windows subheap sizes.
ntdll: Handle context overlap in call_user_exception_dispatcher() on x64.
wined3d: Only set changed.lights if wined3d_light_state_enable_light() changed state.
wined3d: Track per light state changes in stateblock.
wined3d: Use RB tree for storing lights.
nsiproxy.sys: Detect PPP interface type from flags on Linux.
ntdll: Handle NULL process handle in MapViewOfFile3().
ntdll: Pass allocation type to map_view().
ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view().
ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory().
ntdll/tests: Add more tests for placeholders.
Piotr Caban (27):
wineps: Convert WCHAR to Adobe Glyph name on PE side.
wineps: Store builtin fonts list in DEVMODE.
include: Add ddk/winddi.h header.
wineps: Add support for loading builtin fonts from NTF files.
wineps: Enumerate NTF fonts in enum_fonts.
wineps: Pass font data in NTF format to unixlib.
wineps: Don't pass PRINTERINFO structure to unixlib.
wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
wineps: Implement Wow64 entry points in the Unix library.
wineps: Use default devmode if winspool returns fake data.
winspool: Register wineps print processor before adding printer.
localspl: Fix wow64_start_doc Wow64 entry point.
wineps: Move BANDINFOSTRUCT definition to unixlib.c.
wineps: Define PSDRV_DEVMODE in unixlib.h.
wineps: Remove unix_ prefix from find_pagesize and find_slot functions.
wineps: Mark default DEVMODE const.
wineps: Simplify PSDRV_UVMetrics implementation.
wineps: Remove unused fields from print_ctx.
wineps: Don't store logPixels in print_ctx.
wineps: Don't store ImageableArea in print_ctx.
gdi32: Mark objects as not used before clearing handles table in emf_reset.
localspl: Implement AbortPrinter while spooling.
winspool: Add AbortPrinter implementation.
gdi32: Abort printing if DeleteDC is called before EndDoc.
wineps: Remove no longer used PSDRV_SelectDownloadFont helper.
wineps: Mark font as unset in PSDRV_SelectFont.
wineps: Fix download font escapement.
Rémi Bernon (48):
imm32: Update the IME composition window position after drawing.
imm32: Use DrawTextW to wrap IME composition string.
comctl32/edit: Notify IME on caret position, format_rect and font changes.
comctl32/edit: Delegate composition string rendering to the IME UI.
user32/edit: Notify IME on position, format_rect and font changes.
user32/edit: Delegate composition string rendering to the IME UI.
hid: Avoid printing uninitialized guid (Valgrind).
dinput/tests: Avoid leaking a IDirectInput reference (Valgrind).
dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind).
windows.gaming.input: Avoid leaking IDirectInputEffect reference (Valgrind).
winemac: Return the caret position in query_ime_char_rect.
winemac: Remove now unnecessary selected HIMC tracking code.
winemac: Use the default IME implementation for ImeSelect.
dinput/tests: Add a zero-terminator for hardware ids (Valgrind).
mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind).
mf/tests: Avoid leaking media types in test_video_processor (Valgrind).
rtworkq: Release thread pool work object when work_item is destroyed (Valgrind).
winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind).
winegstreamer: Free the params structure after setting the pool meta (Valgrind).
winegstreamer: Remove unnecessary wg_parser their_sink pad.
winegstreamer: Remove unnecessary wg_parser_stream their_src pad.
quartz: Avoid reading past the end of a buffer (Valgrind).
winex11: Use ime_comp_buf != NULL instead of ximInComposeMode.
winex11: Keep track of the cursor position on the XIM side.
winex11: Send an internal WM_IME_NOTIFY wparam to set open status.
winex11: Set or clear XIC focus using a xim_set_focus helper.
winex11: Post internal WM_IME_NOTIFY wparam on composition updates.
winex11: Include the XIM preedit and result text into the IME updates.
winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks.
winex11: Drop the x11drv_ime_update_association user callback.
winex11: Remove now unnecessary selected HIMC tracking code.
winex11: Use the default IME implementation for ImeSelect.
imm32: Get rid of the graphics driver loading mechanism.
imm32: Remove now unused members from ime_private.
dinput/tests: Add some tests with keyboard action mapping.
dinput: Delete the action mapping registry key on SetActionMap.
dinput: Reset action map mapping before loading the registry mapping.
dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
dinput: Avoid remapping already mapped objects in BuildActionMap.
dinput: Delay input thread start until the first device acquire.
dinput/tests: Test that FromGameController also works with IRawGameController.
windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController.
mf/tests: Simplify video processor expected input types checks.
mf/tests: Rename some variables in video processor transform tests.
mf/tests: Move broken video processor aperture to a separate test.
mf/tests: Add more video processor tests with RGB555 format.
mf/tests: Add some IV50 encoder / decoder tests.
imm32: Silence some unnecessary FIXMEs.
Sebastian Mayr (2):
d3d8/tests: Test IDirect3DDevice8::ValidateDevice() with various min, mag and mip filters.
wined3d: Improve d3d8 compatibility of texture filters.
Tim Clem (1):
wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
Zebediah Figura (18):
qcap/audiorecord: Implement DecideBufferSize().
qcap/tests: Add tests for audio capture pin connection.
qcap/tests: Test audio capture allocator properties.
qcap/audiorecord: Open a winmm device when connecting.
qcap/audiorecord: Implement streaming.
qcap/tests: Test audio capture streaming.
user32/tests: Do not dump the message sequence when a todo succeeds on Windows.
user32/tests: Do not stop checking the message list when skipping an optional or unsupported message.
qcap/audiorecord: Implement IAMStreamConfig::SetFormat() and IAMStreamConfig::GetFormat().
qcap/audiorecord: Stub IKsPropertySet.
qcap/audiorecord: Implement IKsPropertySet::Get(&ROPSETID_Pin, AMPROPERTY_PIN_CATEGORY).
qcap/audiorecord: Stub IAMBufferNegotiation.
qcap/audiorecord: Implement IAMBufferNegotiation::SuggestAllocatorProperties().
qcap/tests: Remove duplicated tests for allocator identity.
mmdevapi/tests: Remove some unnecessary workarounds.
mmdevapi/tests: Run property store tests for all devices.
mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat.
xactengine: Use the xaudio2 channel.
Zhiyi Zhang (1):
d2d1/tests: Add some IsSupported() tests for HWND target.
Ziqing Hui (7):
mfreadwrite/tests: Add tests for MP4 sink writer.
mf/tests: Test GetInputStatus for WMV decoder DMO.
mf/tests: Test Discontinuity for WMV decoder DMO.
mf/tests: Test Flush for WMV decoder DMO.
winegstreamer: Implement GetInputStatus for WMV decoder DMO.
winegstreamer: Implement Discontinuity for WMV decoder DMO.
mf/tests: Add tests for MPEG4 media sink.
The Wine development release 8.8 is now available.
What's new in this release:
- More work towards full PE support in the PostScript driver.
- Initial support for loading ARM64EC modules.
- More work on IME restructuration.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.8 (total 18):
- #33945 Wine build warnings with gcc
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #48596 Multiple applications need tasklist.exe to support printing process list in CSV format '/fo CSV /nh' (Net64+ Client 2.x, Playstation Now 11.x, MathType)
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #50576 ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaNodeFromFocus'
- #51107 rise of nation extended: cannot do multiplayer when having more than one network interface
- #52269 Captvty can't find its own tools/cefsharp folder
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53826 Attempting to install / update battle.net fails with Qt error
- #54250 winedbg loads wrong debug symbols for builtin dlls
- #54367 Wow64 wineboot fails to generate 32Bit slice of wineprefix
- #54596 Wavelab 6.1 has problems minimising window
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54760 imm32:imm32 - test_ImmActivateLayout() fails on Windows
- #54864 imm32:imm32 - test_ImmSetOpenStatus() fails on Windows in the Korean locale
- #54879 RtlValidSecurityDescriptor should return TRUE if the given descriptor is valid.
- #54904 RtlInitializeSid should return NTSTATUS
- #54918 compiling nvcuda fails with threadpoolapiset.h:36:55: error: expected declaration specifiers before ‘__WINE_DEALLOC’
----------------------------------------------------------------
Changes since 8.7:
Ake Rehnman (2):
ntdll: Fix return value of RtlInitializeSid().
ntdll: Fix RtlValidSecurityDescriptor() return value.
Alex Henrie (1):
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (23):
ntdll: Initialize TLS links also on the 64-bit side in wow64 mode.
ntdll: Add a helper function to read a PE image directory.
ntdll: Allow loading ARM64EC binaries.
ntdll: Apply dynamic relocations when mapping an ARM64X binary.
ntdll: Support the ARM64EC code map.
ntdll: Implement RtlIsEcCode().
ntdll: Handle the extended memory attributes in NtAllocateVirtualMemoryEx().
ntdll: Support the MEM_EXTENDED_PARAMETER_EC_CODE attribute.
server: Make x86_64 a supported architecture on ARM64.
ntdll: Pass limit instead of zero bits to internal memory mapping functions.
ntdll: Add a helper function to process MEM_EXTENDED_PARAMETER parameters.
ntdll: Support extended address requirements in NtMapViewOfSectionEx().
ntdll/tests: Add tests for address requirements in NtMapViewOfSectionEx().
wow64: Add a helper function to convert MEM_EXTENDED_PARAMETER.
wow64: Convert MEM_EXTENDED_PARAMETER also for NtMapViewOfSectionEx().
ntdll: Add a helper function to free a range of pages.
ntdll: Move the Unix function tables to avoid forward declarations, and make them static.
win32u: Don't export wow64 Unix call functions.
kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
win32u: Don't use floating point types in syscalls.
winebuild: Disallow floating point arguments in syscall functions.
server: Add a separate request to create a memory view for a .so builtin.
server: Move the Wine-specific flags out of the image_flags field.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Add DXGI_DEBUG_D3D11 in d3d11sdklayers.idl.
Brendan Shanks (2):
include: Implement C_ASSERT() using the C11 _Static_assert() if available.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
Connor McAdams (1):
combase: Check that process ID matches before searching the MTA for a stub manager.
Conor McCarthy (1):
vkd3d: Leave the command queue op mutex locked after a partial flush.
David Kahurani (2):
gdiplus: Traverse and draw the whole string.
shlwapi: Implement StrFormatByteSizeEx.
Davide Beatrici (18):
winealsa: Move SimpleAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's SimpleAudioVolume.
wineoss: Use mmdevapi's SimpleAudioVolume.
winepulse: Use mmdevapi's SimpleAudioVolume.
winecoreaudio: Implement per-channel volume control.
mmdevapi: Remove unused "channel" member in set_volumes_params.
winealsa: Move ChannelAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's ChannelAudioVolume.
wineoss: Use mmdevapi's ChannelAudioVolume.
winepulse: Use mmdevapi's ChannelAudioVolume.
winepulse: Move AudioStreamVolume into mmdevapi.
winealsa: Use mmdevapi's AudioStreamVolume.
winecoreaudio: Use mmdevapi's AudioStreamVolume.
wineoss: Use mmdevapi's AudioStreamVolume.
winepulse: Move AudioClock into mmdevapi.
winealsa: Use mmdevapi's AudioClock.
winecoreaudio: Use mmdevapi's AudioClock.
wineoss: Use mmdevapi's AudioClock.
Eric Pouech (3):
evr: Fix incorrect integral computation.
winedump: Fix copy & paste error.
winegstreamer: Fix typo.
Etaash Mathamsetty (1):
kernelbase: Add GetPackagesByPackageFamily stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (2):
kernel32/tests: Use win_skip() for missing APIs.
kernelbase/tests: Use win_skip() for missing APIs.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.250.
Gerald Pfeifer (1):
webservices: Avoid uninitialized variable warning in format_double.
Giovanni Mascellani (11):
winegstreamer: Synchronize concurrent access to the media source.
winegstreamer: Synchronize concurrent access to the media stream.
winegstreamer: Synchronize access to the media source from callbacks.
mfplat/tests: Push image size and format as context.
mfplat/buffer: Use the appropriate image copy function for NV11.
mfplat/buffer: Support YV12, I420 and IYUV image formats.
mfplat/tests: Test large RGB image formats.
mfplat/tests: Test IMF2DBuffer::ContiguousCopyFrom().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
mfplat/tests: Test IMF2DBuffer::ContiguousCopyTo().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo().
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Michael Stefaniuc (4):
dxdiagn: Avoid assigning COM objects to interface variables.
dbgeng: Avoid casts to IUnknown* in IUnknown method calls.
d2d1: Remove superfluous casts to self.
wbemprox: Avoid assigning COM objects to interface variables.
Mohamad Al-Jaf (3):
include: Add hrtfapoapi.idl file.
hrtfapo: Add stub DLL.
hrtfapo: Add CreateHrtfApo() stub.
Nikolay Sivov (5):
ntdll/tests: Add some tests for RtlInitializeSid().
ntdll: Fix subauthority count check in RtlInitializeSid().
ntdll/tests: Add some RtlValidSecurityDescriptor() tests.
mfplat: Implement MFCreatePathFromURL().
mfplat/tests: Add another test for MFCopyImage().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (11):
win32u: Partially implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE).
d3dx9: Fix dst pitch for compressed format in D3DXLoadSurfaceFromMemory().
wbemprox: Bump video driver version and date.
ntdll: Retry send on ECONNREFUSED in try_send().
ntdll/tests: Add tests for freeing a part of view.
kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx().
ntdll: Fix size validation in NtFreeVirtualMemory().
ntdll: Fully support unaligned views in free ranges management.
ntdll: Factor out some view manipulation functions.
ntdll: Support partial view release in NtFreeVirtualMemory().
ntdll: Add logging for free ranges.
Piotr Caban (37):
gdi32: Ignore in_count parameter in Escape() on PASSTHROUGH escape.
gdi32: Support saving EMR_EXTESCAPE record in spool file.
gdi32: Return error in EndPage if it's called before StartPage.
win32u: Don't allow bitmap fonts if OUT_TT_ONLY_PRECIS output precision is specified.
wineps: Use only TrueType fonts in print processor.
Revert "wineps: Fix default device font selection.".
winspool: Change CUPS printers print processor to wineps.
wineps: Remove no longer used graphic driver functions.
wineps: Use designated initializers to initialize gdi_dc_funcs structure.
wineps: Store page size full name as unicode string.
gdi32: Handle NEXTBAND escape in Escape().
wineps: Remove no longer used NEXTBAND escape.
wineps: Copy GetDeviceCaps implementation to unixlib.
wineps: Copy ResetDC implementation to unixlib.
wineps: Move ExtEscape implementation to unixlib.
wineps: Store font related strings in unicode.
wineps: Copy SelectFont implementation to unixlib.
wineps: Move EnumFonts implementation to unixlib.
wineps: Move GetCharWidth implementation to unixlib.
wineps: Copy GetTextMetrics implementation to unixlib.
wineps: Copy GetTextExtentExPoint implementation to unixlib.
wineps: Use printer DC in print processor.
wineps: Change initial printer font to DEVICE_DEFAULT_FONT.
wineps: Introduce PSDRV_GET_GLYPH_NAME escape to obtain builtin glyph name from unixlib.
wineps: Remove unused fields from PSFONT structure.
wineps: Don't use BUILTIN structure on PE side.
wineps: Remove no longer used font selection code from PE side.
wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions.
gdi32: Add device name to wine_get_gdi_driver call.
wineps: Move remaining DC driver functions to unixlib.
wineps: Rename PSDRV_PDEVICE structure to print_ctx.
wineps: Define PSDRV_PDEVICE structure in unixlib.
wineps: Remove gdi_physdev from print_ctx structure.
wineps: Remove unused fields from PSDRV_DEVMODE.
wineps: Use standard DEVMODEW structure instead of PSDRV_DEVMODE when possible.
wineps: Store data from PPD file used in unixlib in DEVMODE.
wineps: Store font substitution table in DEVMODE.
Rémi Bernon (51):
winegstreamer: Query the wg_parser stream in media_stream_create.
winegstreamer: Keep a IMFMediaSource pointer in the media stream.
winegstreamer: Only break cyclic references in IMFMediaSource_Shutdown.
winegstreamer: Remove unnecessary media source stream states.
riched20: Update the editor IME position on GCS_RESULTSTR.
winex11: Rename preedit buffer and related variables.
winex11: Simplify xic_preedit_draw control flow.
winex11: Compute preedit text buffer sizes in WCHAR units.
winex11: Always zero terminate XIM composition string buffer.
imm32/tests: Move IME calls test helpers around.
imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls.
imm32: Use INPUTCONTEXT directly in ImmRequestMessage(W|A).
imm32/tests: Add more ImmProcessKey and ImmGetVirtualKey tests.
imm32/tests: Test ImmTranslateMessage / ImeToAsciiEx calls.
imm32: Ignore some messages in ImmTranslateMessage.
imm32: Clear vkey before calling ToAsciiEx in ImmTranslateMessage.
imm32: Post messages to the target window in ImmTranslateMessage.
imm32/tests: Adjust the ImmSetOpenStatus tests for MS Korean IME.
imm32/tests: Print human readable IME message names.
imm32/tests: Ignore some unknown WM_IME_NOTIFY messages.
imm32/tests: Add some missing local variables declarations.
imm32/tests: Test MS Korean IME GA-NA-DA sequence.
imm32/tests: Test MS Japanese IME NIHONGO-NO sequence.
winegstreamer: Return a IUnknown pointer from source_create_async_op.
winegstreamer: Avoid potential leak of media source async commands.
winegstreamer: Use helpers to convert stream descriptor type to wg_format.
winegstreamer: Start media streams in a dedicated media_stream_start helper.
winegstreamer: Simplify media source wait_on_sample control flow.
winegstreamer: Avoid eating errors in media source async commands.
winegstreamer: Keep a stream descriptor array on the media source.
winegstreamer: Create media source presentation descriptor as needed.
winemac: Delay ime_set_text until ImeToAsciiEx requests it.
winemac: Wait for IME input result on the unix side.
winemac: Send IME key input from ImeProcessKey.
imm32/tests: Mark some tests as broken by prior SetForegroundWindow call.
winex11: Use a helper to change internal composition status.
winex11: Clear the composition string when input context is closed.
winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE.
win32u: Introduce new NtUserNotifyIMEStatus syscall.
winex11: Move NotifyIME to the default IME implementation.
winemac: Use the default IME implementation for NotifyIME.
winex11: Use the default IME implementation for ImeSetCompositionString.
winemac: Use the default IME implementation for ImeSetCompositionString.
win32u: Introduce a new ImeProcessKey call through NtUserMessageCall.
winemac: Use the ImeProcessKey driver entry to process IME input.
win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall.
winemac: Use the ImeToAsciiEx driver entry to retrieve IME result.
winemac: Compute the required COMPOSITIONSTRING size in ImeToAsciiEx.
imm32: Resize the composition string if the driver requested so.
winemac: Write the IME strings to the COMPOSITIONSTRING in ImeToAsciiEx.
winemac: Generate IME messages from the default ImeToAsciiEx implementation.
Santino Mazza (1):
mf/session: Reset presentation flags when session_clear_presentation is called.
Shaun Ren (6):
sapi: Implement ISpRegDataKey::SetStringValue.
sapi: Ignore read_only in ISpRegDataKey::SetKey.
sapi: Implement ISpRegDataKey::OpenKey.
sapi: Use ISpRegDataKey in object_token.
sapi: Implement ISpObjectToken::Set/GetStringValue.
sapi: Implement ISpObjectToken::CreateInstance.
Sven Baars (2):
mscoree/tests: Remove the parent argument from create_new_dir() (Coverity).
ddraw: Set the texture height in SetSurfaceDesc() (Coverity).
Tim Clem (2):
ntdll: Decrement thread count from exit_thread and exit the process if needed.
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Vijay Kiran Kamuju (1):
winex11.drv: Fix compile when xrandr is not available.
Zebediah Figura (32):
d3d8: Move surface allocation to d3d8_surface_create().
d3d8: Create sub-resource surfaces manually.
d3d8: Pass the container to d3d8_surface_create().
wined3d: Directly call wined3d_texture_create() to create swapchain textures.
winepulse: Avoid accessing the product name after freeing it.
ntdll: Fix the prototype of NtDuplicateToken().
advapi32/tests: Add more tests for token duplication.
quartz: Check whether the pin is connected in IBasicVideo::GetVideoSize().
quartz: Check whether the pin is connected in IVideoWindow::put_Caption().
quartz: Check whether the pin is connected in IVideoWindow::put_WindowStyle().
quartz: Check whether the pin is connected in IVideoWindow::put_AutoShow().
quartz: Check whether the pin is connected in IVideoWindow::put_Owner().
quartz: Check whether the pin is connected in IVideoWindow::put_MessageDrain().
quartz: Check whether the pin is connected in IVideoWindow::put_Visible().
quartz: Check whether the pin is connected in IVideoWindow::SetWindowPosition().
d3d9/tests: Add some more tests for accessing an old backbuffer surface after a reset.
d3d9: Hold a reference to the wined3d swapchain from d3d9 swapchain surfaces.
d3d8: Hold a reference to the wined3d swapchain from d3d8 swapchain surfaces.
d3d11: Hold a reference to the wined3d swapchain from d3d11 swapchain textures.
wined3d: Do not forward texture references to the swapchain.
wined3d: Read the sm4 sample count in DCL instructions.
wined3d: Do not declare resources as multisampled if the sample count is 1.
qcap/audiorecord: Get rid of the AudioRecord typedef.
qcap/audiorecord: Add a stub source pin.
qcap/tests: Test audio capture pin interfaces.
qcap/tests: Test audio capture pin information.
qcap/tests: Test the audio capture CLSID.
qcap/audiorecord: Stub IAMStreamConfig.
qcap/tests: Add tests for media types.
qcap/audiorecord: Implement pin_get_media_type().
qcap/audiorecord: Implement IAMStreamConfig::GetStreamCaps().
qcap/audiorecord: Partially implement QueryAccept().
Zhiyi Zhang (15):
tasklist: Add basic functionality.
tasklist: Support '/nh' option.
tasklist: Support '/fo' option.
tasklist: Partially support '/fi' option.
findstr: Add basic functionality.
oledb32/tests: Test initial catalog property.
oledb32: Use the correct property for initial catalog.
oledb32/tests: Test provider string with multiple provider specific properties.
oledb32: Put provider initialization properties in a single DBPROP_INIT_PROVIDERSTRING.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_VARIANT.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_VARIANT.
Ziqing Hui (4):
winegstreamer: Introduce format_is_compressed.
winegstreamer: Implement wg_parser_stream_get_codec_format.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Use codec format in stream_props_GetMediaType.