The Wine development release 4.21 is now available. What's new in this release (see below for details): - HTTP proxy configuration through DHCP. - Parameter block support in D3DX9. - A few more dlls converted to PE. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/4.x/wine-4.21.tar.xz http://mirrors.ibiblio.org/wine/source/4.x/wine-4.21.tar.xz Binary packages for various distributions will be available from: https://www.winehq.org/download You will find documentation on https://www.winehq.org/documentation You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 4.21 (total 50): 15670 .NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\" registry subkey) 22030 LegoLand: crashes at main menu without native directmusic 23729 Need For Speed: Shift - throbbing glob around language and save game name not as noticable on Wine 23821 Super Mario Brothers X hangs in quartz? 25264 treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file) 26119 kernel32/pipe tests show some valgrind warnings 26721 Button and Static controls not painting in Win NT V6.00 and later modes 28506 kernel32/change.ok test fails occasionally on linux 28602 Ccleaner: installer has a non-fatal crash 30499 Multiple Avira AVG product installers crash due to access of undocumented PEB field "UnicodeCaseTableData" (AVG Free Edition 2012-2014, TuneUp Utilities 2014) 33284 Xin Shendiao Xialv ("The Giant Eagle and It's Companion") has some graphical issues 33352 Family Tree Maker 2012 crashes when trying to start program 34048 IE8 x64 for Server 2003 exits silently 35252 Multiple applications need ITaskScheduler::Enum implementation (lsTasks, Toad for MySQL Freeware 7.x) 36121 valgrind leaks in ntdll/tests/change.c 36266 valgrind shows several leaks in dmusic/tests/dmusic.c 36404 valgrind shows a leak in faultrep/tests/faultrep.c 36405 valgrind shows a leak in msxml3/tests/xmlview.c 36615 valgrind shows a definite leak in mshtml/tests/htmldoc.c 38300 using winegcc with stdin passes arguments in the wrong position to gcc 38659 Windows Sysinternals Process Explorer v16.x crashes on startup (registry SID profile data in 'ProfileList' must contain 'Flags' and 'ProfileImagePath' values) 39210 Dream Aquarium (screensaver) fails to read monitor power state ('{4d36e96e-e325-11ce-bfc1-08002be10318}' monitor device class registry data missing) 40970 Can't run LEGO DD anymore 43323 Beamng.drive: Cars render incorrectly 45661 Gothic 2 crashes with music enabled without native directmusic 46748 Splinter Cell: Blacklist shows some 'script code' instead of text 47414 valgrind shows a definite memory leak in dlls/ntdll/loader.c 47489 The appearance of configurable options in Audacity is broken 47547 Steam Overlay stopped working 47620 unimplemented function KERNEL32.dll.GetCurrentConsoleFontEx 47656 Crysis 1: game in DX10 cannot be started (also causing Very High graphical setting not available) in Vista and up 47724 .NET Framework 3.5 SP1 not installing 47740 dotnet20sp2: fails to install on arch and derivatives 47790 putty.exe displays an error at startup when placed in a path with accented characters. 47809 mscrt: strftime is missing some substutions 47832 FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer 47935 Nextiva: Logging in fails with "Client is unable to connect to the server." 47991 motec i2 pro v1.0 data logger fails to start 48016 karafunplayer: Call from 0x7124d239 to unimplemented function shcore.dll.GetScaleFactorForMonitor, aborting 48072 Everquest Classic: Textures not working correctly 48087 Firestorm viewer can't login to Second Life grid since 4.19 48104 Graphics load improperly in LEGO Island 2 48111 myodbc-installer v5.x (part of Toad for MySQL Freeware 7.x) crashes when querying for installed drivers ('SQLGetInstalledDrivers' doesn't handle NULL 'sizeout') 48114 wine: could not open working directory L"unix\\home\\tod\\", starting in the Windows directory. 48140 Archicad 22 needs missing SHCreateDataObject from shell32 48157 SetThreadDescription() return value E_NOTIMPL crashes StarCitizen 48170 start.exe: /min no longer works 48176 cannot select drawn line in excel2003 sheet (for removal) 48178 upgrade to "version 4 stable" made EXCEL2003 unusable (even after re-installing/purging wine and EXCEL) 48188 wine fails to load, "kernelbase.dll" failed to initialize, aborting ---------------------------------------------------------------- Changes since 4.20: Akihiro Sagawa (1): po: Update Japanese translation. Alex Henrie (1): winex11: Fix off-by-one error in color value scaling. Alexandre Julliard (62): kernel32: Move EnumDateFormats functions to kernelbase. kernel32: Move EnumTimeFormats functions to kernelbase. kernel32: Move EnumCalendarInfo functions to kernelbase. kernel32: Move Get/SetCalendarInfo to kernelbase. appwiz.cpl: Use Unicode strings for addons file names. mscoree: Store the Mono base directory in Unicode. comctl32/tests: Avoid size_t in traces. ntdll: Support SystemPerformanceInformation on non-Linux platforms. kernel32: Move physical memory status functions to kernelbase. kernel32: Move system information functions to kernelbase. kernel32: Add more special cases in ConvertDefaultLocale(). ntdll: Move locale functions to a new locale.c file. ntdll: Implement RtlLocaleNameToLcid(). kernel32: Use RtlLocaleNameToLcid(). kernel32/tests: Get rid of Unicode helper functions. dmime: Fix duplicate const. ntdll: Fix counting of environment strings. ntdll: Initialize the system and user locales directly in ntdll. kernel32: Get the initial locales from ntdll. kernel32: Move the locale registry setup to kernelbase. wineboot: Also set the Flags value under ProfileList. kernel32: Move string normalization functions to ntdll. kernel32: Move some locale functions to kernelbase. ntdll: Handle version parsing in Unicode. mountmgr: Don't include sys/time.h before winsock.h. setupapi: Handle copy errors in SetupCommitFileQueueW(). makefiles: Create source dir symlinks from the makefiles. kernel32: Avoid forwarding to advapi32. cmd: Environment variables contain signed numbers. msvcrt: Fix range check in wsctoul(). wininet: Import zlib inflate code. wininet: Build with msvcrt. cabinet: Import zlib deflate code. cabinet: Build with msvcrt. opcservices: Import zlib deflate code. opcservices: Build with msvcrt. msi: Use %define api.pure instead of %pure-parser. msxml3: Use %define api.pure instead of %pure-parser. vbscript: Use %define api.pure instead of %pure-parser. wbemprox: Use %define api.pure instead of %pure-parser. ntdll: Implement NtGetNlsSectionPtr(). ntdll: Implement RtlInitCodePageTable(). ntdll Implement RtlInitNlsTables() and RtlResetRtlTranslations(). ntdll: Generate a Windows format codepage table using the libwine data. kernel32/tests: Add tests for NtGetNlsSectionPtr() and RtlInitCodePageTable(). kernelbase: Initialize codepage data using ntdll functions. kernel32: Move codepage functions to kernelbase. winhttp: Handle http_proxy variable entirely in Unicode. wininet: Handle http_proxy variable entirely in Unicode. cabarc: Avoid some conversion to Unix codepage. wineboot: Keep config directory path in Unicode. kernel32: Reimplement FoldStringW() to support composition. kernel32: Move FoldStringW() function to kernelbase. ntdll: Don't fail to load data file when the registry key is missing. ntdll: Keep a valid DOS name if the initial current directory is a Unix dir. mscoree/tests: Avoid winetest_strcmpW. msvcrt/tests: Avoid winetest_strcmpW. msxml3/tests: Avoid winetest_strcmpW. shell32/tests: Avoid winetest_strcmpW. winhttp/tests: Avoid winetest_strcmpW. include: Remove winetest_strcmpW. ntdll: Remove trailing \n in fatal_perror() calls. Alistair Leslie-Hughes (11): dmime: Rewrite IDirectMusicSegment8 GetParam. dmstyle: Add GUID_IDirectMusicStyle support in Style Track GetParam. dmloader: ScanDirectory doesn't specify the full path. dmstyle: Improved tracing of the DMUS_OBJECTDESC structure. dmloader: Stop after find first matching object. dmloader: Rewrite cache object lookup. dmloader: Rewrite IDirectMusicLoader8 CacheObject using find_cache_object. dmloader: Rewrite IDirectMusicLoader8 ReleaseObject using find_cache_object. dmloader: Support DMUS_OBJ_MEMORY cache lookups. dmime: Trace pbMemData/llMemLength on the same line. d3dx9: Implement D3DXCreateFragmentLinker[Ex](). Andrey Gusev (3): sapiaut.idl: Fix a typo. crypt32: Fix a typo in comment. ddraw/tests: Fix a typo in comment. Charles Davis (7): ntdll: Implement SystemBatteryState for Mac OS. winegcc: Pass through -fuse-ld= to the linker. mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi here instead of in kernel32. mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi on Mac OS. ntdll: Fix macOS build. ntoskrnl.exe: Add tests for METHOD_NEITHER ioctl behavior. ntdll: Fix tick count calculation on Mac. Conor McCarthy (2): winedbg: Use correct CALL operand size when fetching the delta. winedbg: Add support for x86_64 indirect function call targets. Damjan Jovanovic (3): winedbg: Allow changing the current thread. start.exe: STARTUPINFOW needs the STARTF_USESHOWWINDOW flag. comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply. Derek Lesho (1): setupapi: Add SetupGetInfDriverStoreLocationW stub. Dmitry Timoshkov (2): wineboot: Automatically create ProfileList key for current user. kernelbase: When enumerating calendars initialize optional to 0. François Gouget (20): kernel32/tests: Remove an unused assignment in the comm test. ntdll: S/4Gb/4GB/ in a comment since it refers to bytes. kernel32/tests: Fix the lcid and expected value in a codepage ok() call. user32/test: Start the AdjustWindowRectExForDpi() from a known state. urlmon/tests: Fix CoInternetCombineIUri tests on Windows 10 1607 to 1709. userenv/tests: Windows 10 1809 changed GetUserProfileDirectory(). gdi32/tests: Fix a copy/paste error in an ok() message. comctl32/tests: Trace the iteration counter when a tooltips test fails. gdi32/tests: CloseMetaFile() no longer destroys the metafile hdc. wbemprox: Fix the spelling of the free_associations() function name. rsaenh: A spelling fix in a comment. d3dx9_36: Fix the spelling of a TRACE() message. wmp/tests: Fix the spelling of an unused parameter name. input: Fix the spelling of a parameter name in a function prototype. msvcp120/tests: Tweak two ok() messages and fix their spelling. msvcrt: Fix the spelling of a couple of TRACE() messages. ole32: Fix the name of PropertyStorage_WriteWStringToStream(). ole32: Fix a spelling error in a function parameter name. dxerr8: Fix the spelling of some error messages. d3d9/tests: Fix a typo in a field name of the visual test. Gabriel Ivăncescu (4): vbscript: Add script TypeInfo stub. jscript: Fix a copy-paste mistake. jscript: Trace the pstrItemName parameter. vbscript: Trace the pstrItemName parameter. Gijs Vermeulen (8): odbccp32: Handle NULL sizeout in SQLGetInstalledDrivers. server: Add support for additional fields in set_console_output_info. kernel32: Implement GetCurrentConsoleFontEx. kernel32/tests: Add GetCurrentConsoleFontEx tests. wineconsole: Add registry support for font pitch&family. msvcrt: Avoid compiler warning. ntdll: Fix implicit declaration of mach_port_deallocate. kernel32: Remove unused function. Hans Leidekker (10): include: Add DHCP option values. mountmgr.sys: Add support for querying DHCP parameters on Linux. mountmgr.sys: Add support for querying DHCP parameters on macOS. dhcpcsvc: Implement DhcpRequestParams. mountmgr.sys: Fix the build on macOS when dbus libraries are present. winhttp: Add support for detecting the proxy config URL via DHCP. winhttp: Pass correct buffer size to WideCharToMultiByte. winhttp: Build with msvcrt. winhttp: Use wide character string literals. wininet: Add support for detecting the proxy config URL. Jeff Smith (20): msvcrt: Clean up strftime tests. msvcrt: Add additional strftime tests. msvcrt: Correct behavior of strftime formats %c %x. msvcrt: Add _Strftime tests for seconds. ucrtbase: Add _Strftime tests for seconds. ucrtbase: Add strftime format range tests. msvcrt: Range-check fields used as array indices in _Strftime. msvcrt: Correct behavior of time in strftime formats %X %c. ucrtbase: Treat year more consistently in strftime. ucrtbase: Extend range for seconds to allow for leap-second. msvcrt: Correct day-of-month range for strftime. msvcrt: Correct hour range for strftime. ucrtbase: Correct day-of-week range for strftime. msvcrt: Call invalid parameter handler for out-of-range integer. gdi32/tests: Reserve sufficient room for DIB data. ucrtbase: Expand tests for strftime format %g. ucrtbase: Use correct type for year with strftime format %g. ucrtbase: Add support for strftime format %V. ucrtbase: Consolidate strftime code for formats %g %G %V. ucrtbase: Add support for strftime format %r. John Alway (2): user32/tests: Add a test for combo resizing from smaller item height. comctl32/tests: Add a test for combo resizing from smaller item height. John Chadwick (5): wintab32: Use 64-bit math in ScaleForContext. kernel32/tests: Add test for GetSystemFirmwareTable. kernelbase: Fix GetSystemFirmwareTable regression. winex11.drv: Handle button events without axes. winex11/wintab: Fix values for lcSys* and lcOut*. João Diogo Ferreira (4): kernel32: Fix null pointer access in GetGeoInfoW(). kernel32: Add Kosovo, UN codes and change two parents in geoinfodata. kernel32/nls: Add LOCALE_IGEOID to all locales. kernel32: Handle GEOCLASS_ALL in EnumSystemGeoID(). Lauri Kenttä (1): po: Update Finnish translation. Louis Lenders (1): shell32: Add stub for SHCreateDataObject. Mathew Hodson (1): kernel32: Remove dead code. Matteo Bruni (2): d3dx9/tests: Test ApplyParameterBlock() while recording. ddraw/tests: Fix a few typos. Michael Stefaniuc (19): dmstyle/tests: Check all IDirectMusicTrack8_IsParamSupported() types. dmime: SegTrigger track supports all param types, even invalid ones. dmime: The Wave track supports two additional param types. dmime/tests: Check all IDirectMusicTrack_IsParamSupported() types. dmband/tests: Check all IDirectMusicTrack_IsParamSupported() types. dmstyle: The Chord track doesn't support the BandParam type. dmcompos/tests: Check all IDirectMusicTrack_IsParamSupported() types. dmstyle: Implement IsParamSupported() for the Audition track. dmscript: Implement unimplemented Script track methods. dmscript/tests: Add some Script track tests. dmscript: Clarify TRACE in IsParamSupported method of Script track. dmstyle: Avoid capitalized field names in IDirectMusicStyle8Impl. dmstyle: Move 3 structs where they are used and get rid of typedefs. dmstyle: Free lists when IDirectMusicStyleImpl is destroyed. dmstyle: Implement IDirectMusicStyle8_EnumMotif(). dmime: The group for a track in a segment cannot be zero. dmime/tests: Add some IDirectMusicSegment_GetTrack() tests. dmime: Print the track groups consistently in hexadecimal. dmime: At least trace the DMUS_FOURCC_TRACK_EXTRAS_CHUNK. Myah Caron (1): kernel32: Allow NtQueryDirectoryFile underfilling FileInformation. Nikolay Sivov (31): ole32/tests: Check more return values in moniker tests (Coverity). strmbase: Remove unused function. wincodecs: Remove unused function. mfreadwrite: Start media source when stream selection changes. mfreadwrite/tests: Add a test for reading from delected stream. mfreadwrite/tests: Add some missing checks (Coverity). comctl32/rebar: Fix invalid band index access. kernel32: Use RegLoadMUIStringW() from kernelbase. kernel32/tests: Add some tests for thread description API. user32/combo: Simplify rectangles sizing helper. user32/combo: Simplify child controls position update helper. user32/combo: Remove redundant argument from text height helper. mfplat: Do not make a copy when returning GUID attributes (Valgrind). mfplat: Do not make a copy when setting GUID attribute (Valgrind). mfplat/tests: Fix buffer object leak (Valgrind). ntdll: Implement thread description as information class. kernel32: Implement higher level API to access thread description. user32/combo: Remove unnecessary argument from button painting helper. user32/combo: Remove redundant argument from border painting helper. user32/combo: Force minimal item height. comctl32/combo: Simplify rectangles sizing helper. comctl32/combo: Simplify child controls position update helper. comctl32/combo: Remove redundant argument from text height helper. comctl32/combo: Remove unnecessary argument from button painting helper. comctl32/combo: Remove redundant argument from border painting helper. comctl32/combo: Force minimal item height. explorerframe: Return success from ThumbBarSetImageList(). comctl32/toolbar: Handle NULL string pointer from TBN_GETINFOTIPW. dwrite: Update to IDWriteColorGlyphRunEnumerator1. dwrite: Update to IDWriteTextLayout4. dwrite: Add support for IDWriteTextFormat3 for text layout object. Paul Gofman (16): wined3d: Factor out wined3d_context_gl_create_wgl() function. wined3d: Create a backup context if setting the pixel format failed in wined3d_context_gl_create_wgl_ctx(). d3dx9: Avoid double freeing samplers. d3dx9/tests: Add test for effect parameter block. d3dx9: Implement d3dx_effect_BeginParameterBlock(). d3dx9: Implement d3dx_effect_EndParameterBlock(). d3dx9: Implement d3dx_effect_DeleteParameterBlock(). d3dx9: Factor out set_value() function. d3dx9: Factor out free_parameter_object_data() function. wined3d: Handle degenerate viewport Z ranges. d3d9/tests: Test degenerate viewport Z ranges. d3dx9: Implement recording parameters to parameter block. d3dx9: Implement d3dx_effect_ApplyParameterBlock(). ddraw: Fix conversion of v1 viewport from v2 in d3d_viewport_GetViewport(). ddraw: Fix conversion of v2 viewport from v1 in d3d_viewport_GetViewport2(). ddraw/tests: Backport viewport v1 / v2 conversion tests for ddraw1. Piotr Caban (6): msvcrt: Fix _mbstowcs_s_l return value on truncate. msvcrt: Use correct __lc_time_data fields in strftime functions. msvcrt: Add _Strftime tests. ucrtbase: Add _Strftime tests. msvcrt: Use isspace_l in string to number conversion functions. ucrtbase: Fix hexadecimal floats parsing in strtod. Serge Gautherie (3): wbemprox: Always free 'new_path'. ole32: Improve a string format. shell32: Properly init/use icon_idx. Stefan Dösinger (4): d3d11/tests: Don't use empty initializer list. includes: Newer Visual Studio versions have isfinite and friends. include: Windows SDK C headers have snprintf. libs/port: Use MSVC intrinsics for interlocked functions. Sven Baars (7): msvcp140/tests: Test _Stat() against the actual permissions of the system directory. gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+. gdi32/tests: Remove the D3DKMTCreateDCFromMemory test with Width = 0. urlmon/tests: Expect BINDSTRING_SAMESITE_COOKIE_LEVEL on newer IE11. d3dcompiler/tests: Fix a copy-paste error. schannel: Update SECPKG_FUNCTION_TABLE to SECPKG_INTERFACE_VERSION_8. schannel/tests: Use a more reliable method for detecting a wrong SECPKG_INTERFACE_VERSION. Vijay Kiran Kamuju (8): include: Add colordlg.h header file for color dialogs. comdlg32: Use the new colordlg.h file and update the resources. include: Update error codes in raserror.h. tapi/tests: Add initial tests for lineInitialize. include: Fix definition of PHONECALLBACK in tapi.h. shcore: Add stub for GetScaleFactorForMonitor. include: Add definitions for ShellLinkDataBlocks in shlobj.h. shell32: Update the LINKHEADER based on binary file format. Vincent Povirk (1): windowscodecs: Fix tiffformat test on current Windows 10. Zebediah Figura (70): strmbase: Get rid of the unused "cs" parameter to strmbase_video_init(). strmbase: Get rid of the unused segment fields from struct strmbase_pin. d3d9: Track WINED3D_RS_ZENABLE in the primary stateblock. d3d8: Track WINED3D_RS_POINTSIZE_MIN and WINED3D_RS_ZENABLE in the primary stateblock. ddraw: Track WINED3D_RS_ZENABLE in the primary stateblock. strmbase: Rename the "mtCurrent" field of struct strmbase_pin to "mt". strmbase: Forbid (dis)connecting pins if the filter is not stopped. wineqtdecoder: Simplify disconnecting the sink's peer in qt_splitter_destroy(). quartz/videorenderer: Avoid calling IPin::ConnectionMediaType() on our own pin. strmbase: Avoid unnecessary use of IPin::ConnectedTo(). qedit/samplegrabber: Reimplement the source pin over the strmbase source. strmbase: Get rid of the BaseInputPin typedef. strmbase: Get rid of the BaseInputPinFuncTable typedef. qedit/samplegrabber: Reimplement the sink pin over the strmbase sink. d3d9: Track the viewport and scissor rect in the primary stateblock. d3d8: Track the viewport and scissor rect in the primary stateblock. quartz/tests: Add some tests for allocator negotiation on the VMR7. quartz/tests: Add some tests for VMR7 filter state. quartz/tests: Add some tests for flushing on the VMR7. quartz/tests: Add some tests for VMR9 allocator negotiation. quartz/tests: Add some tests for VMR9 filter state. quartz/tests: Add some tests for flushing on the VMR9. quartz/videorenderer: Make VideoRenderer_SendSampleData() infallible. strmbase/renderer: Exit BaseRendererImpl_Receive() immediately if flush_event was signaled. quartz/videorenderer: Get rid of filter state checks in VideoRenderer_DoRenderSample(). quartz/videorenderer: Remove some dead code. quartz/videorenderer: Wait in Receive() while paused. quartz/vmr9: Wait in Receive() while paused. quartz/tests: Fix an invalid free. quartz/tests: Relax some more timings. quartz/tests: Fix some tests on w7u. strmbase: Return a strmbase_pin pointer from the filter_get_pin() callback. strmbase: Simplify SendFurther(). strmbase/transform: Check whether the source is connected in TransformFilter_Input_Receive(). quartz/acmwrapper: Call IMemInputPin::Receive() directly. quartz/acmwrapper: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive(). ddraw: Track the viewport and scissor rect in the primary stateblock. wined3d: Export wined3d_stateblock_init_contained_states(). ddraw: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock(). d3d8: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock(). d3d9: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock(). wined3d: Get rid of wined3d_device_begin_stateblock() and wined3d_device_end_stateblock(). quartz/avidec: Call IMemInputPin::Receive() directly. quartz/avidec: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive(). winegstreamer/gsttffilter: Call IMemInputPin::Receive() directly. wineqtdecoder/qtvdecoder: Call IMemInputPin::Receive() directly. wineqtdecoder/qtvdecoder: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive(). qcap/avico: Call IMemInputPin::Receive() directly. qcap/smartteefilter: Call IMemInputPin::Receive() directly. qcap/vfwcapture: Call IMemInputPin::Receive() directly. strmbase: Get rid of BaseOutputPinImpl_Deliver(). strmbase: Move tracking of EOS state to the base renderer. d3d9: Fix a copy-paste error. d3d8: Fix a copy-paste error. wined3d: Get rid of the "recording" field from struct wined3d_device. wined3d: Pass the client stateblock state to wined3d stateblock methods. wined3d: Get rid of the "update_stateblock_state" field from struct wined3d_device. wined3d: Get rid of the "stateblock_state" field from struct wined3d_device. quartz/dsoundrender: Avoid taking the filter lock in IPin::EndOfStream(). strmbase: Get rid of BaseRendererImpl_BeginFlush(). strmbase: Get rid of BaseRendererImpl_EndFlush(). strmbase: Get rid of BaseRendererImpl_EndOfStream(). strmbase: Don't hold the streaming lock in IPin::BeginFlush(). quartz/systemclock: Support COM aggregation. quartz/dsoundrender: Move DSoundRender_create() to avoid forward declarations. quartz/dsoundrender: Delegate IReferenceClock to the system clock. strmbase: Swap the lock order in IPin::EndFlush(). kernelbase: Implement GetOverlappedResultEx(). ntoskrnl.exe: Remove a superfluous condition. ddraw: Track some more render states in the primary stateblock. Zhang Shuai (1): dssenh/tests: Add keylength tests for enhanced and schannel providers. Zhiyi Zhang (5): setupapi/tests: Fix timeout on win10 1809+. setupapi/tests: Add default device registry property tests. wine.inf: Add display and monitor classes. setupapi: Set device SPDRP_CLASS registry property in create_device(). include: Add more date formatting flags. -- Alexandre Julliard julliard@winehq.org