The Wine development release 8.16 is now available.
What's new in this release:
- Beginnings of a DirectMusic revival.
- Many fixes and improvements in the regression tests.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.16.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.16 (total 33):
- #42809 GPS Track Editor: arrows not shown
- #51561 Wine's built-in gdiplus.dll lags in Paint.NET compared to native (Win 7) gdiplus.dll
- #51995 Roblox's bad performance on Wine
- #52196 BENNING PC-Win ST 750-760 Designer crashes on start, needs GdipSetPenCompoundArray implementation
- #53435 user32:msg - test_SendMessage_other_thread() sometimes gets a wrong status on Windows
- #54202 mscoree:mscoree breaks user32:msg - subtest_hvredraw() fails on most Windows 7 test configurations
- #54331 Game "Antecrypt": Black screen after launch
- #54368 ::DrawGeometry doesn't respect stroke style
- #54655 user32:msg - test_InSendMessage() sometimes gets unexpected flags on Windows
- #54683 shlwapi:ordinal - test_SHFormatDateTimeA() fails due to daylight saving time on Windows
- #54944 ntdll:exception - test_extended_context() crashes on Window 11
- #54945 ntdll:exception - test_virtual_unwind() fails on Windows 11
- #54998 DnsQuery(DNS_TYPE_SRV) fails to parse some of the server answers
- #55225 kernel32:thread - The 32-bit test_stack() gets an unexpected values for -2 & -3 indexes on Windows
- #55227 wtsapi32:wtsapi - The 32-bit check_wts_process_info() fails to get the user token on Windows 7 & 8
- #55237 oleaut32:usrmarshal - The 64-bit test_marshal_VARIANT() gets bad values for wv[5&6] on Windows 8+
- #55238 ntdll:exception - The 64-bit test_nested_exception() fails on Windows 11
- #55244 mshtml:misc - test_HTMLStorage() crashes in Wine
- #55246 ntdll:om - The 64-bit test_object_types() crashes on Windows 8+
- #55317 user32:msg - test_hotkey() finds no free WinKey+letter on Windows 11
- #55354 user32:msg - test_dialog_messages() sometimes gets a bad sequence on Windows 7
- #55366 The GitLab CI sometimes tries to link winscard with libpcsclite on macOS
- #55459 Softerra LDAP Browser fails to turn off LDAP_OPT_ENCRYPT, LDAP_OPT_ROOTDSE_CACHE, and LDAP_OPT_SIGN
- #55501 PS Core (pwsh.exe) fails to start:Call to unimplemented function wldp.dll.WldpGetLockdownPolicy
- #55505 Vitis 2020.1 needs support for `if exist ""` in batch file
- #55507 Softerra LDAP Browser needs LDAP_OPT_CLIENT_CERTIFICATE
- #55508 Wine 8.15: compiles successfully in Flatpak but fails during runtime with a SIGSEGV
- #55531 combase:roapi - test_ActivationFactories() fails on Windows and Wine
- #55532 kernel32:actctx - test_two_dlls_at_same_time() crashes on Windows 7+ and Wine
- #55533 setupapi:devinst & setupapi:install - test_class_installer() fails on Windows 7+ and Wine
- #55534 ucrtbase:thread - test_thread_library_reference() fails on Windows 7+ and Wine
- #55535 The dinput:hid test summary line fails to take skip messages into account on Windows 7
- #55539 user32:msg test_hvredraw fails in win1709 with unexpected region
----------------------------------------------------------------
Changes since 8.15:
Alex Henrie (19):
wldap32: Rename cert_callback to server_cert_callback.
wldap32: Implement setting LDAP_OPT_CLIENT_CERTIFICATE.
msctf: Use CRT allocation functions.
shcore: Use CRT allocation functions.
shlwapi: Use CRT allocation functions.
snmpapi: Use CRT allocation functions.
uiautomationcore: Use CRT allocation functions.
mpr: Use CRT allocation functions.
cmd: Handle `if exist` with an empty string argument.
wintab32: Use CRT allocation functions.
wintrust: Use CRT allocation functions.
extrac32: Use CRT allocation functions.
oleview: Use CRT allocation functions.
wineboot: Use CRT allocation functions.
winemenubuilder: Use CRT allocation functions.
winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc.
winmm: Use CRT allocation functions.
newdev: Use CRT allocation functions.
http: Use CRT allocation functions.
Alexandre Julliard (21):
kernel32/tests: Also remove stack pointer checks on 64-bit.
oleaut32/tests: Mark the win9x behavior as todo on Wine.
makedep: Make the spec file optional for testdll resources.
makedep: Make the spec file optional for data-only dlls.
makedep: Make the spec file optional for native modules.
winegcc: Don't disable unwind tables for PE targets.
winebuild: Add SEH information to relay entry points on ARM64.
ntdll/tests: Use a valid buffer address for misalignment test.
ntdll: Always fetch the %fs register from the thread data.
ntdll: Ignore attempts to change segment registers on x86-64.
ntdll: Don't save segment registers in the syscall frame on x86-64.
ntdll: Add missing backslash to query image file execution options.
win32u: Use the correct length for kernel object names in object attributes.
wow64: Don't add MEM_RESERVE for invalid flags combinations.
include: Add DECLSPEC_NOINLINE macro.
ntdll/tests: Fix some test failures on ARM64 Windows.
localspl: Fix an uninitialized variable warning with clang.
ntdll: Fix the hardcoded selector values for ARM64.
ntdll: Fixup the pc address for breakpoint exceptions on ARM64.
ntdll: Fix the SystemProcessorFeaturesInformation value on ARM platforms.
ntdll/tests: Mark some tests as todo for ARM64.
Alexandros Frantzis (5):
winewayland.drv: Add initial stub for wl_pointer handling.
winewayland.drv: Handle pointer focus events.
winewayland.drv: Handle pointer motion events.
winewayland.drv: Handle pointer button and scroll events.
winewayland.drv: Implement SetCursor using cursor bitmap data.
Alfred Agrell (6):
quartz: Fill in VMR9SurfaceAllocatorNotify_NotifyEvent stub.
quartz: Recreate surfaces in VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_NotifyEvent.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz: Delete some redundant members from struct quartz_vmr.
quartz/tests: Fix segfault in changed3ddevice test.
Alistair Leslie-Hughes (6):
diasymreader: Remove DECLSPEC_HIDDEN usage.
qmgr: Remove DECLSPEC_HIDDEN usage.
kernel32: Remove DECLSPEC_HIDDEN usage.
user32: Remove DECLSPEC_HIDDEN usage.
wshom.ocx: Remove DECLSPEC_HIDDEN usage.
d3drm: Correct D3DRMIMAGE validation.
Arkadiusz Hiler (2):
dsound: Get rid of DSOUND_capturers and related lock.
dsound: Get rid of the global device GUID arrays.
Bartosz Kosiorek (1):
gdiplus/tests: Extend DrawImage scaling tests.
Billy Laws (1):
include: Add CHPEV2 CPU area definitions.
Biswapriyo Nath (6):
include: Add AudioCaptureEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioRenderEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioEffectsManager runtimeclass in windows.media.effects.idl.
include: Add IPackage2 definition in windows.applicationmodel.idl.
include: Add missing error codes in msctf.idl.
include: Add IEnumTfPropertyValue definition in msctf.idl.
Brendan Shanks (15):
tools: Use posix_spawn() instead of fork()/execvp().
server: Remove the fallback epoll() syscalls.
crypt32: Ensure unixlib function tables and enum stay in sync.
msv1_0: Ensure unixlib function tables and enum stay in sync.
ws2_32: Ensure unixlib function tables and enum stay in sync.
bcrypt: Ensure unixlib function tables and enum stay in sync.
winegstreamer: Ensure unixlib function tables and enum stay in sync.
dwrite: Ensure unixlib function tables and enum stay in sync.
winspool.drv: Ensure unixlib function tables and enum stay in sync.
netapi32: Ensure unixlib function tables and enum stay in sync.
capi2032: Ensure unixlib function tables and enum stay in sync.
winealsa: Ensure unixlib function tables and enum stay in sync.
winecoreaudio: Ensure unixlib function tables and enum stay in sync.
wineoss: Ensure unixlib function tables and enum stay in sync.
winepulse: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (2):
msxml3/tests: Fix failure messages.
msvcp110: Add std::_Throw_future_error.
Dmitry Timoshkov (15):
wldap32: Add support for ldap_set_option(LDAP_OPT_HOST_NAME).
kerberos: Add ISC_REQ_DELEGATE to the list of supported flags.
dnsapi/tests: Add some tests for DNS_TYPE_SRV messages.
dnsapi: Accept name records of exact size at the end of the packet.
dnsapi: Set correct wDataLength for DNS_TYPE_SRV records.
gdiplus/tests: Fix compilation with PSDK compiler.
gdiplus/tests: Add a test for calling GdipImageSelectActiveFrame() with invalid frame on a memory bitmap.
gdiplus: In GdipImageSelectActiveFrame rely on codec->select_func() to fail.
comctl32: Use iswalnum() to filter alpha numeric characters from unicode messages.
schedsvc: Remove duplicate dwControlsAccepted initialization.
wevtsvc: Remove duplicate dwControlsAccepted initialization.
srvsvc: Add LanmanServer stub service.
user32: Listbox shouldn't send WM_COMMAND/LBN_DBLCLK notification if it has no items.
server: Write terminating '\0' in the strings.
d2d1: Scale stroke width for D2D1_STROKE_TRANSFORM_TYPE_FIXED in DrawGeometry::ID2D1DeviceContext1().
Eric Pouech (3):
kernel32/console: Add tests for GenerateConsoleCtrlEvent().
cmd: Better handle ctrl-c events.
dbghelp: Don't insert dwz file map into module's file maps' chain.
Esme Povirk (8):
user32/tests: Trace run number in test_SendMessage_other_thread.
user32/tests: Wait for GetMessage call to complete.
user32/tests: Check all letters in test_hotkey.
user32/tests: Register test_hvredraw class in temp desktop.
user32/tests: Detect win7's broken GetQueueStatus behavior.
user32/tests: Delete a faulty test.
user32/tests: Account for ignored messages in PeekMessage call.
user32/tests: Ignore other messages in test_broadcast.
Etaash Mathamsetty (2):
include: Update definition of KDPC.
ntoskrnl.exe/tests: Add KeInitializeDpc tests.
Evan Tang (2):
d3d11: Add tests for clearing RTs in the middle of a render.
wined3d: Restart vk render pass on RT clear.
François Gouget (2):
dmsynth/tests: Add the trailing linefeed to a win_skip() message.
kernel32/tests: Allow a 0 removed entry count in the completion test.
Gabriel Ivăncescu (61):
mshtml: Implement querySelector for document fragments.
mshtml: Implement querySelectorAll for document fragments.
mshtml: Expose an EventTarget interface on the outer window for events' target dispatch.
mshtml: Return interface directly from node vtbl's QI instead of HRESULT, without AddRef.
mshtml: Introduce query_interface in dispex vtbl and use it for DOM Nodes.
mshtml: Use query_interface in the dispex vtbl for inner windows.
mshtml: Use query_interface in the dispex vtbl for XMLHttpRequest.
mshtml: Trace the object name in dispex methods.
mshtml: Unstub some implemented event handlers in IHTMLWindow7 interface.
mshtml: Use query_interface in the dispex vtbl for builtin constructors.
mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
mshtml: Use query_interface in the dispex vtbl for CSS Styles.
mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and collections.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMAttribute.
mshtml: Use query_interface in the dispex vtbl for HTMLEventObj.
mshtml: Use query_interface in the dispex vtbl for DOM Events.
mshtml: Get rid of the custom query_interface for DOM Events.
mshtml: Use query_interface in the dispex vtbl for MutationObserver.
mshtml: Use query_interface in the dispex vtbl for DOMTokenList.
mshtml: Use query_interface in the dispex vtbl for HTMLRect.
mshtml: Use query_interface in the dispex vtbl for DOM and Text Ranges.
mshtml: Use query_interface in the dispex vtbl for HTMLSelectionObject.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMImplementation.
mshtml: Use query_interface in the dispex vtbl for HTMLScreen.
mshtml: Use query_interface in the dispex vtbl for History.
mshtml: Use query_interface in the dispex vtbl for Navigator.
mshtml: Use query_interface in the dispex vtbl for Console.
mshtml: Use query_interface in the dispex vtbl for MediaQueryList.
mshtml: Use query_interface in the dispex vtbl for Performance.
mshtml: Use query_interface in the dispex vtbl for PerformanceNavigation.
mshtml: Use query_interface in the dispex vtbl for PerformanceTiming.
mshtml: Get rid of `outer` in DispatchEx.
mshtml: Forward objects' IUnknown methods to the DispatchEx.
mshtml: Get rid of the custom qi for CSS Styles.
mshtml: Traverse and unlink AnchorElements using the dispex.
mshtml: Traverse and unlink AreaElements using the dispex.
mshtml: Traverse and unlink BodyElements using the dispex.
mshtml: Traverse and unlink FormElements using the dispex.
mshtml: Traverse and unlink FrameElements using the dispex.
mshtml: Traverse and unlink IFrames using the dispex.
mshtml: Traverse and unlink ImageElements using the dispex.
mshtml: Traverse and unlink InputElements using the dispex.
mshtml: Traverse and unlink ButtonElements using the dispex.
mshtml: Traverse and unlink LinkElements using the dispex.
mshtml: Traverse and unlink ObjectElements using the dispex.
mshtml: Traverse and unlink OptionElements using the dispex.
mshtml: Traverse and unlink ScriptElements using the dispex.
mshtml: Traverse and unlink SelectElements using the dispex.
mshtml: Traverse and unlink StyleElements using the dispex.
mshtml: Traverse and unlink TableElements using the dispex.
mshtml: Traverse and unlink TextAreaElements using the dispex.
mshtml: Unlink document nodes and fragments using the dispex.
Gerald Pfeifer (1):
ntdll: Fix leave_handler for FreeBSD and NetBSD.
Hans Leidekker (19):
wtsapi/tests: Use a heap buffer for the user SID.
webservices/tests: Fully initialize xmlstr.
wbemprox: Call GetAdaptersAddresses() in a loop.
netprofm: Call GetAdaptersAddresses() in a loop.
wpcap: Call GetAdaptersAddresses() in a loop.
ipconfig: Use CRT allocation functions.
ipconfig: Call GetAdaptersAddresses() in a loop.
wsdapi: Use CRT allocation functions.
wsdapi: Call GetAdaptersAddresses() in a loop.
wsdapi/tests: Use CRT allocation functions.
wsdapi/tests: Call GetAdaptersAddresses() in a loop.
ws2_32/tests: Use CRT allocation functions.
ws2_32/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Use CRT allocation functions.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
wpcap/tests: Accept another return value from pcap_can_set_rfmon().
winscard/tests: Skip tests when SCardListReadersA() returns an empty list.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Call GetExtendedTcp/UdpTable() in a loop.
Helix Graziani (1):
wldp: Add WldpQueryWindowsLockdownMode stub.
Huw D. M. Davies (1):
ntdll: Store the codepage data addresses in both PEBs.
Jacek Caban (10):
ntdll: Unconditionally forward console events to kernelbase.
mshtml: Use unsigned types for bitfields.
msvcrt: Use unsigned types for bitfields.
ole32/tests: Don't use bitfield for called_todo.
regedit: Use unsigned types for bitfields.
shell32: Use unsigned types for bit fields.
shell32: Use a signed value to assign single signed bitfields values.
server: Store both contexts in pending context object.
ntdll/tests: Add tests for setting context on unsuspended thread.
wow64win: Implement wow64_NtUserImmTranslateMessage.
Jacob Czekalla (1):
comctl32/status: Invalidate entire status bar on WM_SIZE.
Jeff Smith (3):
xaudio2/tests: Improve IID_IXAudio2 interface version checking.
dwrite: Treat null character as NO_VISUAL in script analyzer.
gdiplus: GdipIsVisiblePathPoint is not affected by world transform.
Jinoh Kang (3):
loader: Fix calculation of thread_data address in Linux x86-64 preloader.
loader: Don't return from __stack_chk_fail() stub in preloader.
user32/tests: Isolate window update region tests in a temporary desktop.
Joel Holdsworth (1):
ntdll/tests: Update link test to reflect Windows 11 behaviour.
Julian Rüger (1):
po: Update German translation.
Lorenzo Ferrillo (2):
ole32: Leave the RunningObjectTable Critical Section before umarshalling object.
ole32: Add debug info to RunningObjectTable critical section.
Matteo Bruni (11):
wined3d: Don't call wined3d_context_gl_apply_blit_state() from texture2d_read_from_framebuffer().
wined3d: Prepare/load the destination resource location in ffp_blitter_blit().
wined3d: Prepare/load the destination resource location in arbfp_blitter_blit().
wined3d: Don't bind the FBO to GL_READ_FRAMEBUFFER in wined3d_context_gl_apply_blit_state().
wined3d: Don't call wined3d_texture_load() from wined3d_context_gl_apply_blit_state().
wined3d: Don't setup FBO and draw buffers in wined3d_context_gl_apply_blit_state().
wined3d: Rename wined3d_context_gl_apply_fbo_state_blit() function.
wined3d: Handle depth textures in texture2d_read_from_framebuffer().
wined3d: Don't force going through a texture when downloading from renderbuffers.
wined3d: Skip acquiring a context for an offscreen resource in texture2d_read_from_framebuffer().
wined3d: Don't skip ARB fragment program selection when fog state is dirty.
Mohamad Al-Jaf (5):
windows.applicationmodel: Add stub DLL.
appxdeploymentclient: Add stub DLL.
appxdeploymentclient: Implement IActivationFactory::ActivateInstance().
include: Add Windows.Management.Deployment.IPackageManager2 interface definition.
appxdeploymentclient: Add IPackageManager2 stub interface.
Nikolay Sivov (2):
kernel32/tests: Add activation context test with empty assembly manifest.
ntdll/actctx: Accept empty assembly elements.
Paul Gofman (18):
ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToNtPathName_U with mask.
ntdll/tests: Test NtQueryDirectoryFile with wildcards.
kernel32/tests: Add more tests for FindFirstFile with wildcards.
kernelbase: Duplicate file name matching code for FindNextFileW().
kernelbase: Get unprocessed mask in FindFirstFileExW().
kernelbase: Support masks suggesting no extension in FindNextFile().
ntdll/tests: Adjust test_virtual_unwind() for Win11 results.
include: Define up to date exception flags.
ntdll/tests: Adjust test_nested_exception() for Win11 results.
ntdll/tests: Adjust test_extended_context() for Win11 results.
ntdll/tests: Adjust test_raiseexception_regs() for Win11 results.
wtsapi32: Improve WTSEnumerateSessionsW() stub.
wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSessionsW().
wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW().
server: Support FileStandardInformation for pipes.
server: Don't set SO_RCVBUF below Windows default value on Unix socket.
d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace().
d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace().
Piotr Caban (4):
msvcp100: Fix failure class layout.
msvcp110: Add _Throw_C_error implementation.
wineps: Remove dynamic glyph list.
wineps: Fix EMRPOLYDRAW16 printing.
Ryan Hendrickson (1):
regedit: Export hex(4) instead of dword if size isn't 4 bytes.
Rémi Bernon (122):
dmsynth: Remove unnecessary comments.
dmsynth: Always return S_FALSE from DllCanUnloadNow.
dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink.
dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef.
dmsynth: Move IDirectMusicSynthImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth.
dmsynth: Get rid of the IDirectMusicSynth8Impl typedef.
dmsynth: Use CRT allocation functions.
dmsynth/tests: Avoid dynamic format string.
dmsynth/tests: Import and use a check_interface helper.
dmsynth/tests: Test DirectMusicSynthSink class in isolation.
dmsynth/tests: Test DirectMusicSynth class in isolation.
windows.applicationmodel/tests: Add some IPackageManager tests.
makedep: Use #pragma makedep testdll for TESTDLL resources.
makedep: Support generating .exe TESTDLL resources.
windows.applicationmodel/tests: Test IPackageManager_RegisterPackageAsync.
windows.applicationmodel/tests: Test executing a WinRT package application.
include: Fix incorrect IDirectMusicPortDownload_Unload macro.
dmusic/tests: Test IDirectMusic(Port)Download interfaces.
dmusic/tests: Test IDirectMusicPort_(Download|Unload)Instrument.
dmusic: Always return S_FALSE from DllCanUnloadNow.
dmusic: Simplify and cleanup IDirectMusicDownload constructor.
dmusic: Move IDirectMusicDownloadImpl struct to where it is used.
dmusic: Rename IDirectMusicDownloadImpl method prefix to download.
dmusic: Implement synth port IDirectMusicPortDownload_GetDLId.
dmusic: Implement IDirectMusicPortDownload_AllocateBuffer.
dmusic: Implement IDirectMusicPortDownload_(Download|Unload).
dmusic: Implement IDirectMusicPortDownload_GetBuffer.
dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub.
dmsynth: Avoid leaking master clock references.
dmsynth: Allow changing master clock while active.
dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub.
dmsynth: Implement SampleToRefTime and RefTimeToSample.
makedep: Fix a string format specifier typo.
dmsynth: Move constructor parameter checks to class factory.
include: Use IReferenceClock interface from strmif.idl in dmusicc.h.
dmsynth: Implement latency IReferenceClock interface on the sink.
dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink.
dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op.
dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate.
dmusic: Move constructor parameter checks to class factory.
dmusic: Rename IDirectMusicCollectionImpl method prefix to collection.
dmusic: Get rid of the IDirectMusicCollectionImpl typedef.
dmusic: Get rid of struct collection liCollectionPosition member.
dmusic: Get rid of struct collection liWavePoolTablePosition member.
dmusic: Simplify and cleanup IDirectMusicInstrument constructor.
dmusic: Rename IDirectMusicInstrumentImpl method prefix to instrument.
dmusic: Get rid of the IDirectMusicInstrumentImpl typedef.
dinput/tests: Report the driver success and skipped tests counters.
windows.applicationmodel/tests: Report success and skipped tests counters.
ntoskrnl/tests: Use wine/test.h in the driver tests.
dmime/tests: Test IDirectMusicGraph interface with a dummy tool.
dmime/tests: Test performance IDirectMusicTool interface.
dmime/tests: Test performance IDirectMusicGraph interface.
dmime/tests: Test IDirectMusicPerformance time conversion.
dmime/tests: Test IDirectMusicPerformance_*PMsg methods.
dmime/tests: Test IDirectMusicTool message reception filter.
dmime/tests: Test IDirectMusicTool message reception delay.
dmsynth/tests: Test IDirectMusicSynth_Unload.
dmusic: Avoid passing invalid handle to IDirectMusicSynth_Unload.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves.
dmsynth: Implement IDirectMusicSynth_Download for instrument regions.
dmsynth: Implement IDirectMusicSynth_Download for instrument articulations.
dmusic: Use a struct list for instrument articulations.
dmusic: Use a struct list for instrument regions.
dmusic: Reset riff chunk type to 0 when it is invalid.
dmusic: Rewrite instrument lrgn list parsing.
dmusic: Rewrite instrument lart list parsing.
dmusic: Rewrite instrument ins chunk parsing.
dmusic: Allocate and parse instruments in a single pass.
dmusic: Cleanup collection instrument iteration loops.
dmusic: Stop leaking instruments on collection release.
dmime: Always return S_FALSE from DllCanUnloadNow.
dmime: Use CRT allocation functions.
dmime: Use the correct interface methods.
dmime: Fix indentation in DirectMusicPerformance class constructor.
dmime: Rename IDirectMusicPerformance8Impl method prefix to performance.
dmime: Get rid of IDirectMusicPerformance8Impl typedef.
dmime: Fix indentation in IDirectMusicPerformance_QueryInterface.
dmime: Add a IDirectMusicGraph interface to the performance.
dmime: Add a IDirectMusicTool interface to the performance.
dmband: Always return S_FALSE from DllCanUnloadNow.
dmband: Use CRT allocation functions.
dmband: Use PARENTSRC with dmusic.
dswave: Always return S_FALSE from DllCanUnloadNow.
dswave: Use CRT allocation functions.
dswave: Use PARENTSRC with dmusic.
dmstyle: Awlays return S_FALSE from DllCanUnloadNow.
dmstyle: Use CRT allocation functions.
dmstyle: Use PARENTSRC with dmusic.
dmime: Remove FIXME from performance IDirectMusicGraph methods.
dmime: Implement some performance IDirectMusicTool methods.
dmime: Rewrite IDirectMusicGraph tools iteration.
dmime: Rename DirectMusicGraph method prefix to graph.
dmime: Get rid of the IDirectMusicGraphImpl typedef.
dmime: Implement IDirectMusicGraph_StampPMsg.
dmime: Implement performance IDirectMusicGraph_StampPMsg.
dmime: Set the tool delivery type on the messages flags.
dmcompos: Always return S_FALSE from DllCanUnloadNow.
dmcompos: Use CRT allocation functions.
dmcompos: Use PARENTSRC with dmusic.
dmloader: Always return S_FALSE from DllCanUnloadNow.
dmloader: Use CRT allocation functions.
dmloader: Use PARENTSRC with dmusic.
dmscript: Always return S_FALSE from DllCanUnloadNow.
dmscript: Use CRT allocation functions.
dmscript: Use PARENTSRC with dmusic.
dmime: Use PARENTSRC with dmusic.
dmime: Rewrite IDirectMusicPerformance8_GetTime.
dmime: Implement MusicToReferenceTime and ReferenceToMusicTime.
dmime: Cleanup IDirectMusicPerformance_AllocPMsg.
dmime: Cleanup IDirectMusicPerformance_FreePMsg.
dmime: Cleanup IDirectMusicPerformance_SendPMsg.
dmime: Implement IDirectMusicPerformance8_ClonePMsg.
dmusic: Rewrite collection lins list parsing.
dmusic: Rewrite collection ptbl chunk parsing.
dmusic: Rewrite collection INFO list parsing.
dmusic: Rewrite collection DLS chunk parsing.
dmusic: Parse instrument name from INFO list.
dmusic: Add more parsed instruments traces.
Stefan Dösinger (13):
d3d9/tests: Skip big test_query loops if the d3d implementation is too slow.
d3d9/tests: Don't fail d3d9ex if the window manager restores focus too soon.
d3d9/tests: Don't fail test_reset_fullscreen if the WM resizes us.
d3d9/tests: Don't check messages when doing the minimization workaround dance.
d3d8/tests: Don't check messages when doing the minimization workaround dance.
gitlab: Enable d3d8 and d3d9 device tests.
d3d9/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d8/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d9/tests: Request a 3 mip level cube texture in test_getdc().
d3d8/tests: Fix skipping ATI2N in test_resource_access.
d3d9/tests: Fix skipping ATI2N in test_resource_access.
d3d8/tests: Mark the hidden test WM_WINDOWPOSCHANGED test flaky.
d3d9/tests: Mark hidden window WM_WINDOWPOSCHANGED tests unconditionally flaky.
Tim Clem (2):
win32u/tests: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL.
Yuxuan Shui (2):
urlmon: Test http protocol through CreateBinding.
urlmon: Fix NULL dereference in BindProtocol_UnlockRequest.
Zebediah Figura (14):
d3dxof: Remove unnecessary includes.
wmvcore: Explicitly include strmif.h.
include: Do not import strmif.idl in mediaobj.idl.
dsound: Do not include strmif.h.
wined3d: Enable shaderDrawParameters on Vulkan 1.1 if supported.
wined3d: Allow creating a feature level < 10 device if KHR_shader_draw_parameters is missing.
wined3d: Do not use EXT_host_query_reset if hostQueryReset is not actually supported.
wined3d: Do not use EXT_transform_feedback if transformFeedback is not actually supported.
wined3d: Remove the unused "sampler" local variable from wined3d_context_vk_load_shader_resources().
wined3d: Remove WINED3D_TEXTURE_NORMALIZED_COORDS.
wined3d: Remove the unused "current_fprogram_id" field from struct shader_arb_priv.
wined3d: Remove the unused "current_vprogram_id" field from struct shader_arb_priv.
wined3d: Do not set last_was_pshader from the GLSL fragment pipe.
sensapi: Remove unnecessary includes.
Zhiyi Zhang (4):
comctl32/edit: Don't use WM_TIMER to update caret position.
user32/edit: Don't use WM_TIMER to update caret position.
user32/tests: Test IsDialogMessageA() converting ASCII WM_CHAR messages.
user32: Map WM_CHAR wparam in ASCII to Unicode in IsDialogMessageA() for CJK locales.
Ziqing Hui (9):
winegstreamer: Add push_event wrapper.
winegstreamer: Add codec data to h264 format.
mf/tests: Call check_attributes in check_mft_get_output_current_type_.
mf/tests: Add tests for h264 encoder.
mf/tests: Use h264 and aac in mp4 media sink tests.
winegstreamer: Add MFMPEG4SinkClassFactory.
winegstreamer: Introduce new wg_muxer struct.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Create wg_muxer for media sink.
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 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.