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.