Wine release 6.22
The Wine development release 6.22 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 7.0.0.
- Exception unwinding on ARM.
- More improvements to HID joystick support.
- WoW64 thunks in a number of Unix libraries.
- Beginnings of moving USER32 to Win32u.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.22.tar.xz
http://mirrors.ibiblio.org/wine/source/6.x/wine-6.22.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 6.22 (total 29):
21572 KFSensor 4.x/5.x: 'kfsnserv.exe' service fails to reliably stop/start/restart
22260 Total Commander 7.x/8.x: editable dropdown is gray when opened and empty
30498 Shadows broken on many games because of wrong depth formats
38278 Multiple apps and games need wmvcore.dll.WMReader_Open implementation (Nail'd demo)
42030 winedbg: Internal crash at 0x9f58fd40
45130 Builtin xaudio2_7.dll break audio and slow down performance for some games since wine 3.5
45443 Diablo 3: Starting the game causes a black screen softlock on the X-environment
46512 Window text has last letter cut off
47119 winedbg truncates 64-bit address when compiled with mingw
49409 Monkey Island 2 Special Edition crash / freeze with built-in xactengine3_6
49803 WIDL cannot import TLBs stored as resources in PE, such as stdole32.tlb and stdole2.tlb (even though both have tlb extension, they are essentially PE)
50292 Process-local synchronization objects use private interfaces into the Unix library
50757 (Regression) Hyperdimension Neptunia Re;Birth1 Crashes/freezes frequently with FAudio
51027 Fonts blurred for some words in Logos Bible Software
51587 Force feedback strength is really low in multiple games
51864 VeraCrypt Installer for 1.24-Update7 (Win8+) fails with HRESULT 0x800288BD
51916 Empire Earth 2 UP 1.5: ImageButtons don't render right with custom themes
51938 Safe Exam Browser needs "DNSDomain" from Win32_NetworkAdapterConfiguration
51944 Resident Evil 6 stops to a black screen instead of playing videos
51953 Joystick not detected for some older games with wine 6.20
51956 Morrowind: freezes when control keys are changing
51968 Winaero WEI Tool: Crash due to C:\windows\performance\winsat\datastore missing
51970 Memento Mori needs output_props_GetType
51978 Autodesk Fusion 360 crashes on unimplemented function msvcp140.dll.?table@?$ctype@D@std@@QEBAPEBFXZ
51983 foobar2000 v1.5.1+ crashes on startup with Wine v6.6+ with Windows version set to "Windows 10"
52022 Multiple games have unresponsive mouse/keyboard (Borderlands GOTY Enhanced, Tom Clancy's Rainbow Six Siege, Resident Evil Revelations)
52044 Safe exambrowser needs msctfmonitor.dll
52051 Oceanhorn: Monster of Uncharted Seas fails to start (uses WINED3DFMT_R8G8_UINT in vertex declaration)
52052 Wine doesn't show any window while creating/updating 64-bit prefix
----------------------------------------------------------------
Changes since 6.21:
Akihiro Sagawa (2):
gdi32/tests: Test substituted face family name.
win32u: Use a real family name as otmpFamilyName for substituted face.
Alexandre Julliard (52):
avicap32: Implement Wow64 entry points in the Unix library.
ctapi32: Implement Wow64 entry points in the Unix library.
dnsapi: Implement Wow64 entry points in the Unix library.
gphoto2.ds: Implement Wow64 entry points in the Unix library.
netapi32: Implement Wow64 entry points in the Unix library.
sane.ds: Implement Wow64 entry points in the Unix library.
bcrypt: Implement Wow64 entry points in the Unix library.
msv1_0: Define the communication structure only on the Unix side.
msv1_0: Implement Wow64 entry points in the Unix library.
qcap: Implement Wow64 entry points in the Unix library.
winspool.drv: Implement Wow64 entry points in the Unix library.
ntdll: Create a remote thread in DbgUiIssueRemoteBreakin().
makefiles: Substitute all defined variables in the main makefile.
makefiles: Generate the top makefile entirely from configure.
makefiles: Explicitly import all the needed libraries.
wrc: Ignore the target option.
wrc: Windows file formats are always little-endian.
wmc: Windows file formats are always little-endian.
widl: Windows file formats are always little-endian.
wrc: Support only single directories with the -I option.
widl: Support loading typelibs stored inside PE files.
widl: Search for imported typelibs in the library search path.
makefiles: Make importlib dependencies point to their respective dll.
include: Stop building tlb files in the include directory.
configure: Regenerate with autoconf 2.71.
tools: Upgrade the config.guess/config.sub scripts.
gdi32/tests: Use the OS/2 last char for the Ansi charset limit.
makefiles: Don't copy the source makefile into the sub-directory stub makefiles.
makefiles: Always use winebuild to build static libraries.
makefiles: Do not install external libraries.
Revert "oleaut32: Implement TLB dependencies lookup in resources."
oleaut32/tests: Use TYPELIB resource type for all typelibs.
makefiles: Directly generate resources also for non-registered typelibs.
winebuild: Escape invalid characters in the dll name for static import libraries.
makefiles: Use static importlibs on all platforms.
winegcc: Don't link directly to ntdll or ntoskrnl import libraries.
winebuild: Avoid resolving standard C functions with static importlibs.
makefiles: Don't add msvcrt import in dlls built as part of the tests.
capi2032: Build as a pure Unix library.
ctapi32: Build as a pure Unix library.
msvcrt: Don't forward string functions to ntdll.
msvcrt: Don't forward itoa() functions to ntdll.
wow64win: Add missing thunk for NtUserGetKeyboardLayout().
winegcc: Get rid of PowerPC support.
winebuild: Get rid of PowerPC support.
widl: Get rid of PowerPC support.
tools: Move target CPU and platform handling to the common tools.h header.
winegcc: Support an explicit --fake-module option.
makefiles: Split the module generation into several helper functions.
ntdll: Fix handling of zero size with MEM_DECOMMIT.
ntdll: Fix a compiler warning on macOS.
makedep: Use a separate variable for cross-compiled importlib objects.
Alistair Leslie-Hughes (18):
msdasql: Implement IDBProperties SetProperties.
include: Add transact.idl to oledb.idl.
include: Add trnjoi.idl.
msdasql: Trace session interfaces.
msdasql: Correct default dialect logic.
msdasql: Fix use after free (Coverity).
include: Add define SQL_OV_ODBC3_80.
msdasql: Fixup GetCommandText wrt dialect.
msdasql: Fix initial query value.
include: Add SQLGetDiagFieldW prototype.
msdasql: IDBProperties doesn't support DBPROPSET_DATASOURCEINFO property set.
msdasql: Implement IRowsetInfo GetSpecification.
include: Add more DBPROPVAL_ defines.
msdasql: Add ICommandWithParameters to command interface.
msdasql: Support NULL dialect in GetCommandText.
msdasql: Return S_OK in ICommandPrepare Un/Prepare.
msdasql: Move ICommandWithParameters to the correct interface.
msdasql: Implement IGetDataSource GetDataSource.
Andrew Eikum (1):
msvcrt: Better handle multiple width specifiers.
Andrey Gusev (1):
wined3d: Add WINED3DFMT_R16_FLOAT vertex format.
André Zwing (1):
avicap32: Fix typo in comment.
Arkadiusz Hiler (2):
msvcrt: Increase module's reference count before returning from _beginthread[ex]().
ucrtbase/tests: Test for FreeLibrary() vs _beginthread[ex]() race condition.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Aurélien Inacio (1):
win32u: Use 7-bit ascii for unhandled encodings.
Bernhard Kölbl (2):
xml2: Use MSVC constants for NaN and infinity.
gdiplus: Add pixel conversions to 4bpp indexed.
Brendan Shanks (2):
sechost: Fix hang when a device notification callback tries to register/unregister a notify.
winemac.drv: Remove workarounds for Mac OS X 10.6 and earlier.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (6):
include: Update existing provider definitions in uiautomationcore.idl.
include: Define more provider interfaces in uiautomationcore.idl.
include: Update existing PROPERTYIDs in uiautomationclient.idl.
include: Add UI Automation Pattern ID definitions.
uiautomationcore: Implement UiaHostProviderFromHwnd.
uiautomationcore/tests: Expand UiaHostProviderFromHwnd tests.
Damjan Jovanovic (1):
server: Implement vm counters on FreeBSD.
Dmitry Timoshkov (5):
kernel32/tests: Add a test for loading manifest from resources.
ntdll: Return correct status when manifest could not be loaded from file.
crypt32: Avoid truncating unicode chars.
ntoskrnl: Add IoCreateDeviceSecure semi-stub.
comctl32: Add semi-stub for ImageList_WriteEx.
Doug Lyons (1):
msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.
Eduard Permyakov (1):
dsound: Correctly report hardware audio buffers as unsupported.
Eric Pouech (39):
winedump: Fix computation of signed integers in codeview symbol's annotations.
dbghelp: Check that we don't add same line number twice.
dbghelp: Attach a struct cpu* to every module.
dbghelp: Use module's cpu word size instead of sizeof(void*) or sizeof(DWORD_PTR).
dbghelp: Use cpu from debuggee's modules rather than debugger's.
dbghelp/pdb: Add new basic type to represent char8_t introduced in C++20.
dbghelp/pdb: Handle S_LOCAL codeview entries.
dbghelp/pdb: Implement loc_compute for pdb backend.
dbghelp/pdb: Introduce codeview_init_type_parse() to handle init of type streams.
dbghelp/pdb: Let codeview_snarf() handle all module debug information.
dbghelp/pdb: Added support for S_INLINESITE and S_INLINESITE_END.
dbghelp/pdb: Handle a block in DEBUG_S_LINES subsection spreading across several symbols.
dbghelp/pdb: Add line number to inline sites.
dbghelp/pdb: Fix start adress of block.
dbghelp/msc: Better detect whether IPI stream is present.
winedump: Better detect whether IPI stream is present.
mscvpdb.h: Fix string types.
winedump: Add some more codeview entries.
winedump: Pass start offset when dumping symbols.
winedump: No longer print current function.
winedump: Properly indent multi lines symbol records.
winedump: Better handle display of nested symbol entries.
dbghelp/dwarf: Introduce a helper to read properly multiple range of addresses.
dbghelp/dwarf: Workaround functions with multiple range of addresses.
winedbg: Fix command line arguments parsing.
winedump: Setup a context in symbol_dumper for S_SEPCODE.
winedump: Define and dump POGO codeview record.
dbghelp: Relax some failure conditions in SymSetContext and SymSetScopeFromAddr.
dbghelp/dwarf: Make use of AT_type if present when parsing an enumeration type.
dbghelp/dwarf: Don't register labels without address.
dbghelp/dwarf: Fix computation of some location attributes.
dbghelp/msc: Silence a couple of unneeded codeview entries while parsing PDB.
dbghelp/msc: Support S_SEPCODE codeview record.
dbghelp: Fix module name construction.
dbghelp: Always search current directory when loading PE modules.
dbghelp: Allow 32bit dbghelp to handle 64 addresses.
dbghelp: Move debug info loading out of image backends into SymLoadModuleEx().
dbghelp: Detect collision by looking at module's base address in SymLoadModuleEx().
dbghelp: Improve collision handling in SymLoadModuleEx().
Esme Povirk (2):
mscoree: Update Wine Mono to 7.0.0.
mfplat: Allow deleting open files.
Floris Renaud (2):
po: Update Dutch translation.
winecfg: Add the command line options to the man page.
Gabriel Ivăncescu (5):
mshtml: Implement inline attributes parsing for createElement.
comctl32: Redraw children when the combo box is dropped down.
user32: Redraw children when the combo box is dropped down.
mshtml: Clear the string dprop associated with the builtin attribute when removing it.
mshtml: Actually set the return value when removing an attribute.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.199.
Hans Leidekker (1):
ipconfig: Print primary DNS suffix.
Henri Verbeet (6):
ddraw: Use wined3d_bit_scan() in compute_sphere_visibility().
ntdll: Only add a module dependency if import_dll() returned a modref.
wined3d: Allow OpenGL vertex buffer objects to be suballocated from a larger BO.
wined3d: Allow OpenGL index buffer objects to be suballocated from a larger BO.
wined3d: Allow OpenGL uniform buffer objects to be suballocated from a larger buffer.
wined3d: Allow OpenGL atomic counter buffer objects to be suballocated from a larger buffer.
Hugh McMaster (2):
kernel32/tests: Add tests for the current console font size.
kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx.
Huw D. M. Davies (6):
winecoreaudio: Move DriverProc to midi.c.
winecoreaudio: Move get_endpoint_ids to a unixlib.
winecoreaudio: Introduce a stream structure.
winecoreaudio: Use the global lock to lock the session.
winecoreaudio: Use the global lock to protect the audio client.
winecoreaudio: Store the channel count and period_ms directly in the audio client.
Ismael Luceno (1):
server: Fix missing include for uid_t.
Ivo Ivanov (21):
dinput: Stop calling SendForceFeedbackCommand on device destroy.
dinput: Unacquire device when last public reference is released.
dinput: Remove some extremely verbose traces, and fix typos.
dinput: Always return a valid string from effect_guid_to_string.
dinput: Fix HID joystick set_ramp_force end_caps lookup.
dinput: Remove redundant check for DIEP_DIRECTION.
dinput: Set effect block index in the second type specific report.
dinput: Pass buffer byte length to HidD_GetProductString.
winebus.sys: Accept whitespaces in strings parsed from uevent.
dinput: Return DI_DOWNLOADSKIPPED from SetParameters.
dinput: Return DI_OK when HID joystick CreateEffect succeeds.
dinput: Move set_parameter_value helper around.
include: Declare DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
dinput: Add support for DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
winebus.sys: Add PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
dinput: Introduce a new set_parameter_value_angle helper.
dinput: Fix single-axis effects direction values.
joy.cpl: Allow devices as steering wheels, that only support single-axis effects.
dinput: Look for the device managed effect creation reports.
dinput: Write PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
dinput: Support creating effects using device managed reports.
Jacek Caban (37):
win32u: Move NtUserGetLayeredWindowAttributes implementation from user32.
win32u: Move NtUserSetProp implementation from user32.
win32u: Move NtUserGetProp implementation from user32.
win32u: Move NtUserRemoveProp implementation from user32.
win32u: Don't use free_region in alloc_region.
explorer: Set lib name for null driver.
winebuild: Use find_clang_tool for ld and nm tools.
user32: Introduce user_driver_funcs struct.
user32: Use user_driver_funcs to expose user driver function from drivers.
win32u: Use user_driver_funcs to pass driver to __wine_set_display_driver.
win32u: Move null user driver implementation from user32.
win32u: Move NtUserCountClipboardFormats implementation from user32.
win32u: Move NtUserGetClipboardFormatName implementation from user32.
win32u: Move NtUserIsClipboardFormatAvailable implementation from user32.
win32u: Move NtUserGetClipboardOwner implementation from user32.
win32u: Move NtUserGetClipboardViewer implementation from user32.
win32u: Move NtUserGetUpdatedClipboardFormats implementation from user32.
win32u: Move NtUserGetClipboardSequenceNumber implementation from user32.
win32u: Move NtUserAddClipboardFormatListener and NtUserRemoveClipboardFormatListener implementations from user32.
win32u: Move NtUserGetPriorityClipboardFormat implementation from user32.
win32u: Move NtUserAttachThreadInput implementation from user32.
win32u: Move NtUserGetKeyState implementation from user32.
win32u: Move NtUserGetKeyboardState implementation from user32.
win32u: Move NtUserSetKeyboardState implementation from user32.
win32u: Move NtUserVkKeyScanEx implementation from user32.
win32u: Move NtUserMapVirtualKeyEx implementation from user32.
win32u: Move NtUserGetKeyboardLayout implementation from user32.
win32u: Move NtUserGetKeyNameText implementation from user32.
win32u: Move NtUserGetOpenClipboardWindow implementation from user32.
win32u: Move NtUserToUnicodeEx implementation from user32.
win32u: Move NtUserActivateKeyboardLayout implementation from user32.
win32u: Move NtUserGetKeyboardLayoutList implementation from user32.
win32u: Move NtUserUnregisterHotKey implementation from user32.
win32u: Move NtUserGetMouseMovePointsEx implementation from user32.
win32u: Move NtUserScrollDC implementation from user32.
user32: Don't load cursor inside user lock in register_builtin.
user32: Move register_builtin_classes call to GetDesktopWindow.
Jan Sikorski (5):
wined3d: Acquire references to blend states in deferred contexts.
wined3d: Acquire references to rasterizer states in deferred contexts.
wined3d: Acquire references to depth stencil states in deferred contexts.
wined3d: Acquire references to shaders in deferred contexts.
wined3d: Acquire references to samplers in deferred contexts.
Jinoh Kang (11):
win32u: Remove EMFDRV_StretchDIBits and EMFDRV_SetDIBitsToDevice.
gdi32/tests: Add tests for recording StretchDIBits in EMFs.
gdi32/tests: Add tests for recording SetDIBitsToDevice in EMFs.
gdi32: Fix bounding box calculation for EMR_STRETCHDIBITS.
gdi32: Allow passing BITMAPINFO with bmiHeader.biSizeImage == 0 for EMF DC.
gdi32: Calculate effective number of scan lines and truncate bitmap bits for EMR_SETDIBITSTODEVICE.
winedbg: Report current thread ID to GDB for all stop replies.
winedbg: Set reuseaddr flag for gdb remote socket.
winedbg: Replace packet_realloc() with realloc().
winedbg: Use unsigned int for offset/length in GDB qXfer handler.
winedbg: Escape special characters in GDB packet reply.
Louis Lenders (4):
wbemprox: Add empty DNSDomain to Win32_NetworkAdapterConfiguration.
combase: Add stub for RoOriginateError.
msctfmonitor: Add stub dll.
msctfmonitor: Add stub for InitLocalMsCtfMonitor.
Mark Jansen (1):
comctl32: Safely handle large wParam in SB_GETPARTS.
Martin Storsjö (20):
ntdll/tests: Remove an accidental, unused macro in arm64 exception tests.
ntdll: Print an error if unable to unwind due to missing libunwind on arm64.
ntdll: Don't blindly increment Sp by 8 in leaf functions on arm64.
kernel32: Update arch availability for Rtl* forwards to ntdll.
ntdll: Implement RtlVirtualUnwind for arm.
ntdll/tests: Add tests for RtlVirtualUnwind for arm.
winedump: Print the whole multibyte unwind opcode for arm.
winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
winedump: Rewrite dumping of packed ARM unwind info.
ntdll: Fix arm call_user_exception_dispatcher with kernel stack for syscalls.
ntdll: Save context->Lr in the arm version of RtlRaiseException.
ntdll: Include d0-d15 in RtlCaptureContext.
ntdll: Remove stack gap in syscalls on arm.
ntdll: Implement stack unwinding on arm.
ntdll: Implement __C_specific_handler and __jump_unwind for arm.
ucrtbase: Hook up __intrinsic_setjmpex for arm.
msvcrt: Don't set frame to 0 in arm and arm64 setjmp.
ntdll: Error out if unwinding isn't progressing on arm.
ntdll: Subtract an offset from pc if dispatch->ControlPcIsUnwound on arm.
Mohamad Al-Jaf (2):
kernelbase: Implement AppPolicyGetMediaFoundationCodecLoading.
kernel32: Forward AppPolicyGetMediaFoundationCodecLoading to kernelbase.
Nikolay Sivov (17):
mf/session: Implement IsRateSupported().
mf/session: Get rid of some interface pointers casts.
mfplay: Fix leaks on error paths (Coverity).
evr/mixer: Fix rectangle scaling helper argument check (Coverity).
evr/mixer: Preserve frame aspect ratio when rendering.
evr/presenter: Remove logic related to picture aspect ratio adjustment.
evr/presenter: Add missing break in get_FramesDrawn() (Coverity).
mf/tests: Add some more tests for session rate control.
mf/session: Expose rate control interfaces.
propsys/tests: Add a VT_UI4 test for PropVariantCompareEx().
evr/mixer: Implement repainting requests.
evr/mixer: Flush on MFT_MESSAGE_NOTIFY_END_STREAMING.
d3d10/effect: Add initial support for indexing expressions.
d3d10core/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
d3d11/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
wined3d: Add R8G8_UINT to vertex formats list.
d3d10/effect: Fix a trace message.
Paul Gofman (3):
msiexec: Append .msi extension to file name if file is not found.
winex11.drv: Check if the surface is in list in wine_vk_surface_release().
bcrypt: Validate secret size in BCryptGenerateSymmetricKey().
Piotr Caban (6):
msvcp140: Fix _Winerror_message test failures.
msvcp140: Fix _Winerror_map test failures.
msvcrt: Skip small-block heap tests if _set_sbh_threshold is not available.
ucrtbase: Fix fma test failures.
msvcp_win: Add stub dll.
msvcp_win: Forward to msvcp140.
Rémi Bernon (60):
dinput: Always call the device internal poll callback.
dinput: Enumerate HID joystick with dinput <= 7 and device type 0.
dinput8/tests: Check setting DIPROP_AUTOCENTER on force-feedback joystick.
dinput: Pretend that DIPROP_AUTOCENTER is supported.
dinput: Check for DIEFFECT_DX6 size when DIEP_STARTDELAY is set.
dinput: Support both DIEFFECT_DX5 and DIEFFECT_DX6 parameters.
propsys: Fix VT_UI4 comparison, use ulVal instead of uiVal.
include: Add some MPEG4 container attributes to mfidl.idl.
winebus.sys: Use +hid debug channel.
hidparse.sys: Use +hid debug channel.
hid: Use +hid debug channel instead of +hidp.
winexinput.sys: Use +xinput channel.
dinput: Fix HID joystick GetEffectInfo / GetCapabilities flags.
dinput: Improve object dwOfs values for dinput version <= 0x700.
dinput8/tests: Make test_device_input tests more predictable.
dinput8/tests: Add older dinput HID force-feedback tests.
dinput8/tests: Add more force-feedback effect direction tests.
dinput: Allow DIEFF_CARTESIAN directions when cAxes matches.
dinput: Check for DIEFF_POLAR axes count before capacity.
dinput: Only convert DIEFFECT directions to spherical when needed.
dinput: Fix DIEFF_CARTESIAN to DIEFF_SPHERICAL conversion.
dinput: Only call internal poll callback when device is acquired.
dinput: Support up to 6 effect conditions.
dinput: Use a specific buffer for set envelope output report.
server: Wait for process exit more often and using increasing delay.
services: Terminate all service processes on shutdown.
winspool.drv: Fix incorrect read of enumerated printer count.
dinput8/tests: Improve HID joystick tests output.
dinput8/tests: Test effect creation with unacquired device.
dinput8/tests: Introduce new create_dinput_device helper.
dinput8/tests: Test device types with older dinput versions.
dinput8/tests: Make sure SetCooperativeLevel window is foreground.
dinput: Implement HID joystick object names from their usages.
dinput: Stub support for DIPROP_AUTOCENTER property.
dinput8/tests: Add some IDirectInput(8)_EnumDevices tests.
dinput: Implement IDirectInput_EnumDevices with IDirectInput8_EnumDevices.
dinput: Implement IDirectInputJoyConfig8_GetConfig with EnumDevices.
dinput: Implement EnumDevicesBySemantics with EnumDevices.
dinput: Handle device types and flags directly in EnumDevices.
dinput8/tests: Add some HID device gain report tests.
dinput: Stub support for the DIPROP_FFGAIN property.
winebus.sys: Add a PID device gain output report.
dinput: Look for the PID device gain output report.
dinput: Write PID device gain reports when necessary.
winebus.sys: Implement PID device gain for SDL devices.
winebus.sys: Implement PID device gain for UDEV lnxev devices.
dinput8/tests: Add some more (Get|Set)Property tests.
dinput: Move HID joystick extra caps to struct dinput_device.
dinput: Reset axis and pov values on object property change.
dinput: Guard (Get|Set)Property logic within the device CS.
dinput: Factor (Get|Set)Property checks together.
dinput: Move SetProperty implementation to the generic device.
dinput: Move GetProperty implementation for objects to generic device.
dinput: Stub support for the DIPROP_CALIBRATIONMODE property.
winebus.sys: Use last report length in IOCTL_HID_GET_INPUT_REPORT.
winebus.sys: Remove effect gain from the crafted PID reports.
dinput: Only scale parameter value if its physical range is defined.
winebus.sys: Avoid unnecessary scaling of effect parameter values.
win32u: Guard font unused_entry against race condition.
dinput8/tests: Add tests for device managed effect creation.
Serge Gautherie (1):
riched20: Check font_cache in select_style() too.
Stefan Dösinger (5):
include: Add more dummy msvc SAL macros.
include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.
d3d8/tests: Port the filling convention test to d3d8.
d3drm/tests: Do not depend on a todo_wine result more than necessary.
ddraw/tests: Port test_filling_convention to ddraw.
Thomas Faber (6):
comctl32/tests: Test SB_GETPARTS with large wParam.
msvcrt/tests: Show that spawn does not require locking of fds.
dbghelp: Accept NULL search path in SymSetSearchPath.
dbghelp/tests: Add tests for SymSetSearchPath.
dbghelp: Use . instead of concrete path for search path.
dbghelp: Use _NT_ALT_SYMBOL_PATH.
Torge Matthies (1):
shell32: Fix getting file attributes from the file system in SHELL32_GetItemAttributes.
Zebediah Figura (40):
winegstreamer: Implement INSSBuffer::GetBuffer().
winegstreamer: Implement INSSBuffer::GetMaxLength().
winegstreamer: Implement INSSBuffer::SetLength().
winegstreamer: Implement IWMReader::Open().
winegstreamer: Implement IWMOutputMediaProps::GetType().
wined3d: Reference vertex buffer objects only after calling context_update_stream_info().
wined3d: Make the "buffer_object" field of struct wined3d_buffer a wined3d_bo pointer.
wined3d: Introduce a wined3d_buffer_update_sub_resource() helper.
wined3d: Parse ISG1, PSG1 and OSG1 signatures.
wined3d: Introduce wined3d_context_gl_reference_buffer().
wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_gl.
wined3d: Allocate all OpenGL buffer BOs from heap.
wined3d: Try to allocate new Vulkan BOs from the client thread for DISCARD maps.
winegstreamer: Implement IWMSyncReader::SetStreamsSelected().
winegstreamer: Implement IWMReaderAdvanced::SetStreamsSelected().
winegstreamer: Implement IWMSyncReader::GetStreamSelected().
winegstreamer: Implement IWMReaderAdvanced::GetStreamSelected().
wmvcore/tests: Add tests for stream selection.
winegstreamer: Implement IWMReaderAdvanced::SetAllocateForOutput().
wmvcore/tests: Add tests for user-allocated samples.
winegstreamer: Implement IWMReaderAdvanced::SetReceiveStreamSamples().
winegstreamer: Implement IWMReaderAdvanced::SetAllocateForStream().
winegstreamer: Implement IWMSyncReader::SetReadStreamSamples().
winegstreamer: Implement IWMReaderAdvanced::GetMaxStreamSampleSize().
winegstreamer: Add IWMMediaProps to the stream config object.
winegstreamer: Implement IWMMediaProps::GetMediaType() for the stream config object.
winegstreamer: Call IWMReaderCallbackAdvanced::OnTime() when using a user clock.
wined3d: Make the "buffer_object" field of struct wined3d_bo_address a wined3d_bo pointer.
wined3d: Make the "buffer_object" field of struct wined3d_const_bo_addr a wined3d_bo pointer.
wined3d: Make the "counter_bo" field of struct wined3d_unordered_access_view a wined3d_bo pointer.
ntdll: Implement NtAlertThreadByThreadId and NtWaitForAlertByThreadId.
ntdll/tests: Add basic tests for thread-id alert functions.
ntdll: Implement thread-ID alerts using futexes if possible.
ntdll: Implement thread-ID alerts using Mach semaphores on Mac.
ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
ntdll: Reimplement the critical section fast path on top of Win32 futexes.
ntdll: Get rid of the direct futex path for condition variables.
ntdll: Reimplement SRW locks on top of Win32 futexes.
wined3d: Add a helper to calculate the vertex attribute address for a stream element.
wined3d: Allow OpenGL transform feedback buffer objects to be suballocated from a larger buffer.
Zhiyi Zhang (12):
comctl32/button: Use correct state for BS_3STATE and BS_AUTO3STATE buttons.
comctl32/button: Use correct state for default buttons.
comctl32/button: Support BS_PUSHLIKE for themed check boxes and radio buttons.
comctl32/button: Correctly align parts in group boxes with BS_PUSHLIKE when theming is off.
comctl32/button: Support BS_PUSHLIKE for themed group boxes.
comctl32/button: Support BS_PUSHLIKE for themed command links.
shell32: Check This->sPathTarget before calling get_display_name().
uxtheme: Support more progress bar parts.
light.msstyles: Fix incorrect progress bar chunk color.
light.msstyles: Add more progress bar parts.
uxtheme: Do not overwrite system metrics when loading the same theme.
comctl32/button: Use client rectangle as content rectangle for themed group boxes.
Ziqing Hui (2):
d3dx10: Implement D3DX10CreateTextureFromFile{A,W}.
d3dx10: Implement D3DX10CreateTextureFromResource{A,W}.
Łukasz Wojniłowicz (1):
po: Update Polish translation.
Alexandre Julliard has announced a new development release of the Windows compatibility layer Wine with Mono engine updated to version 7.0.0, exception unwinding on ARM, more improvements to HID joystick support, WoW64 thunks in a number of Unix libraries, beginnings of moving USER32 to Win32u, and various bug fixes.