The Wine development release 7.8 is now available. What's new in this release: - X11 and OSS drivers converted to PE. - WoW64 support in the sound drivers. - Number formatting using the new locale database. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/7.x/wine-7.8.tar.xz http://mirrors.ibiblio.org/wine/source/7.x/wine-7.8.tar.xz Binary packages for various distributions will be available from: https://www.winehq.org/download You will find documentation on https://www.winehq.org/documentation You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 7.8 (total 37): 18635 Adobe Lightroom 2.3: Menu bar is hidden 43208 Assassin's Creed IV - Black Flag Hangs tightly 43995 Uplay - Assassin's Creed 4 Black Flag won't start 45388 user32:edit fails on Traditional Chinese and Korean locales 48045 comdlg32:filedlg crashes or times out randomly 48048 urlmon:protocol - The ftp test fails on Vista to Windows 8 51181 d3d10core:d3d10core fails systematically on AMD GPUs 51407 kernel32:time, msvcrt:time and shlwapi:ordinal fail in Wine because Hindi is Unicode-only 51460 oleaut32:vartest has a todo because Wine uses an outdated currency symbol for Swiss Francs 51619 advapi32:registry fails in Wine because French & German timezone name translations are too long 52079 oleacc:main crashes randomly on Windows 10 1709+ 52149 user32:dialog fails in test_DialogBoxParam() on current Windows 10 21H1 52362 Powershell Core 7 installer hangs forever on Chinese locale (LC_ALL=zh_CN.UTF-8) 52554 Serbian locale mapping cause crash on multiple installshield wizards 52559 kernel32:resource times out since 2021-12-29 at two win10 testbot systems. 52684 Command and Conquer Generals (and C&C Zero Hour) have no ground textures 52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll 52743 cannot write to _fdopen'ed stdout when running in docker 52771 Wine console creation breaks comctl32:button, dinput:keyboard, user32:dialog, user32:input, user32:monitor and user32:win 52828 Incorrect instruments in MIDI playback over ALSA 52845 Recent versions of chromium have broken sandbox again 52847 GetACP() returns CP_UTF8 on some debian VM 52856 kernel32:process fails when Wine has no Unix terminal 52857 msvcp140:msvcp140 fails in Windows 8.1 on the cw-rx460 machine 52858 kernel32:file fails in Windows 8.1 on the cw-rx460 machine 52861 kernel32:locale fails on Windows 10 1709 52864 windows.media.speech:speech has a refcount failure on all Windows 10 versions 52865 windows.media.speech:speech has a Windows 10 1507-specific failure 52866 vbscript:run fails in Wine in Arabic and Hebrew 52867 Multiple applications crash because of ResolveLocaleName stub (dnSpy, dotnet-sdk-5.0.100-win-x64, Metatogger 7.2) 52869 kernel32:locale - test_CompareStringA() fails on Windows with a UTF-8 code page 52871 oleaut32:vartest has failures in Wine in the Arabic and Hebrew locales 52887 Get-Computerinfo from NoPowershell crashes 52904 kernel32:locale breaks oleaut32:varformat on Wine in the French locale 52922 The Evil Within crashes before entering the main menu using Vulkan renderer 52924 Guilty Gear XX #Reload: black screen since wine 5.0 52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage ---------------------------------------------------------------- Changes since 7.7: Alexandre Julliard (23): make_unicode: Generate the character mapping tables in locale.nls. kernelbase: Use the mapping tables from locale.nls in LCMapStringEx(). kernelbase: Use the digit table from locale.nls in FoldStringW(). server: Store the full group attributes. server: Return the full token group for TokenLogonSid. kernelbase: Really skip alternate sorts in EnumUILanguagesW(). kernelbase: Add support for storing LOCALE_SINTLSYMBOL in the registry. kernel32/tests: Mark a failing test as broken. winecrt0: Avoid A->W conversion in initialization code. user32/tests: Use the standard INPUT type definition. kernelbase: Implement ResolveLocaleName(). sfc_os: Stub SfpVerifyFile(). oleaut32: Use the locale leading zero flag instead of hardcoding it. shlwapi: Fix copy/paste typo in number format initialization. kernel32: Reimplement GetNumberFormatA(). kernel32: Reimplement GetCurrencyFormatA(). kernelbase: Reimplement GetNumberFormatW/Ex() using get_locale_info(). kernelbase: Reimplement GetCurrencyFormatW/Ex() using get_locale_info(). kernelbase: Reimplement GetDateFormatW/Ex() using get_locale_info(). kernelbase: Reimplement GetTimeFormatW/Ex() using get_locale_info(). kernelbase: Reimplement GetDateFormatA(). kernelbase: Reimplement GetTimeFormatA(). nls: Update sort keys to NLS version 6.3.5. Alistair Leslie-Hughes (1): msado15: Implement _Recordset get_EditMode. Angelo Haller (3): comctl32/tests: Add hold_key and release_key functions. comctl32/tests: Add multi select tests for ownerdata listviews. comctl32/tests: Add change sequence for ownerdata listviews. Anton Baskanov (26): quartz/tests: Add tests for MPEG audio decoder interfaces. quartz/tests: Add tests for MPEG audio decoder aggregation. quartz/tests: Add tests for MPEG audio decoder unconnected filter state change. quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG audio decoder. quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG audio decoder. quartz/tests: Add tests for querying MPEG audio decoder pin info. winegstreamer: Add a skeleton MPEG audio decoder filter. quartz/tests: Add tests for MPEG audio decoder IEnumMediaTypes. quartz/tests: Add tests for MPEG audio decoder accepted media types. winegstreamer: Reject incompatible input media types in MPEG audio decoder. quartz/tests: Add tests for MPEG audio decoder sink connection. winegstreamer: Reject incompatible output types in MPEG audio decoder. quartz/tests: Add tests for MPEG audio decoder sink allocator. quartz/tests: Add tests for MPEG audio decoder output media type enumeration. winegstreamer: Implement output media type enumeration in MPEG audio decoder. winegstreamer: Set allocator properties for MPEG audio decoder sink. quartz/tests: Add tests for MPEG audio decoder source allocator. quartz/tests: Add tests for MPEG audio decoder source connection. winegstreamer: Commit allocator on pause in MPEG audio decoder. winegstreamer: Convert MPEG-1 audio to a major type. winegstreamer: Support MPEG-1 audio in wg_transform. quartz/tests: Don't fail tests when MPEG audio decoder creation fails. winegstreamer: Check whether transform is supported when creating MPEG audio decoder. winegstreamer: Create wg_transform in MPEG audio decoder. quartz/tests: Add tests for MPEG audio decoder sample processing. winegstreamer: Implement Receive() for MPEG audio decoder sink. Biswapriyo Nath (3): include: Use nested namespace declaration in windows.foundation.idl. include: Add Windows.Foundation.MemoryBuffer runtimeclass declaration. include: Add Windows.Storage.Streams.Buffer runtimeclass declaration. Brendan Shanks (2): wrc: Support function macros where varargs are the only argument. include: Add WINE_ALLOC_SIZE attribute to heap_calloc(). Connor McAdams (5): oleacc/tests: Add tests for IIS_IsOleaccProxy service on default accessible objects. oleacc: Add IServiceProvider interface to default accessible objects. uiautomationcore: Implement UiaProviderFromIAccessible. uiautomationcore/tests: Add tests for UiaProviderFromIAccessible. uiautomationcore: Make hwnd_host_provider_vtbl static const. Dmitry Timoshkov (1): ieframe: Initialize new history log entry. Drew Ronneberg (13): shell32: Remove obsolete -D_SHELL32_ from Makefile.in. crypt32: Remove obsolete -D_CRYPT32_ from Makefile.in. comctl32: Remove obsolete -D_COMCTL32_ from Makefile.in. shdocvw: Remove obsolete -D_SHDOCVW_ from Makefile.in. winspool.drv: Remove obsolete -D_SPOOL32_ from Makefile.in. netapi32: Remove obsolete -D_SVRAPI_ from Makefile.in. rpcrt4: Remove obsolete -D_RPCRT4_ from Makefile.in. user32: Remove obsolete -D_WINABLE_ from Makefile.in. oleaut32: Remove obsolete -D_OLEAUT32_ from Makefile.in. urlmon: Remove obsolete -D_URLMON_ from Makefile.in. winmm: Remove obsolete -D_WINMM_ from Makefile.in. shlwapi: Remove obsolete -D_SHLWAPI_ from Makefile.in. setupapi: Remove obsolete -D_SETUPAPI_ from Makefile.in. Eric Pouech (36): include: Don't use long types in nsi.h. nsi/tests: Enable compilation with long types. nsiproxy: Don't use long types in internal structure / helpers. nsiproxy: Don't use long types for local types. nsiproxy: Add intermediate variables for sscanf on ULONG. nsiproxy: Enable compilation with long types. d3d11/tests: Build without -DWINE_NO_LONG_TYPES. d3d11: Build without -DWINE_NO_LONG_TYPES. d3dx9/effect: Return the read value from read_dword(). d3dx9: Use correct integral type. winedbg: Correctly read register values through dbg_lvalue structure. attrib: Use OEM code page for output. chcp: Use OEM code page for output. fsutil: Use OEM code page for output. hostname: Use OEM code page for output. icinfo: Use OEM code page for output. ipconfig: Use OEM code page for output. net: Use OEM code page for output. netstat: Use OEM code page for output. regedit: Use OEM code page for output. regsvr32: Use OEM code page for output. start: Use OEM code page for output. taskkill: Use OEM code page for output. uninstaller: Use OEM code page for output. whoami: Use OEM code page for output. wscript: Use OEM code page for output. xcopy: Use OEM code page for output. include/msvcrt: Redefine towlower* & towupper* with wint_t types. dbghelp: Properly fail on PDB files generated by MSVC compiler version 14.31. dbghelp: Introduce symt_find_symbol_at(). cmd: Test that read is successful before using its result. cmd: Skip too long paths. wineoss.drv: Use correct integral type. wineoss.drv: Enable compilation with long types. winealsa.drv: Use correct integral types. winealsa.drv: Enable compilation with long types. Fabian Maurer (6): mscoree: Use LocalFree for memory allocated by LocalAlloc. printui: Use LocalFree for memory allocated by LocalAlloc (Coverity). mfplay: Prevent usage of uninitialized pointer in error case (Coverity). mfplat: Prevent use after free (Coverity). shell32: Prevent user after free in error case (Coverity). shell32: Refactor to keep style consistent. Floris Renaud (1): po: Add missing examples in Dutch translation. François Gouget (17): gdi32/tests: Trace the invalid height in test_max_height(). kernel32/tests: Remove a couple of unnecessary NULL casts. comctl32/tests: Use winetest_push_context() in test_combo_dropdown_size(). oleau32/tests: Show that spaces are not allowed before exponents. oleaut32/tests: The EUR abbreviation is not recognized as a currency. kernel32/tests: Fix the spelling of a comment. user32/tests: Trace monitor information with 'monitor info'. po: Fix a typo in the Asturian translation. po: Fix the indentation of a usage message in the Brazilian translation. po: Fix a trailing full stop inconsistency in the Asturian translation. po: Fix trailing full stop inconsistencies in the Czech translation. po: Fix trailing full stop inconsistencies in the Turkish translation. kernel32/tests: Fix a copy/paste error in an ok() message. winebus.sys: Fix the HAVE_SYS_INOTIFY_H checks. kernel32/tests: Fix a typo in a comment. user32/tests: Make the test_char_from_pos() failures more informative. kernelbase/tests: Loosen up the Sleep() test lower bound. Gabriel Ivăncescu (7): jscript: Implement Number.prototype.toLocaleString. jscript: Return proper error in Number.toLocaleString with invalid 'this' in ES5 mode. jscript: Implement Array.prototype.toLocaleString. jscript: Implement Array.prototype.filter. jscript: Implement Array.prototype.every. jscript: Implement Array.prototype.some. jscript: Implement Array.prototype.lastIndexOf. Giovanni Mascellani (2): loader/wine.inf: Update time zone data. mfplat: Avoid a race condition when releasing a tracked sample. Hans Leidekker (1): mshtml: Added IHTMLCSSStyleDeclaration::backgroundSize property implementation. Henri Verbeet (2): d3d11/tests: Declare "data_size" as UINT in test_device_context_state(). wined3d: Pass "quality_levels" as an unsigned int pointer to wined3d_check_device_multisample_type(). Huw D. M. Davies (47): winedbg: Accept "continue". winecoreaudio: Pass a ptr to receive the stream in create_stream. winecoreaudio: Use UINT64 handles to represent the stream. winecoreaudio: Return offsets rather than ptrs to the strings. winecoreaudio: Limit Wow64 buffer allocations to 32-bit addresses. winecoreaudio: Implement Wow64 mmdevapi entry points in the Unix libraray. winecoreaudio: Implement Wow64 midi entry points in the Unix libraray. winemac: Use ULongToPtr() to cast format ids to void ptrs. wineoss: Move MODM_GETDEVCAPS to the unixlib. wineoss: Move MODM_GETNUMDEVS to the unixlib. wineoss: Move MODM_GETVOLUME and MODM_SETVOLUME to the unixlib. wineoss: Move MODM_RESET to the unixlib. wineoss: Move MIDM_PREPARE and MIDM_UNPREPARE to the unixlib. wineoss: Move MIDM_GETDEVCAPS to the unixlib. wineoss: Move MIDM_GETNUMDEVS to the unixlib. wineoss: Move the midi in buffer lock to the unixlib. wineoss: Move MIDM_ADDBUFFER to the unixlib. winex11: Free "path" and "uri" with the correct functions. wineoss: Pass the time relative to the start time to the callback. wineoss: Move MIDM_RESET to the unixlib. wineoss: Move MIDM_START to the unixlib. wineoss: Move MIDM_STOP to the unixlib. wineoss: Simplify the midi in dispatcher. wineoss: Add the leading 0xf0 to the sysex data. wineoss: Move the sysex handling to a separate helper. wineoss: Move the regular data handling to a separate helper. wineoss: Make the MIM_LONGDATA time relative to the start time. wineoss: Combine midReceiveChar() into handle_midi_data(). wineoss: Introduce a notification thread. wineoss: Move the midi in data handlers to the unixlib. wineoss: Introduce a helper to retrieve the time. wineoss: Use a pipe to signal the end of the record thread. wineoss: Move MIDM_OPEN and MIDM_CLOSE to the unixlib. wineoss: Move DRVM_INIT and DRVM_EXIT to the unixlib. wineoss: Use AUXDM_GETNUMDEVS to retrieve the number of devices. wineoss: Move AUXDM_GETNUMDEVS to the unixlib. wineoss: Move AUXDM_GETDEVCAPS to the unixlib. wineoss: Move AUXDM_GETVOLUME and AUXDM_SETVOLUME to the unixlib. wineoss: Build with msvcrt. wineoss: Pass a client ptr to the callback instead of a stream. wineoss: Use UINT64 handles to represent the stream. wineoss: Return offsets rather than ptrs to the strings. wineoss: Limit Wow64 buffer allocations to 32-bit addresses. wineoss: Implement Wow64 mmdevapi entry points in the Unix library. wineoss: Implement Wow64 midi entry points in the Unix library. wineoss: Implement Wow64 aux entry point in the Unix library. dllhost: Try to load the dll server's factory at the start. Jacek Caban (77): win32u: Add more clipboard stubs. win32u: Move clipboard data management from user32. winex11: Remove unused cf_xdnd from XDNDDATA. winex11: Use libc for driver memory allocation. win32u: Use public declaration for GetStockObject. win32u: Introduce data-only mode in NtUserGetClipboardData. winex11: Don't use DragQueryFileW in export_hdrop. winex11: Use data-only NtUserGetClipboardData to export clipboard data. winex11: Directly use ntdll in uri_to_dos. winex11: Directly use win32u and ntdll in a few more places. win32u: Use user mode callback for registering builtin classes. winex11: Use NtUserSetClipboardData to import clipboard data. winex11: Directly use win32u in import_image_bmp. winex11: Directly use ntdll in clipboard.c. winex11: Return selection data as a single buffer from import_xdnd_selection. winex11: Move CF_HDROP filtering to import_xdnd_selection. winex11: Use format_entry to store cached XDND formats data. winex11: Move XdndEnter event handler to event.c. winex11: Move XdndPosition event handler to event.c. winex11: Move XdndDrop event handler to event.c. winex11: Move XdndLeave event handler to event.c. winex11: Use inline intersect_rect helper instead of IntersectRect. winex11: Move Unicode conversion out of unicode_text_from_string. winex11: Move Unicode conversion out of string_from_unicode_text. winex11: Directly use ntdll for utf8 conversion. user32: Use GetMenuInfo for IsMenu implementation. user32: Use MIIM_CHECKMARKS flag in InsertMenuW. user32: Perform Unicode conversion in SetMenuItemInfoA. user32: Perform Unicode conversion in InsertMenuItemA. win32u: Move menu item info management from user32. win32u/tests: Add NtUserThunkedMenuItemInfo tests. win32u: Move GetMenuState implementation from user32. win32u: Move GetMenuItemCount implementation from user32. win32u: Move NtUserTranslateAccelerator from user32. win32u: Move NtUserDeleteMenu implementation from user32. win32u: Move NtUserGetSystemMenu implementation from user32. win32u: Move NtUserSetSystemMenu implementation from user32. win32u: Copy implementation of AdjustWindowRectEx from user32. win32u: Move normalize_std_handle call to NtUserMsgWaitForMultipleObjectsEx. win32u: Use NT interface for MsgWaitForMultipleObjectsEx user driver entry point. winex11: Use passed point in handle_position_event. winex11: Use ntdll_umbstowcs and ntdll_wcstoumbs for Unicode conversion. winex11: Directly use wine_nt_to_unix_file_name to get Unix path name. winex11: Use ntdll for Unicode conversion. winex11: Use import_text_uri_list code in EVENT_DropURLs. winex11: Reimplement EVENT_DropFromOffiX using get_dos_file_name. win32u: Allow NULL client_menu_name in NtUserRegisterClassExWOW. winex11: Directly use ntdll in more places. winex11: Move DllMain to separated file. winex11: Move X11DRV_InitClipboard to dllmain.c. winex11: Move x11drv_post_drop to xdnd.c. winex11: Move create_desktop implementation to dllmain.c. winex11: Move wintab entry points to dllmain.c. winex11: Introduce X11DRV_CALL macro. winex11: Use X11DRV_CALL for XIM calls. winex11: Call create_tooltip from WM_CREATE handler. winex11: Avoid using sprintfW. winex11: Avoid using kernel32 functions in get_config_key. winex11: Avoid using kernel32 functions in user driver. winex11: Introduce x11drv_client_call. winex11: Use unixlib interface for IME calls. winex11: Use unixlib interface for X11 calls from systray.c. winex11: Use unixlib interface for systray docking. winex11: Move foreign_window_proc to systray.c. win32u: Move NtUserCallMsgFilter implementation from user32. winex11: Directly use NtUserGetIconInfo. winex11: Directly use win32u in more places. win32u: Use KeUserModeCallback interface for CopyImage. win32u: Allow NULL cbtc in NtUserCreateWindowEx. winex11: Directly use NtUserCreateWindowEx. winex11: Use unixlib interface for x11drv_is_system_module. winex11: Move LoadIcon call to dllmain. include: Don't use DECLSPEC_HIDDEN for WINGDIAPI and WINUSERAPI in unuxlibs. winex11: Use wcsicmp for string comparison. winex11: Move user driver to unixlib. winex11: Build with msvcrt. winex11: Don't use unicode.h. Jan Sikorski (1): msvcrt: Faster memcmp(). Jinoh Kang (4): include: Add definition for IShellItemImageFactory. wineboot: Don't use ai_canonname for ComputerName if it is "localhost". shell32/tests: Add tests for IShellItemImageFactory. shell32: Add stub for IShellItemImageFactory. Joachim Priesner (1): windowscodecs: BitmapScaler_CopyPixels: Do not demand a larger buffer than necessary. Louis Lenders (8): wbemprox: Add Win32_PageFileUsage class. wbemprox: Add BuildType property to Win32_OperatingSystem. wbemprox: Add RegisterdUser property to Win32_Operatingsystem. wbemprox: Add Organization property to Win32_Operatingsystem. wbemprox: Add BootDevice property to Win32_Operatingsystem. wbemprox: Add WindowsDirectory property to Win32_Operatingsystem. wbemprox: Add SystemType property to Win32_Computersystem. wbemprox: Add FreeVirtualMemory property to Win32_Operatingsystem. Martin Storsjö (2): include: Add a declaration of _InterlockedExchangeAdd64 for MSVC mode for aarch64. include: Add declarations of _alloca and alloca for MSVC mode. Matteo Bruni (6): d3dx9/effect: Return a uint32_t from the bytecode read helper. wined3d: Raise MAX_ATTRIBS to 32. wined3d: Don't submit fences when the GL context doesn't support them. wined3d: Don't use fences on GL context cleanup when they are not supported. wined3d: Disable CSMT when fences are not supported. wined3d: Check BO existence before trying to update its fence counter. Mohamad Al-Jaf (2): include: Add windows.ui.idl file. include: Add windows.media.closedcaptioning.idl file. Nikolay Sivov (27): uxtheme: Fix double free on registry key handle. dwrite/tests: Add a test for unset axis for references created with IDWriteFactory3. dwrite/tests: Use table access helpers for CBLC tests. dwrite: Remove already defined macros. dwrite: Simplify collection object initialization. dwrite: Implement GetFontFamilyModel(). dwrite: Use separate structure for set entry description. dwrite: Prefer different family names for typographical collections. dwrite: Initial implementation of CreateFontCollectionFromFontSet(). dwrite: Implement newer GetSystemFontCollection() variants. dwrite: Implement CreateTextFormat() for IDWriteFactory6. include: Fix IDWriteFontResource definition. dwrite: Implement variation axis value methods for the resource object. dwrite/opentype: Use stdint types for layout table structures. nls: Hardcode minus sign for all locales. dwrite/opentype: Use stdint type for color font structures. dwrite/opentype: Use stdint types for font file structures. include: Add IParentAndItem definition. dwrite/opentype: Correct flags field size for layout lookup structure. dwrite/opentype: Fix incorrect MarkGlyphSets table handling. dwrite/opentype: Do not include base advance to the mark advance offset. xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage(). ntdll: Add a partial implementation of NtMapViewOfSectionEx(). kernelbase: Implement MapViewOfFile3(). ntdll: Partially implement NtUnmapViewOfSectionEx(). kernelbase: Implement UnmapViewOfFile2(). kernel32: Implement UnmapViewOfFileEx(). Paul Gofman (12): winex11.drv: Treat invalid icon as no icon in fetch_icon_data(). msvcp140/tests: Add a broken last error result in test_Copy_file(). kernel32/tests: Add a broken last error result in test_CopyFileW(). crypt32/tests: Add tests for short return string buffer. crypt32: Fix filling short output in cert_name_to_str_with_indent(). crypt32: Fix filling short output in CertRDNValueToStrW(). crypt32: Fix filling short output in CertGetNameStringW(). crypt32: Fix filling short output in CertGetNameStringA(). crypt32: Reimplement CertRDNValueToStrA() on top of CertRDNValueToStrW(). crypt32: Reimplement CertNameToStrA() on top of CertNameToStrW(). crypt32: Support up to date subject and issuer alt names OIDs. crypt32: Support CERT_NAME_SEARCH_ALL_NAMES_FLAG in CertGetNameStringW(). Piotr Caban (5): msvcrt: Use TICKSPERMSEC define in concurrency functions. ntdll: Use 32-bit time_t when calling __NR_futex syscall. msvcp140_atomic_wait: Add __std_atomic_notify_one_direct implementation. msvcp140_atomic_wait: Add __std_atomic_notify_all_direct implementation. msvcp140_atomic_wait: Add __std_atomic_wait_direct implementation. Rémi Bernon (70): kernel32/tests: Add some heap block layout tests. ntdll: Stub RtlGetUserInfoHeap and RtlSetUser(Value|Flags)Heap. kernel32/tests: Add some RtlGetUserInfoHeap tests. dinput/tests: Remove unreliable IAsyncOperation_boolean checks. windows.gaming.input: Return an empty vector from RawGameController_get_ForceFeedbackMotors. windows.gaming.input: Implement ForceFeedbackMotor stub runtimeclass. windows.gaming.input: Acquire the device exclusively when creating ForceFeedbackMotor. windows.gaming.input: Implement IForceFeedbackMotor_(get|put)_MasterGain. windows.gaming.input: Implement IForceFeedbackMotor_(Pause|Resume|StopAll)Effects. server: Create message queue and thread input in set_key_state. server: Lock thread input keystate whenever it is modified. server: Create message queue and thread input in get_key_state. hidclass.sys: Move HID_GET_COLLECTION_* handling inline. hidclass.sys: Move handle_minidriver_string inline. hidclass.sys: Use a local NTSTATUS variable to keep IRP status. hidclass.sys: Call internal minidriver report ioctls asynchronously. windows.gaming.input: Import IAsyncOperation from windows.media.speech. windows.media.speech: Return operation error from IAsyncOperation_GetResults. windows.media.speech: Return E_ILLEGAL_METHOD_CALL from get_ErrorCode. windows.media.speech: Initialize HRESULT variables consistently. windows.media.speech: Simplify error handling in async_operation_create. windows.media.speech: Assume that async_run_work cannot be NULL in IAsyncInfo_Close. mf/tests: Simplify handling of broken Win7 results. mf/tests: Add some H264 decoder GetOutputCurrentType tests. winegstreamer: Implement H264 decoder GetOutputCurrentType. mf/tests: Add more tests for the H264 decoder output media type. mf/tests: Only check sample data when length matches. include: Add Windows.Foundation.Numerics.Vector3 struct declaration. include: Add Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect runtimeclass declaration. include: Add Windows.Gaming.Input.ForceFeedback.ConditionForceEffect runtimeclass declaration. include: Add Windows.Gaming.Input.ForceFeedback.ConstantForce runtimeclass declaration. include: Add Windows.Gaming.Input.ForceFeedback.RampForce runtimeclass declaration. include: Use nested namespaces in windows.storage.streams.idl. winegstreamer: Ignore unset H264 format profile and level. winegstreamer: Check caps pointer in wg_format_to_caps_h264. winegstreamer: Check whether transforms are supported at creation time. mf/tests: Skip todo_wine tests with a goto statement. mf/tests: Use real audio data for WMA encoder / decoder tests. mf/tests: Add some IMFTransform output sample attribute tests. mf/tests: Add tests changing the H264 decoder output video format. mf/tests: Expect identical major types for transform info. dinput/tests: Remove racy controller removed handler check. dinput/tests: Increase delayed TryResetAsync test wait timeout. dinput/tests: Enforce HID report descriptor buffer size. dinput/tests: Move Windows.Gaming.Input.RacingWheel tests to joystick8.c. dinput/tests: Remove output and feature report buffers length checks. dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.ConstantForceEffect tests. mf/tests: Check expected class GUID in create_transform. mf/tests: Add more DMO class name, media type and interface checks. mf/tests: Add tests for the ResamplerMediaObject audio transform. mf/tests: Check VideoProcessorMFT transform media types. mf/tests: Add tests for the ColorConvertDMO video transform. kernel32/tests: Reduce layout tests verbosity by skipping some sizes. kernel32/tests: Add some HEAP_NO_SERIALIZE flag / LFH locking tests. ntdll: Factor out heap serialization to heap_(lock|unlock) helpers. ntdll: Respect HEAP_NO_SERIALIZE flag in HeapLock / HeapUnlock. kernel32/tests: Check that HeapCreate should ignore checking flags. ntdll: Ignore HEAP_(TAIL|FREE)_CHECKING_ENABLED flags in RtlCreateHeap. kernel32/tests: Add more block layout tests with alloc flags. kernel32/tests: Add some RtlWalkHeap and more HeapWalk tests. mountmgr.sys: Avoid passing a stack pointer to the run_loop thread. windows.gaming.input: Set get_AreEffectsPaused value to FALSE when dinput fails. windows.gaming.input: Introduce a new type-pruning WineAsyncOperationCompletedHandler. windows.gaming.input: Use a PROPVARIANT as async operation result. windows.gaming.input: Split IAsyncInfo interface to a separate struct. windows.gaming.input: Use IUnknown invoker instead of IInspectable and add a parameter. winegstreamer: Add timestamp and duration to struct wg_sample. winegstreamer: Support the MFSampleExtension_CleanPoint sample attribute. winegstreamer: Only resize buffer when read is incomplete. dinput: Do not delete static critical section. Stefan Dösinger (4): wined3d: Invalidate framebuffer locations after setting up the renderpass. wined3d: Tell Vulkan about discarded and cleared framebuffer attachments. wined3d: Don't explicitly clear the draw location before starting a renderpass. wined3d: Set WINED3D_LOCATION_CLEARED for full-subresource clears to black. Torge Matthies (3): msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub. sc/tests: Add tests. sc: Allow using separate arguments for parameter name and value. Zebediah Figura (38): wined3d: Clear the texture BO when loading textures into WINED3D_LOCATION_BUFFER. wined3d: Move loading from CLEARED into the texture_load_location op. wined3d: Clear Vulkan textures on the GPU in wined3d_texture_vk_load_texture(). wined3d: Clear GL texture using glClear() if possible in wined3d_texture_gl_load_location(). win32u: Move NtUserTrackMouseEvent() implementation from user32. user32: Query CursorBlinkRate from the registry. win32u: Move caret APIs from user32. user32: Merge caret.c into input.c. d3d8/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE. d3d9/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE. wined3d: Consider WINED3D_LOCATION_CLEARED to be a GPU location for GPU-accessible textures. wined3d: Trace the SRGB flag in wined3d_texture_gl_prepare_texture(). server: Return void from sock_reselect(). wined3d: Refuse blits between height-scaled formats in the CPU blitter. wined3d: Refuse blits between height-scaled formats in the FBO blitter. wined3d: Refuse blits between height-scaled formats in the raw blitter. wined3d: Do not use vkCmdClearColorImage() to clear compressed images. dinput/tests: Do not test that reports are identical when polling. dinput/tests: Set the callback event after setting "impl->invoked". ws2_32/tests: Test polling for AFD_POLL_READ while there is a pending WSARecv() call. ws2_32/tests: Test polling for AFD_POLL_ACCEPT while there is a pending AcceptEx() call. ws2_32/tests: Test selecting for FD_READ while there is a pending WSARecv() call. ws2_32/tests: Test selecting for FD_ACCEPT while there is a pending AcceptEx() call. ws2_32/tests: Verify that AFD_POLL_CONNECT and AFD_POLL_WRITE are signaled simultaneously. winegstreamer: Print messages relating to missing decoders in the winediag channel. winegstreamer: Make some wg_format variables static const. ws2_32/tests: Test that sockets returned from accept() don't return FD_CONNECT from WSAEnumNetworkEvents(). ws2_32/tests: Add more tests for selecting for events after they are signaled. server: Send AFD_POLL_READ messages before AFD_POLL_WRITE. server: Clear only returned events in IOCTL_AFD_GET_EVENTS. ws2_32/tests: Add some more tests for reset TCP connections. server: Do not signal read/write bits if there are read/write asyncs waiting. server: Don't poll for POLLIN or POLLPRI if there are alerted read asyncs. server: Do not signal read bits if there are read asyncs alerted. server: Don't poll for POLLOUT if there are alerted write asyncs. server: Do not signal write bits if there are write asyncs alerted. server: Do not signal accept bits if there are accept asyncs queued. server: Remove a redundant call to set_fd_events(). Zhiyi Zhang (3): apisetschema: Add api-ms-win-core-winrt-robuffer-l1-1-0. windows.networking: Add stub dll. wintypes: Implement IApiInformationStatics stubs. Ziqing Hui (11): include: Add defines for ID2D1VertexBuffer. include: Add defines for ID2D1ResourceTexture. include: Add defines for ID2D1RenderInfo. include: Add defines for ID2D1DrawInfo. include: Add defines for ID2D1ComputeInfo. include: Add defines for ID2D1TransformGraph. include: Remove useless semi-colon in d2d1_3.idl. include: Add defines for ID2D1Transform. include: Add defines for ID2D1EffectContext. include: Add defines for ID2D1EffectImpl. wininet/tests: Test adding empty HTTP header. -- Alexandre Julliard julliard@winehq.org