The Wine development release 8.20 is now available. What's new in this release: - More DirectMusic implementation. - Protocol associations exported to the Unix desktop. - Code cleanups in preparation for code freeze. - Various bug fixes. The source is available at: https://dl.winehq.org/wine/source/8.x/wine-8.20.tar.xz Binary packages for various distributions will be available from: https://www.winehq.org/download You will find documentation on https://www.winehq.org/documentation You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 8.20 (total 20): - #22904 Register URL protocol handlers under Linux - #52716 Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?) - #53213 d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs - #53217 d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32 - #53218 d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe - #54399 d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD - #54519 d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs - #54780 UndertaleModTool display regression since wine-staging 8.4 - #55316 d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd - #55608 NAM won't open on new update - #55679 warframe doesn't start in experimental wow64 mode - #55715 Folio Views 4 crashes when storing a changed file - #55742 wine crashes when launching Captvty V3 - #55782 System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure - #55789 Spectralayers 9 Pro crashes on audio playback - #55797 Max Payne (2001) has no sound - #55838 wget.exe fails to download anything (regression) - #55839 NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH - #55842 Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu - #55856 cygwin hangs during installation at libzstd1-1.5.5-1 ---------------------------------------------------------------- Changes since 8.19: Alex Henrie (63): find/tests: Use CRT allocation functions. msscript: Use CRT allocation functions. uninstaller: Use CRT allocation functions. uxtheme/tests: Use CRT allocation functions. loader: Associate Wine with internet shortcuts. winemenubuilder: Disallow desktop integration for internet shortcuts. d3d10core/tests: Use CRT allocation functions. d3d11/tests: Use CRT allocation functions. d3d8: Use CRT allocation functions. d3d8/tests: Use CRT allocation functions. d3d9: Use CRT allocation functions. d3d9/tests: Use CRT allocation functions. ddraw: Use CRT allocation functions. ddraw/tests: Use CRT allocation functions. dxgi: Use CRT allocation functions. dxgi/tests: Use CRT allocation functions. dplayx: Use CRT allocation functions. ninput: Use CRT allocation functions. browseui: Use the wcsdup function instead of reimplementing it. fsutil/tests: Use CRT allocation functions. user32/tests: Use CRT allocation functions. sechost: Use CRT allocation functions. quartz: Use debugstr_fourcc instead of debugstr_an. adsldp: Remove unused heap.h include. avrt: Use CRT allocation functions. dhcpcsvc: Use CRT allocation functions. dhcpcsvc/tests: Use CRT allocation functions. diasymreader: Use CRT allocation functions. dsuiext: Use CRT allocation functions. iccvid: Use CRT allocation functions. inseng: Use CRT allocation functions. jsproxy: Use CRT allocation functions. mp3dmod: Use CRT allocation functions. msado15: Remove unused heap.h include. msasn1: Use CRT allocation functions. msdasql: Use CRT allocation functions. msident: Use CRT allocation functions. mspatcha: Use CRT allocation functions. mstask: Use CRT allocation functions. msvfw32/tests: Use CRT allocation functions. netio: Use CRT allocation functions. wtsapi32: Use CRT allocation functions. gdiplus/tests: Use CRT allocation functions. include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC). gdi32/tests: Use CRT allocation functions. winmm/tests: Use CRT allocation functions. setupapi/tests: Use CRT allocation functions. virtdisk/tests: Use CRT allocation functions. vulkan-1/tests: Use CRT allocation functions. winemenubuilder: Create .desktop files for programs that open URIs. winecfg: Mention protocol associations. winegstreamer: Remove unused heap.h include. msiexec: Use CRT allocation functions. windows.media.devices: Use CRT allocation functions. winecoreaudio: Remove unused heap.h include. shdocvw: Use CRT allocation functions. urlmon/tests: Use CRT allocation functions. ddrawex: Use CRT allocation functions. devenum: Use CRT allocation functions. wmvcore: Use CRT allocation functions. Revert "dsound: Get rid of the global device GUID arrays.". dsound: Dynamically allocate the global device GUID arrays. nsi: Use CRT allocation functions. Alexandre Julliard (58): server: Fix returned error when creating an existing symlink. user32: Enable a few more hook tests. ntdll: Also update code ranges for pure ARM64EC binaries. ntdll: Remove an unused global variable. ntdll: Only check Wow64 system directories for 32-bit platforms. kernelbase: Only support Wow64 system directories for 32-bit platforms. wow64: Only support Wow64 system directories for 32-bit platforms. server: Only create Wow64 system directories for 32-bit platforms. winegcc: Use a temp file for the implicitly created import library. makefiles: Always use the global SOURCES variable for .idl files. makefiles: Always use the global SOURCES variable for .rc files. makefiles: Always use the global SOURCES variable for .c files. msvcrt: Use the public definitions for the UNDNAME_ flags. winedump: Re-import the demangling code from msvcrt. opengl32: Make the GL driver function table const. odbc32: Make the Unix function table const. include: Make sure that Unix function tables are always const. include: Use NTSYSAPI for all ntdll exports. include: Use proper dllimports for win32u functions. include: Use proper dllimports for dbghelp functions. include: Use proper dllimports for iphlpapi functions. include: Use proper dllimports for setupapi functions. include: Use proper dllimports for uxtheme functions. include: Use proper dllimports for cryptdlg functions. include: Use proper dllimports for eventlog functions. include: Use proper dllimports for httpapi functions. include: Use proper dllimports for url functions. include: Use proper dllimports for mimeole functions. include: Use proper dllimports for winmm functions. include: Use proper dllimports for pathcch functions. include: Use proper dllimports for propsys functions. include: Use proper dllimports for userenv functions. include: Use proper dllimports for credui functions. include: Use proper dllimports for winscard functions. include: Use proper dllimports for slc functions. include: Use proper dllimports for wmi functions. include: Use proper dllimports for olectl functions. include: Use proper dllimports for more wininet functions. ddraw: Use SecureZeroMemory to clear the clipper vtbl. include: Remove DECLSPEC_HIDDEN from standard Dll* functions. include: Remove DECLSPEC_HIDDEN from winecrt0 functions. include: Remove DECLSPEC_HIDDEN from RPC functions. include: Remove DECLSPEC_HIDDEN from GUID definitions. widl: Remove DECLSPEC_HIDDEN from generated files. configure: Use hidden visibility also when building Unix libraries. wineoss.drv: Allocate the MIDI device array dynamically. winealsa.drv: Allocate the MIDI device array dynamically. rpcrt4: Generate stubless thunks at compile time. rpcrt4: Generate vtbl delegating thunks at compile time. win32u: Fix handling of process default DPI awareness. winevdm: Don't claim that 16-bit apps are DPI aware. makefiles: Support arch-specific IDL flags. widl: Make the alignment option generic instead of win32/win64-specific. configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro. configure: Assume that pthread.h is present. configure: Consistently use HOST_ARCH for platform checks. opengl32: Remove DECLSPEC_HIDDEN usage. winevulkan: Remove DECLSPEC_HIDDEN usage. Alfred Agrell (14): winegstreamer: Don't read format from unparsed MPEG audio. winegstreamer: Clamp QoS events to stay inside the stream's running time. winegstreamer: Seek to end of stream instead of to stream duration. winegstreamer: Include the framerate when converting video format to GstCaps. winegstreamer: Improve and clean up some debug logs. winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter. winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter. winegstreamer: Add output_compressed parameter to wg_parser_create(). winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter. winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type. winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter. winegstreamer: Implement CLSID_CMpegVideoCodec. quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality. quartz/tests: Add tests for CLSID_CMpegVideoCodec. Alistair Leslie-Hughes (26): include: Add some DBCOLUMN defines. msdasql: Use DBINITCONSTANTS to get guid values. hlink: Remove DECLSPEC_HIDDEN usage. msimtf: Remove DECLSPEC_HIDDEN usage. sechost: Remove DECLSPEC_HIDDEN usage. browseui: Remove DECLSPEC_HIDDEN usage. wintrust: Remove DECLSPEC_HIDDEN usage. uiautomationcore: Remove DECLSPEC_HIDDEN usage. gameux: Remove DECLSPEC_HIDDEN usage. propsys: Remove DECLSPEC_HIDDEN usage. hnetcfg: Remove DECLSPEC_HIDDEN usage. sti: Remove DECLSPEC_HIDDEN usage. advpack: Remove DECLSPEC_HIDDEN usage. mstask: Remove DECLSPEC_HIDDEN usage. uiribbon: Remove DECLSPEC_HIDDEN usage. itss: Remove DECLSPEC_HIDDEN usage. rsaenh: Remove DECLSPEC_HIDDEN usage. ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage. mpr: Remove DECLSPEC_HIDDEN usage. msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row. comdlg32: Remove DECLSPEC_HIDDEN usage. msacm32: Remove DECLSPEC_HIDDEN usage. uxtheme: Remove DECLSPEC_HIDDEN usage. wmiutils: Remove DECLSPEC_HIDDEN usage. msi: Remove DECLSPEC_HIDDEN usage. winhttp: Remove DECLSPEC_HIDDEN usage. Anton Baskanov (12): dmsynth: Offset the loop points by 8 frames. dmsynth: Handle pitch bend events. dmsynth: Use correct transform for controls. dmsynth: Correctly handle internal connections with controls. dmsynth: Activate reverb and chorus according to effect flags. dmsynth: Return void from add_mod_from_connection(). dmsynth: Keep track of voice/wave mapping. dmsynth: Use generators to set root key and fine tune. dmsynth: Create one FluidSynth sample per wave. dmsynth: Remove useless private data checks. dmsynth: Free the allocated presets manually. dmsynth: Don't leak modulators. Aurimas Fišeras (1): po: Update Lithuanian translation. Bartosz Kosiorek (35): gdiplus/tests: Add default tension tests for GdipAddPath*Curve. gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve. gdiplus/tests: Add tests for GdipSetPenTransform. gdiplus: Add additional check to GdipSetPenTransform. gdiplus/tests: Extend AddPathCurve3 test with offset and nseg. gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3. gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables. msvcrt: Add _mbsdec_l implementation. msvcrt: Add _mbslwr_l implementation. msvcrt: Add _mbsrchr_l implementation. msvcrt: Add _cprintf_l implementation. msvcrt: Add _cwprintf_l implementation. msvcrt: Add _mbsnbcat_l implementation. msvcrt: Add _mbsbtype_l implementation. msvcrt: Fix _mbslwr_s_l implementation. msvcrt: Add _mbsupr_l implementation. msvcrt: Add _mbsnbcmp_l implementation. msvcrt: Add _mbsnbcnt_l implementation. msvcrt: Add _mbsncpy_l implementation. msvcrt: Add _mbsnicmp_l implementation. msvcrt: Fix _strnicmp and _strnicmp_l implementation. msvcrt: Add _mbsnbcat_s_l implementation. msvcrt: Add _mbsnbcpy_l implementation. msvcrt: Add _mbsnbicmp_l implementation. msvcrt: Add _mbsnbset_l implementation. msvcrt: Add _mbsncat_l implementation. msvcrt: Add _mbsnccnt_l implementation. msvcrt: Add _mbsnset_l implementation. msvcrt: Add _mbspbrk_l implementation. msvcrt: Add __iswcsym implementation. msvcrt: Add __iswcsymf implementation. msvcrt: Add _mbsncmp_l implementation. msvcrt: Add _mbsrev_l implementation. msvcrt: Add _mbsset_l implementation. msvcrt: Add _mblen_l implementation. Brendan Shanks (5): localspl: Ensure unixlib function tables and enum stay in sync. qcap: Ensure unixlib function tables and enum stay in sync. winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled. ntdll/unix: Replace some malloc/sprintf calls with asprintf. ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS. Christian Costa (1): wined3d: Add entry info for NVidia RTX 3070. Connor McAdams (5): uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers. uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider. uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE. uiautomationcore: Return TRUE from UiaClientsAreListening(). oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release. Daniel Lehman (4): msxml4/tests: Use wide string literals. msmxl4/tests: Add tests for get_xml. msxml6/tests: Use wide string literals. msxml6/tests: Add tests for get_xml. Dmitry Timoshkov (9): kernel32/tests: Add some tests for CreateActCtx() with different structure sizes. kernel32: Add ACTCTX field limit checks to CreateActCtxA(). ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext(). uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed. uxtheme/tests: Add a test for OpenThemeData("explorer::treeview"). uxtheme: Parse app/class name in OpenThemeData(). uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence. uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass(). uxtheme: If the application class is already set then OpenThemeData() should fail. Eric Pouech (22): dpnsvr: Move to GUI subsystem (as native). spoolsv: Move to GUI subsystem (as native). svchost: Move to GUI subsystem (as native). services: Move to GUI subsystem (as native). pdh: Zero out magic fields with SecureZeroMemory(). dssenh: Use SecureZeroMemory to clear magic fields. secur32: Use SecureZeroMemory to clear magic fields. user32: Use SecureZeroMemory to clear magic fields. winscard: Use SecureZeroMemory() to clear magic fields. wintrust: Use SecureZeroMemory() to clear magic fields. wsdapi: Use SecureZeroMemory() to clear magic fields. wininet: Use SecureZeroMemory() to clear magic fields. msvcrt/tests: Improve environment tests (initial conditions). msvcrt/tests: Add tests about allocation of environment entries. msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls. msvcrt/tests: Test adding Unicode env variables. msvcrt: Use msvcrt heap for allocating envionment data. msvcrt: Fix getmainargs() family to return correct environment block. taskmgr: No longer use console/file output APIs. wordpad: Remove unneeded output messages. mshta: No longer use console / crt API. winebrowser: Remove misleading comment. Esme Povirk (1): user32/tests: Improve timer measurement method. Fabian Maurer (2): winegstreamer: Implement IWMResamplerProps. msvcrt: Fsetpos resets EOF flag. Floris Renaud (1): po: Update Dutch translation. Gabriel Ivăncescu (24): mshtml: Keep ref from the document node to the inner window. mshtml: Properly traverse document nodes. mshtml/tests: Test parent window links after navigation. mshtml: Keep ref from the ImageElementFactory to the inner window. mshtml: Keep ref from the OptionElementFactory to the inner window. mshtml: Keep ref from the XMLHttpRequestFactory to the inner window. mshtml: Keep ref from LocalStorage and SessionStorage to the inner window. mshtml: Keep ref from the OmHistory to the inner window. mshtml: Keep refs from the Attributes and AttributeCollection to the Element. mshtml: Keep ref from the associated Style to the Element. mshtml: Traverse and unlink the Element referenced from the CurrentStyle. mshtml: Traverse and unlink the style_sheet referenced from the StyleElement. mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error. mshtml: Fix window leak on error in async_stop_request. jscript: Fix EnumVARIANT leak in enumerators. jscript: Fix value leak in Array.shift. jscript: Fix array leak in Array.filter. jscript: Don't addref before calling jsdisp_propput_name. jscript: Fix value arg leak in transform_json_object. jscript/tests: Fix variant leak after conversion when testing VariantChangeType. jscript/tests: Fix Date object leak in test_default_value. mshtml/tests: Fix BindInfo leak in htmldoc test. mshtml: Return outer window to external callers. mshtml: Don't NULL out the doc's window when unlinking the window. Hans Leidekker (4): gdi32/tests: Skip broken Noto Color Emoji font in character width test. win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW(). ntdll: Bump current build number to 19043 (Win10 2009). advapi32/tests: Get rid of an unreliable eventlog test. Jacek Caban (14): configure: Disable -Wmicrosoft-enum-forward-reference warnings. msctf: Avoid implicit enum casts. qmgr: Avoid implicit enum casts. shcore: Avoid implicit enum casts. webservices: Store xmlbuf encoding as unsigned int. gdiplus/tests: Avoid implicit casts from MetafileType to EmfType. gdiplus: Avoid implicit enum casts. d3d11: Explicitly convert enums in d3d_depthstencil_state_create. d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION. d3d8: Use designated initializers in tss_lookup. ddraw: Use designated initializers in tss_lookup. kernel32/tests: Remove unused variable. msvcrt/tests: Don't define structs types inside other struct declaration. msvcp60: Use char type for FROZEN macro. Louis Lenders (2): uxtheme: Add stub for SetPreferredAppMode. uxtheme: Add stub for AllowDarkModeForWindow. Nikolay Sivov (6): include: Correct ID3D10EffectPool interface uuid. shell32: Fix string size condition check (Coverity). mf/samplegrabber: Release current media type on shutdown. mf/samplegrabber: Check shutdown state when setting the clock. mf/samplegrabber: Reset the clock before OnShutdown(). mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well. Owen Rudge (1): comdlg32: Perform case-insensitive comparison of extension in file dialog. Paul Gofman (13): mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock(). mfplat/tests: Add more tests for copying 2d buffers. mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}(). mfplat/sample: Refactor sample_CopyToBuffer(). mfplat/sample: Optimize copying to 2d buffer. ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr(). ntdll: Fix pending free block validation in heap_validate() for LFH blocks. kernelbase: Don't inherit all the handles in conhost.exe. user32: Return empty string from LoadStringW() if resource is not found. user32: Put 0 to output string even for 1 char buffer in LoadStringW(). kernelbase: Return empty string from LoadStringW() if resource is not found. kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW(). winmm: Fix pszSound allocation in PlaySound_Alloc(). Rémi Bernon (24): dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE. dmime/tests: Add a track and longer segment to notifications tests. dmime: Use the current time if PlaySegmentEx start_time is 0. dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND. dmime/tests: Check more notification / dirty messages fields. dmime: Fix performance message requeue-ing from the message thread. dmband: Support start_time and end_time Play parameters. dmime: Support start_time and end_time Play parameters. dmime: Implement segment state chunked playback. dmime: Send notification messages from segment_play_chunk. dmime/tests: Test IDirectMusicPerformance_GetSegmentState. dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub. dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages. dmime/tests: Test tempo track GetParam with GUID_TempoParam. dmime: Fix tempo track GetParam with GUID_TempoParam implementation. dmime/tests: Add helpers to scale and check music time with tempo. dmime/tests: Test playing tempo track effect on performance times. dmime: Support playing secondary and control segments. dmime: Better implement performance times with tempo track. dmime: Rename struct pchannel_block to struct channel_block. dmime: Use a dedicated struct channel to hold performance channels. dmime: Introduce a new performance_get_channel helper. dmime: Simplify and rename channel_block_set to channel_block_init. dmime: Avoid leaking performance channel block ports. Santino Mazza (1): mf: Handle errors with source event generator in session. Shaun Ren (2): msttsengine: Add stub dll. msttsengine: Add ISpTTSEngine stub. Sven Baars (1): advapi32/tests: Fix a typo (Coverity). Tim Clem (1): msvcrt: Promote the log from _wassert from a trace to an error. Victor Chiletto (1): msvcrt, ucrtbase: Introduce rewind_preserve_stack. Yuxuan Shui (2): include: Add InterlockedExchangeAdd16. ntdll: Tweak the binary representation of SRWLOCK. Zebediah Figura (28): ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select. server: Only set sock->event when the event is first noticed. d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats(). d3d9/tests: Do not test sysmem textures in test_mipmap_upload(). d3d8/tests: Do not test sysmem textures in test_mipmap_upload(). d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query(). d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query(). d3d10core/tests: Use slightly different values in test_sample_c_lz(). d3d11/tests: Use slightly different values in test_sample_c_lz(). wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states(). wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states(). wined3d: Pass shader type and unmodified index to context_preload_texture(). d3d8: Store the texture's parent device as a d3d8_device pointer. wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock(). wined3d/glsl: Clamp ftou lower bound to zero. wined3d/glsl: Clamp ftou upper bound to UINT_MAX. wined3d/glsl: Clamp ftoi lower bound to INT_MIN. wined3d/glsl: Clamp ftoi upper bound to INT_MAX. wined3d/glsl: Flush NaN to zero in ftoi. gitlab: Enable d3d10core:d3d10core and d3d8:visual. mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke(). d3d9/tests: Test that GetDC() records a dirty rect. wined3d: Record a dirty rect in wined3d_texture_create_dc(). wined3d: Introduce a texture_binding_might_invalidate_ps() helper. wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps(). wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload(). wined3d: Remove the no longer used "sampler" field of struct wined3d_texture. wined3d: Do not use atomics to update the resource bind count. Zhiyi Zhang (6): user32/tests: Add more parameter checks for SetWindowsHookExA(). win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks. win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK. ddraw/tests: Test WS_EX_TOPMOST restoration. ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed. uxtheme: Fix a test failure. Ziqing Hui (10): winegstreamer: Use NTSTATUS value in wg_muxer_create. winegstreamer: Introduce link_src_to_sink. winegstreamer: Use gst_element_get_compatible_pad. winegstreamer: Introduce find_element_factories. winegstreamer: Introduce factory_create_element. winegstreamer: Implement wg_muxer_add_stream. winegstreamer: Create parser for muxer stream. winegstreamer: Implement wg_muxer_start. winegstreamer: Implement ProcessSample for media sink. winegstreamer: Implement wg_muxer_push_sample.