The Wine development release 4.6 is now available. What's new in this release (see below for details): - Beginnings of a Vulkan backend for WineD3D. - Support for loading Mono libraries from a shared location. - Libwine.dll no longer needed when using Wine DLLs on Windows. - Regression tests compiled directly to PE format. - Support for the Split Button Common Control. - Complex structs support in the typelib marshaller. - Video capture ported to Video4Linux version 2. - Initial version of the Debug Engine DLL. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/4.x/wine-4.6.tar.xz http://mirrors.ibiblio.org/wine/source/4.x/wine-4.6.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.6 (total 50): 8036 The Spirit Engine's save/load functionality does not work 14415 Monkey Island 3 demo slow 15232 Button in simple OpenGL application gets overdrawn 18099 No keyboard response in Super Mario 3 remake 20082 SIV (System Information Viewer) v4.00 SIVDRIVER crashes (IRP_MJ_CREATE and IRP_MJ_CLOSE dispatch routines not called) 20123 Addition of Windows Vista/7 Split Button Support 21161 Still Life 2 Demo: Black and broken textures 21403 Shiva Editor/Evochron: Mercenary refuse to run with built-in dinput/dinput8.dll 24429 fifaconfig.exe: save function don`t work when Wine uses Mono 2.6 instead of dotnet20 27629 Pride of Nations Demo: crashes before entering game 28140 Theatre of War 3: Korea demo 1.2.0 crashes on startup (hook engine can't cope with GOT/PIC register load code at API entry, needs DECLSPEC_HOTPATCH for kernel32.SizeofResource and kernel32.FindClose) 32086 LBA2 black screen above diagonal from bottom left to upper right 33845 Warframe (Steam) updater fails to replace 'Launcher.exe', reports sharing violation 33904 Face Noir demo crashes on start without native d3dx9_36 ('D3DXLoadSkinMeshFromXof' must return 'ID3DXSkinInfo' interface even with no skinning info present) 34237 Jenkins 1.526 service (.NET 2.0 app) fails to install with Wine-Mono 37784 wine-mono does not appear in "wine uninstaller" list on a 64-bit prefix 38307 Last Half of Darkness: Beyond the Spirit's Eye crashes at start 40544 Ultimate Unwrap Pro v3.50.14 x64 demo: Fails to run 42103 VSCode.exe v1.8.1 crash 42572 Older directx games (Revenant) have black character models 43270 Exact Audio Copy does not detect plugins 43356 Mass Effect (1) Steam freezes since Steam Update from 8th of July 2017 43411 Older directx games (The Sims, Revenant) - Screen not redrawing properly (needs Set/GetClipStatus implementation) 45325 Ubisoft detection tool dont recognize correctly cpu 45844 Battleye's BEDaisy.sys requires correct KeGetCurrentThread implementation 45854 Magic the Gathering demo graphical glitch with virtual desktop 45878 Aruba digital signature crashes on missing hid.dll.HidD_FlushQueue 46019 Multiple NSIS 2.x based installers fail due to invalid module handle passed to 'kernel32.FreeLibrary', causing code dll unmapped as data dll (Adobe Digital Editions 4.5.x, ConceptDraw Office 4) 46115 Cursor in unity games moving down and to the right one pixel on any mouse interaction 46187 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to unhandled trap_no 0 (write watch access causes SIGSEGV) 46189 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to ntdll 'set_cpu_context' not restoring Thumb mode during return from exception handling 46205 Multiple kernel drivers need implementation of 'ntoskrnl.ObReferenceObjectByHandle' for 'PsThreadType' (PETHREAD) 46316 Hauppauge Capture version 36187 crashes during install 46711 Since 3.3 other HID devices than Joysticks not supported anymore 46713 School days HQ occasional divide by zero 46800 LINE (Powered by Naver): LINE v5.12.XXX series crashes after few seconds 46804 StarForce v3 kernel driver service 'sfhlp02' crashes in driver entry point due to 'ntoskrnl.exe.IoCreateSynchronizationEvent' stub 46829 Wizard101 crashes after playing the game after awhile. 46863 If prefix contains "windows" drive information not available in 64-bit prefix 46898 SIMATIC WinCC V15.1 Runtime installer fails in Windows 7 mode, reporting "The Microsoft security update KB3033929 was not found on your system." ('ksecdd.sys' missing with version resource) 46902 SIMATIC WinCC V15.1 Runtime installer: S7Inst64.exe sub-installer crashes on unimplemented function msvcr110.dll._wcsnset_s 46903 SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext 46917 d3d8/9 visual tests fail on i965 46923 X-Tension, X-Beyond The Frontier: Dynamic light breaks after opening up a menu 46928 Atelier Firis config tool doesn't show up when launched through Steam 46939 propvarutil.h: missing extern "C" 46954 Relay trace causes crash in wine_dbgstr_wn helper due to invalid string pointer access 46968 ksecdd.sys is not copied when creating/updating WINEPREFIX (SIMATIC WinCC V15.1 Runtime installer) 46979 Winecfg hangs (winedevice.exe 100% CPU usage) when removing an assigned drive 46991 debug.h warning: "conversion from 'WCHAR' to 'char', possible loss of data" on line 293 ---------------------------------------------------------------- Changes since 4.5: Akihiro Sagawa (4): gdi32: Implement GetCharWidthInfo(). gdi32/tests: Add tests for GetCharWidthInfo(). user32/tests: Use calculated EC_USEFONTINFO margins in the CJK case. user32: Implement EC_USEFONTINFO margins in the CJK case. Alexandre Julliard (71): notepad: Use C runtime wchar functions instead of wine/unicode.h. reg: Use C runtime wchar functions instead of wine/unicode.h. regedit: Use C runtime wchar functions instead of wine/unicode.h. taskmgr: Use C runtime wchar functions instead of wine/unicode.h. wordpad: Use C runtime wchar functions instead of wine/unicode.h. msvcp: Use C runtime wchar functions instead of wine/unicode.h. include: Disallow using unicode.h when building against msvcrt. libwine: Move string functions to libwine_port. crtdll: Sort source file list. msvcrt: Add MSVCRT_ prefix to the spawn() functions. msvcrt: Export an import symbol for __acrt_iob_func() for compatibility with Mingw. msvcp: Define _vsnprintf(). libport: Don't hide the casemap and wctype tables. ntdll: Use static debug info before initialization is done. include: Make wine_dbgstr_an()/wine_dbgstr_wn() into inline functions. include: Make wine_dbg_sprintf() into an inline function. include: Make wine_dbg_printf() into an inline function. ntdll: Export __wine_dbg_get_channel_flags(). include: Make wine_dbg_log() into an inline function. ntdll: Remove no longer used debug functions. ntdll: Store offsets instead of pointers in the debug_info structure. winecrt0: Add a fallback implementation of __wine_dbg_strdup(). winecrt0: Add a fallback implementation of __wine_dbg_output(). winecrt0: Add a fallback implementation of __wine_dbg_get_channel_flags(). winecrt0: Add a fallback implementation of __wine_dbg_header(). reg: Add missing null to terminate a string. libport: Add stubs for libwine functions that don't make sense on Windows. makefiles: Don't use libwine for Windows builds. libwine: Remove some conditional code that was only needed for Windows. winebuild: Avoid using mmap(). winedump: Avoid using mmap(). configure: Remove some obsolete checks. configure: Also build msvcrt for Windows. configure: Add --with-mingw option and print a notice when not found. ntdll: Define IsBadStringPtr to handle exceptions in debug traces. kernel32: Validate handle before freeing a LOAD_LIBRARY_AS_DATAFILE module. msvcrt: Don't export _matherr(). winegcc: Use Wine's msvcrt for Windows builds. winmm/tests: Fix printf format warnings for the Windows build. winecrt0: Avoid using wine/port.h. makefiles: Don't link against wine_port when using msvcrt. configure: Check for supported warning flags also for the cross-compiler. wine.inf: Remove invalid comma. configure: Use CROSSCFLAGS when testing the cross-compiler. d3dxof: Avoid using DPRINTF(). krnl386.exe: Avoid using DPRINTF(). ntdll: Avoid using DPRINTF(). wineps: Avoid using DPRINTF(). include: Get rid of the DPRINTF() macro. msvcrt: Don't set invalid std handles with kernel32. makefiles: Add a helper to generate a winegcc command line. makefiles: Default to building test resource dlls as PE. makefiles: Default to building test modules as PE. makefiles: Store resource files in a separate array. makefiles: Unify APPMODE and EXTRADLLFLAGS variables. msvcp: Rename clog variable to avoid conflict with builtin function. msvcp: Remove some redundant clearing of buffers. msvcrt/tests: Use existing function pointers to call functions. msvcrt/tests: Add some function pointers to bypass gcc builtin functions. include: Add cast to avoid a compiler warning on MSVC. msvcp60: Rename clog variable to avoid conflict with builtin function. msvcirt: Rename clog variable to avoid conflict with builtin function. include: Default to the standards-compliant version of swprintf(). include: Add wcsicmp() inline wrapper. msvcrt/tests: Add a function pointer to bypass builtin printf(). ntoskrnl.exe/tests: Avoid standard C functions in kernel drivers. wmc: Avoid using wine/unicode.h on Windows. wrc: Avoid using wine/unicode.h on Windows. sfnt2fon: Avoid using wine/unicode.h on Windows. makefiles: Stop installing wine/unicode.h. configure: Set wine_makedep variable outside of the cache check. Alistair Leslie-Hughes (8): uianimation: Add DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer stubs. include: Wrap D3DX10 functions in extern "C". winecrt0: Correct compile error with older gcc. hid: Implement HidD_FlushQueue(). winejoystick.drv: Remove support for linux kernels older than 2.2. winex11: Implement PK_CHANGE for wintab. wintab32: Improve tracing of LOGCONTEXT. wintab32/tests: Add WTInfoA tests. André Hentschel (5): ntdll: Add stub for RtlInstallFunctionTableCallback on ARM/ARM64. ntdll: Adjust PC according to THUMB/ARM flag. kernel32: Add forward for RtlInstallFunctionTableCallback on ARM/ARM64. include: Fix vararg standard call types for ARM. ntdll: Translate signal to trap when trap code is 0 on ARM. Aric Stewart (1): winebus.sys: Allow mapping of SDL controllers. Aurimas Fišeras (2): po: Update Lithuanian translation. po: Update Lithuanian translation. Austin English (2): propvarutil.h: Add extern "C" if __cplusplus is defined. ksecdd.sys: Add stub driver. Christian Costa (1): d3dx9/tests: Add tests for 32 bpp BMP with alpha. Detlef Riekenberg (4): ntdll/tests: Fix failures in the file tests. combase/tests: Remove a no longer useful test. iphlpapi/tests: Remove a test with a wrong assumption. kernel32/tests: Fix FormatMessage test failures on recent win10 (ERROR_NO_WORK_DONE). Fabian Maurer (1): sxs: Implement SxsLookupClrGuid and add tests. François Gouget (3): imagehlp/tests: Add a trailing '\n' to some ok() calls. urlmon/tests: Minor spelling tweak in a comment. Disable multithreaded DirectX tests if WINETEST_NO_MT_D3D is set. Gabriel Ivăncescu (17): shell32/autocomplete: Forward to the original listbox proc outside the switch. shell32/autocomplete: Make the dropdown listbox a proper pop-up window. shell32/autocomplete: Encapsulate the listbox into an owner window. shell32/autocomplete: Use an owner-drawn listbox for the dropdown. shell32/autocomplete: Use LBS_NODATA for the dropdown listbox. comctl32/button: Center align split buttons' text by default. comctl32/button: Implement BCM_SETDROPDOWNSTATE. comctl32/button: Implement BCM_SETSPLITINFO. comctl32/button: Implement BCM_GETSPLITINFO. comctl32/tests: Add tests for BCM_SETSPLITINFO and BCM_GETSPLITINFO. comctl32/button: Implement split buttons. comctl32/button: Implement themed split buttons. comctl32/tests: Add tests for BCN_DROPDOWN notification. comctl32/button: Implement BCM_GETIDEALSIZE for split buttons. comctl32/tests: Also test for split buttons when testing BCM_GETIDEALSIZE. comctl32/button: Delay calling get_button_text until it is needed to prevent a leak. comctl32/button: Use WM_GETTEXTLENGTH to see if the button has any text. Gijs Vermeulen (5): msvcrt/tests: Add missing return value check. msvcrt: Implement _wcsnset_s. kernel32: Add DECLSPEC_HOTPATCH to SizeofResource(). mssign32: Add SignerSignEx stub. mssign32: Implement SignerFreeSignerContext. Henri Verbeet (10): wined3d: Introduce a Vulkan based adapter implementation. d3d10core/tests: Introduce and use check_readback_data_u16. d3d10core/tests: Introduce and use check_readback_data_u24. d3d11/tests: Introduce and use check_readback_data_u16. d3d11/tests: Introduce and use check_readback_data_u24. wined3d: Get rid of wined3d_device_init_gdi(). wined3d: Get rid of wined3d_device_uninit_gdi(). ddraw: Simplify ddraw_destroy_swapchain(). wined3d: Explicitly create the implicit swapchain. dxgi: Slightly simplify d3d11_swapchain_init(). Huw D. M. Davies (2): wineps: Include the meta region in the clip region. configure: Use a separate cache variable for the cross-compiler flags. Isira Seneviratne (6): po: Update Sinhala translation. progman: Add missing apostrophe to IDS_SAVE_GROUP_AS_s string. cmd: Correct capitalization of "Windows Explorer". start: Correct capitalization of "Windows Explorer". kernel32/winerror: Correct capitalization of "Windows" in ERROR_OLD_WIN_VERSION string. po: Update Sinhala translation. Jacek Caban (14): mfobjects.idl: Add missing MFVideoTransferMatrix entries. mshtml.idl: Add some SVG interfaces declaration. server: Use generic kernel object list to store client device pointer. ntoskrnl.exe: Implement IoCreateSynchronizationEvent. ntoskrnl.exe: Don't add device to the list if IoCreateDevice fails. server: Allow creating thread kernel objects. ntoskrnl.exe: Implement thread object constructor. ntoskrnl.exe: Implement KeGetCurrentThread. ntoskrnl.exe: Reimplement PsGetCurrentProcessId and PsGetCurrentThreadId on top of KeGetCurrentThread. server: Return client thread object pointer from get_next_device_request if available. mshtml.idl: Add more SVG interfaces. jscript: Support type conversion to VT_UI2. ntoskrnl.exe: Use proper device handle in DevicePropertyPhysicalDeviceObjectName implementation. ntoskrnl.exe: Open thread with THREAD_QUERY_INFORMATION access in KeGetCurrentThread. Józef Kucia (22): wined3d: Initialise Vulkan for adapters. wined3d: Add support for USE_WIN32_VULKAN. wined3d: Pass application info to Vulkan. wined3d: Use Vulkan physical device properties to fill GPU description. wined3d: Introduce support for Vulkan formats. ddraw: Avoid passing invalid device type to wined3d. wined3d: Map GL_EXT_texture_swizzle to GL_ARB_texture_swizzle. wined3d: Handle GL_EXT_vertex_array_bgra directly in gl_extension_map. wined3d: Implement adapter_vk_get_wined3d_caps(). wined3d: Initialise driver and device UUID for Vulkan adapters. wined3d: Add support for Vulkan instance extensions. d3d11/tests: Use check_readback_data_color() in test_clear_buffer_unordered_access_view(). d3d11/tests: Reduce output produced by test_clear_buffer_unordered_access_view(). winevulkan: Generate conversion function for VkInstanceCreateInfo structure extensions. winevulkan: Generate conversion function for VkDeviceCreateInfo structure extensions. winevulkan: Enable VK_AMD_memory_overallocation_behavior. winevulkan: Enable VK_EXT_memory_priority. winevulkan: Enable VK_EXT_external_memory_host. winevulkan: Enable VK_KHR_shader_float16_int8. winevulkan: Enable VK_EXT_ycbcr_image_arrays. winevulkan: Enable VK_NV_cooperative_matrix. winevulkan: Enable VK_NV_dedicated_allocation_image_aliasing. Lauri Kenttä (1): po: Update Finnish translation. Mark Jansen (1): wintrust: Verify image hash in WinVerifyTrust. Martin Storsjo (4): configure: Use -Werror=unknown-warning-option in later cross tests. winebuild: Print the nm command in verbose mode. msvcrt: Implement _get_environ and _get_wenviron. msvcrt: Implement the remquo family of functions. Matteo Bruni (2): d3dx9/tests: Avoid a test failure on Vista testbot. d3dx9: Fix argument type in convert_dib_to_bmp(). Micah N Gorrell (1): winex11.drv: Recreate gl_drawable for top-level windows as non-top level when clipping for child windows is required. Michael Müller (3): l3codeca.acm: Check input format in MPEG3_StreamOpen. taskmgr: Use system font instead of special bitmap font. server: Correctly validate SID length in sd_is_valid. Michael Stefaniuc (5): user32: Avoid using the comma operator. dxdiagn: Remove useless cast to self. msg711.acm: Remove useless casts to self. wineps.drv: Avoid using the comma operator. gdi32/tests: Avoid the comma operator. Nikolay Sivov (35): mfplat: Partially implement MFCreateWaveFormatExFromMFMediaType() for PCM format. mferror: Add more media source and stream error codes. mfplat: Add symbolic names for event id tracing. mfreadwrite: Partially implement setting output media types for reader. mfreadwrite: Add a trace for async reader mode. mfplat: Add per-method helpers for attributes, use them for media type. mfplat: Use attributes helpers for stream descriptor. mfplat: Use attributes helpers for presentation descriptor. mfplat: Use attributes helpers for samples. mfplat: Trace known format ids in MFCalculateImageSize(). mfplat: Use attributes helpers for events. include: Add IDebugClient interface definition. dbgeng: Add IDebugClient stub. dbgeng: Add IDebugDataSpaces stub. dbgeng: Add IDebugSymbols stub. include: Add IDebugControl2 definition. dbgeng: Add IDebugControl2 stub. mferror: Consistently format error messages. mfplat: Fix early return from GetString() (Coverity). mfplat: Output warning for unexpected result object passed for periodic callback (Coverity). mfplat/tests: Add some return value checks (Coverity). mfreadwrite/tests: Add missing return value check (Coverity). mfreadwrite/tests: Remove some null checks. include: Add more audio format tags. dbgeng: Implement engine options access methods. dbgeng: Add IDebugSymbols3 definition. mfreadwrite: Keep media stream id for event matching. mfreadwrite: Handle MENewStream event. mfreadwrite/tests: Add some tests for source reader. mfreadwrite: Set url hint for WAVE audio streams. mfreadwrite/tests: Remove broken test. include: Add more dbgeng interface definitions. dbgeng: Keep a list of processes to attach to. dbgeng: Keep event callbacks pointer. dbgeng: Update stub to IDebugSymbols3. Paul Gofman (10): ddraw: Fix ddraw[1-4] light activation / deactivation. ddraw: Port light delete / add test for ddraw2. ddraw: Port light delete / add test for ddraw1. d3d9: Keep previous stream source stride and offset only when setting NULL buffer. wined3d: Store and use stream offset in state block. d3d8: Keep previous stream source stride only when setting NULL buffer. kernel32: Add DECLSPEC_HOTPATCH to FindClose(). wined3d: Use ARB_shader_bit_encoding for storing local constants when available. ddraw: Improve d3d_device7_GetClipStatus() stub. xaudio2_7: Also preserve %ebx in call_on_voice_processing_pass_start(). Piotr Caban (33): msvcr110: Fix __crtGetShowWindowMode implementation. version: Don't use strncasecmp. ver.dll16: Don't use strncasecmp. user.exe16: Don't use strncasecmp. tapi32: Don't use strncasecmp. shell.dll16: Don't use strncasecmp. ntoskrnl.exe: Don't use strcasecmp. msvideo.dll16: Don't use strncasecmp. msvfw32: Don't use strncasecmp. mshtml: Don't use strncasecmp. mscoree: Don't use strncasecmp. krnl386.exe16: Don't use strncasecmp. krnl386.exe16: Get rid of NE_str(n)casecmp helper. iphlpapi: Don't use strncasecmp. hhctrl.ocx: Don't use strncasecmp. crypt32: Don't use strncasecmp. ws2_32: Don't use strcasecmp. wininet: Don't use strcasecmp. winex11.drv: Don't use strcasecmp. winspool.drv: Don't use strcasecmp. wined3d: Don't use strcasecmp. d3dxof: Don't use strncasecmp. shell32: Don't use strcasecmp. shlwapi: Fix PathIsContentTypeA implementation. msi: Use case sensitive compare in handle_msi_break. wineps.drv: Don't use strcasecmp. d3d11: Don't use strcasecmp. inetcomm: Don't use strcasecmp. dinput: Don't use strcasecmp. dbghelp: Don't use strcasecmp. gdi32: Don't use strcasecmp. d3dx9: Don't use strcasecmp. d3dcompiler: Don't use strcasecmp. Sebastian Lackner (4): shlwapi: SHMapHandle should not set error when NULL is passed as hShared. dinput: Do not wait for hook thread startup in IDirectInput8::Initialize. dinput: Avoid deadlock when CS are acquired in different order. user32: Implement CWF_CREATE_ONLY flag for CreateWindowStation. Sergio Gómez Del Real (1): riched20: Handle efficiently caret creation/destruction. Thomas J. Moore (1): ntdll: Also try to stat() the drive root. Vijay Kiran Kamuju (4): uianimation: Add stub dll. d3dx9: Generate ID3DXSkinInfo in D3DXLoadSkinMeshFromXof() when needed. taskmgr: Use StrFormatKBSizeW/StrFormatByteSizeW to show memory usage. include: Add missing tags and defines in mmreg.h. Vincent Povirk (7): uninstaller: Re-exec as 64-bit in wow64. mscoree: Update Wine Mono to 4.8.1. mscoree: Check for mono runtime path in registry. mscoree: Search shared addon locations for mono runtime. mscoree: Update install process to account for shared installs. mscoree: Don't return from _CorExeMain. mscoree: Don't use a shared mono install with no drive letter. Zebediah Figura (92): quartz/tests: Clean up tests for video renderer filter interfaces. quartz/tests: Add some tests for IBaseFilter_EnumPins() on the video renderer. quartz/tests: Add some tests for IBaseFilter_FindPin() on the video renderer. quartz/tests: Add some tests for querying video renderer pin information. quartz/tests: Add some tests for video renderer pin interfaces. setupapi: Also check devices not in the set when using DICD_GENERATE_ID. hid: Fix length argument to GetOverlappedResult(). winebus.sys: Retrieve hidraw device strings from the parent USB device. rpcrt4: Detect enums and aliases in get_base_type(). rpcrt4: Factor out type_pointer_is_iface(). rpcrt4: Handle TKIND_ALIAS in more places. rpcrt4: Abort if an interface is passed directly to write_type_tfs(). rpcrt4: Improve struct type detection. rpcrt4: Write parameters for fixed structs. rpcrt4: Write type format strings for complex structs. oleaut32/tests: Test marshalling of complex structs. rpcrt4: Properly handle complex arrays in the typelib marshaller. quartz/tests: Add some tests for video renderer media types. quartz/tests: Link to strmiids and uuid. quartz/tests: Add tests for IVMRFilterConfig on the VMR7. quartz/vmr9: Avoid unloading d3d9 while holding d3d9 objects. quartz/vmr9: Implement IVMRFilterConfig::SetRenderingMode(). quartz/tests: Add tests for VMR7 filter interfaces. quartz/tests: Add tests for IBaseFilter::EnumPins() on the VMR7. quartz/tests: Add tests for IBaseFilter::FindPin() on the VMR7 filter. quartz/tests: Add tests for querying VMR7 pin information. quartz/tests: Add tests for VMR7 pin interfaces. d3d9/tests: Add more tests for calling stateblock methods while recording. d3d9: Forbid applying a stateblock while recording. d3d9: Forbid capturing a stateblock while recording. d3d9: Forbid creating a stateblock while recording. quartz/tests: Add tests for IVMRFilterConfig9 on the VMR9 filter. quartz/tests: Add tests for VMR9 filter interfaces. quartz/tests: Add tests for IBaseFilter::EnumPins() on the VMR9 filter. quartz/tests: Add tests for IBaseFilter::FindPin() on the VMR9 filter. quartz/tests: Add tests for querying VMR9 pin information. d3d8/tests: Add more tests for calling stateblock methods while recording. d3d8: Forbid applying a stateblock while recording. d3d8: Forbid capturing a stateblock while recording. d3d8: Forbid creating a stateblock while recording. quartz/tests: Fix some VMR9 test failures. quartz/tests: Add tests for VMR9 pin interfaces. ddraw/tests: Add some tests for calling stateblock methods while recording. ddraw: Return D3DERR_INBEGINSTATEBLOCK when BeginStateBlock() is called while recording. ddraw: Return D3DERR_NOTINBEGINSTATEBLOCK when EndStateBlock() is called while not recording. ddraw: Forbid applying a stateblock while recording. ddraw: Forbid capturing a stateblock while recording. ddraw: Forbid creating a stateblock while recording. quartz/systemclock: Avoid a use-after-free (Coverity). ntdll: Avoid crashing while tracing parameters to NtCreateNamedPipeFile(). qcap/tests: Add some tests for audio capture filter interfaces. qcap/tests: Add some tests for IPersistPropertyBag on the audio capture filter. qcap/tests: Add some tests for AVI compressor filter interfaces. qcap/tests: Add some tests for IBaseFilter::EnumPins() on the AVI compressor. qcap/avico: Fix pin IDs. qcap/tests: Add some tests for IBaseFilter::FindPin() on the AVI compressor. qcap/tests: Add some tests for querying AVI compressor pin information. hid: Implement HidD_GetIndexedString(). devenum: Return S_FALSE from CreateClassEnumerator() if no devices exist. qcap/tests: Add some tests for AVI compressor pin interfaces. qcap/tests: Add some tests for IPersistPropertyBag on the AVI compressor. qcap/avico: Initialize variant type to VT_BSTR in AVICompressorPropertyBag_Load(). qcap/tests: Get rid of test_AviCo(). qcap/tests: Add some tests for AVI compressor media types. ntoskrnl.exe: Implement ExInitializeResourceLite(). ntoskrnl.exe: Implement ExAcquireResourceExclusiveLite(). ntoskrnl.exe: Implement ExAcquireResourceSharedLite(). ntoskrnl.exe: Implement ExAcquireSharedStarveExclusive(). ntoskrnl.exe: Implement ExAcquireSharedWaitForExclusive(). ntoskrnl.exe: Implement ExReleaseResourceForThreadLite(). ntoskrnl.exe: Implement ExReleaseResourceLite(). ntoskrnl.exe: Implement ExDeleteResourceLite(). qcap: Port to libv4l2. qcap: Require libv4l2 to perform pixel format translation. qcap: Get rid of no longer used YUV to RGB conversion routines. ntoskrnl.exe: Implement ExGetExclusiveWaiterCount(). ntoskrnl.exe: Implement ExGetSharedWaiterCount(). ntoskrnl.exe: Implement ExIsResourceAcquiredExclusiveLite(). ntoskrnl.exe: Implement ExIsResourceAcquiredSharedLite(). ntoskrnl.exe/tests: Add tests for ERESOURCE functions. qcap: Get rid of V4l_Unprepare(). qcap: Get rid of V4l_Prepare(). qcap: Get rid of V4l_GetFrame(). qcap: Get rid of an unnecessary allocation and copy. qcap: Make the image buffer a local variable. winex11: Resize the screen when changing CRTC modes. qcap/tests: Remove some unnecessary workarounds. qcap/tests: Add some tests for smart tee filter interfaces. qcap/tests: Add some more tests for IBaseFilter::EnumPins() on the smart tee filter. qcap/tests: Add some tests for IBaseFilter::FindPin() on the smart tee filter. qcap/tests: Add more tests for querying smart tee pin information. qcap/tests: Add more tests for smart tee pin interfaces. Zhiyi Zhang (5): dinput: Fix a possible deadlock at exit. ntdll/tests: Test readonly file access. kernel32/tests: Test readonly file access. kernel32/tests: Add more tests for ReplaceFileA(). kernel32: Open replaced file without GENERIC_WRITE in ReplaceFileW(). -- Alexandre Julliard julliard@winehq.org