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.xzhttp://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
julliard(a)winehq.org
The Wine development release 6.21 is now available.
What's new in this release (see below for details):
- WinSpool, GPhoto, and a few other modules converted to PE.
- Better support for inline functions in DbgHelp.
- Beginnings of a MSDASQL implementation.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.21.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.21 (total 26):
38420 Sticky mouse with xinput2
43546 Multiple programs crash with unimplemented function vcomp{100,110,140}.dll._vcomp_for_static_simple_init_i8 (Astrotoaster, Gaea-1.0.16.8020, easyHDR 3.13.0, SimIon, BlueSkyPlan)
44055 Multiple applications fail to run in Win7+ mode, requiring DWM composition API support to be enabled (Aero Glass, transparent windows)(Affinity Designer 1.x, Electron-based apps using isAeroGlassEnabled API)
46000 SuperTux 0.6.0 nightly build crashes inside ucrtbase _FindAndUnlinkFrame
46472 Linux kernel 4.19 breaks startup of Call of Duty: Black Ops II due to change in PTRACE_POKEUSER hw breakpoint behavior
46801 Hitman: Sniper Challenge crashes on startup when using FAudio
48377 Home Designer Suite 21.3.1.1x64 hangs on mouse button release when drawing wall
48791 Multiple games have sound stuttering when using FAudio (Sniper Elite series, Resident Evil 0 HD Remaster, Homesick, Call of Juarez: Gunslinger)
48981 Riot Vanguard (Riot Games) needs Microsoft Kernel Mode Cryptographic Primitives Library 'cng.sys'
50088 Memento Mori needs WMReaderAdvanced2_OpenStream
51267 Rise of Legends Demo crashes with null pointer exception inside SAXReader::parseURL
51628 Samsung SDK 1.2.2 for Java ME: Black window
51677 Resident Evil 4 HD crashes when gameplay starts
51684 quartz:systemclock gets out of order timestamps on Windows
51719 _pclose() does not cause child stdin to report EOF
51815 DocumentProperties broken by last update (x64 only)
51851 Resident Evil 6 stops to a black screen instead of playing videos (needs WMSyncReader_GetOutputCount)
51856 access violation at emfdc_delete_object+0x17
51911 vbscript does not handle strings in if clauses
51914 Color picker doesn't render with custom themes
51917 Internet Explorer 8 crashes when visiting http://www.baidu.com/ on unimplemented function dxtrans.dll.DllGetClassObject
51919 New sal.h macros break libstdc++ includes in wineg++
51921 Multiple games crash due to assertion failures in bundled FAudio (Unreal Engine 4 games, Skyrim SE)
51926 Wine fails to build with glibc headers < 2.24
51937 Resident Evil 6 stops to a black screen instead of playing videos (needs WMSyncReader_GetOutputProps)
51951 configure says that libsane development files are not found even though they are present
----------------------------------------------------------------
Changes since 6.20:
Alex Henrie (1):
dxtrans: Add DllGetClassObject stub.
Alexandre Julliard (76):
attrib: Use the standard va_list instead of __ms_va_list.
cmd: Use the standard va_list instead of __ms_va_list.
expand: Use the standard va_list instead of __ms_va_list.
fsutil: Use the standard va_list instead of __ms_va_list.
hostname: Use the standard va_list instead of __ms_va_list.
icinfo: Use the standard va_list instead of __ms_va_list.
ipconfig: Use the standard va_list instead of __ms_va_list.
net: Use the standard va_list instead of __ms_va_list.
netstat: Use the standard va_list instead of __ms_va_list.
reg: Use the standard va_list instead of __ms_va_list.
regedit: Use the standard va_list instead of __ms_va_list.
regsvr32: Use the standard va_list instead of __ms_va_list.
services/tests: Use the standard va_list instead of __ms_va_list.
taskkill: Use the standard va_list instead of __ms_va_list.
uninstaller: Use the standard va_list instead of __ms_va_list.
winedbg: Use the standard va_list instead of __ms_va_list.
winemenubuilder: Use the standard va_list instead of __ms_va_list.
winetest: Use the standard va_list instead of __ms_va_list.
wmic: Use the standard va_list instead of __ms_va_list.
xcopy: Use the standard va_list instead of __ms_va_list.
makefiles: Don't try to link a library to itself.
makefiles: Add support for importing PE system libraries using the -l option.
ntdll: Move math functions to a separate file.
ntdll: Copy atan() implementation from msvcrt.
ntdll: Copy ceil() implementation from msvcrt.
ntdll: Copy floor() implementation from msvcrt.
ntdll: Copy fabs() implementation from msvcrt.
ntdll: Copy sin() and cos() implementation from msvcrt.
ntdll: Copy tan() implementation from msvcrt.
ntdll: Copy log() implementation from msvcrt.
ntdll: Copy pow() implementation from msvcrt.
ntdll: Copy sqrt() implementation from msvcrt.
ntdll: Remove math functions from the unixlib interface.
windowscodecs: Remove the no longer used icns encoder.
windowscodecs: Remove the Unix library.
configure: Disable sane.ds if the Unix library is missing.
sane.ds: Don't pass the device handle to the option helpers.
sane.ds: Use Twain types and status codes in option helpers.
sane.ds: Add helper function to set/get the scan area.
sane.ds: Convert the SANE parameters to a private structure.
sane.ds: Convert the SANE option descriptor to a private structure.
sane.ds: Move SANE library calls to a separate Unix library.
sane.ds: Build with msvcrt.
sane.ds: Use CRT memory allocation functions.
configure: Disable gphoto2.ds if the needed Unix libraries are missing.
gphoto2.ds: Move libgphoto2 handling to a separate Unix library.
gphoto2.ds: Use the bundled libjpeg and build with msvcrt.
twain_32: Fix loading of TWAIN source modules.
capi2032: Link directly to libcapi20.
capi2032: Move libcapi20.so interface to a separate Unix library.
ctapi32: Move libctapi.so interface to a separate Unix library.
include: Don't include sys/stat.h in wine/port.h.
include: Don't include fcntl.h in wine/port.h.
configure: Fix the libsane notice check.
crypt32: Split the import_cert_store function to move memory allocations to the PE side.
crypt32: Convert the Unix library to the __wine_unix_call interface.
faudio: Import upstream release 21.11.
dnsapi: Fix the DNS_KEY_DATA and DNS_SIG_DATA structure definitions.
dnsapi: Make type_to_str() into a proper debugstr function.
dnsapi: Implement DnsExtractRecordsFromMessage().
dnsapi: Build the DNS reply records on the PE side.
dnsapi: Convert the Unix library to the __wine_unix_call interface.
dnsapi: Use CRT memory allocation functions.
qcap: Convert the Unix library to the __wine_unix_call interface.
include: Don't define __in and __out.
include: Don't include unistd.h in wine/port.h.
include: Don't include string.h in wine/port.h.
include: Don't include stdlib.h in wine/port.h.
include: Don't include wine/port.h in Unix libraries.
wldap32: Move the SASL callback to the Unix side.
wldap32: Don't use varargs functions in the Unix library interface.
wldap32: Avoid returning pointers from the Unix interface functions.
wldap32: Convert the Unix library to the __wine_unix_call interface.
kerberos: Move the ticket cache memory allocation to the PE side.
kerberos: Move timestamp conversion to the PE side.
kerberos: Convert the Unix library to the __wine_unix_call interface.
Alistair Leslie-Hughes (41):
cng.sys: New dll.
msdasql: New DLL.
msdasql: Register MSDASQL interfaces.
msdasql: Implement MSDASQL provider.
msdasql: Support IDBProperties interface.
msdasql: Add IDBInitialize support.
msdasql/tests: Initial tests.
msdasql/tests: Remove DSN on cleanup.
msdasql: Implement IDBProperties GetPropertyInfo.
msdasql: Add IDBCreateSession support.
msdasql: Implement IDBCreateSession CreateSession.
msdasql: Add IPersist interface support.
include: Add some MFT CLSIDs.
include: Add CMSH264DecoderMFT CLSID.
msdasql: Add IGetDataSource support to session.
msdasql: Add IOpenRowset support to session.
msdasql: Add ISessionProperties to session.
msdasql: Add IDBCreateCommand to session.
msdasql: Implement IDBCreateCommand CreateCommand.
msdasql: Add ICommandProperties interface to ICommandText.
msdasql: Trace unsupported interfaces.
msdasql: Add IColumnsInfo interface for ICommandText.
msdasql: Add IConvertType interface for ICommandText.
include: Define WMADecMediaObject.
include: Add more DB_* defines.
msdasql: Add ICommandPrepare interface for ICommandText.
msdasql: Implement ICommandText Get/Set CommandText.
msdasql: Implement ICommandText GetDBSession.
msdasql: Return valid object from ICommandText Execute.
msdasql: Correct ICommandText Execute test.
msdasql: Support IRowsetInfo in IRowset interface.
msdasql: Support IColumnsInfo in Rowset.
msdasql: Add IAccessor to rowset.
msdasql: Add IColumnsRowset support to rowset.
msdasql: Trace unsupported rowset interfaces.
msdasql: Support CLSID_MSDASQL_ENUMERATOR interface.
msdasql: Implement ISourcesRowset GetSourcesRowset for enumeration.
msdasql: Support IAccessor in IRowset for Enumeration.
msdasql/tests: Add MSDASQL_ENUMERATOR tests.
dmime: Parse Wave track stream.
msdasql: Implement IDBProperties GetProperties.
Andrew Eikum (3):
evr/presenter: Invalidate media type on destination rectangle change.
mf/session: Forward MR_STREAM_VOLUME_SERVICE requests to SAR node.
strmbase: Send EC_COMPLETE in IBaseFilter::Run() for unconnected renderers.
Biswapriyo Nath (2):
include: Add MFVideoAlphaBitmapFlags in evr9.idl.
include: Add BackgroundCopyManager1_5 library in bits1_5.idl.
Brendan Shanks (1):
configure: Simplify flag checks for Mac preloader.
Chilung Chan (3):
po: Update Traditional Chinese translation.
po: Update Traditional Chinese translation.
po: Update Traditional Chinese translation.
Connor McAdams (3):
uiautomationcore: Implement UiaGetReservedNotSupportedValue.
uiautomationcore: Implement UiaGetReservedMixedAttributeValue.
uiautomationcore/tests: Add tests for ReservedValue COM interfaces.
Damjan Jovanovic (14):
winebus.sys: Get inotify working on FreeBSD.
server: Use sysctl instead of /proc/curproc/file on FreeBSD.
loader: Use sysctl instead of /proc/curproc/file on FreeBSD.
ntdll: Use sysctl instead of /proc/curproc/file on FreeBSD.
libs/wine: Use sysctl instead of /proc/curproc/file on FreeBSD.
widl: Use sysctl instead of /proc/curproc/file on FreeBSD.
winegcc: Use sysctl instead of /proc/curproc/file on FreeBSD.
wmc: Use sysctl instead of /proc/curproc/file on FreeBSD.
wrc: Use sysctl instead of /proc/curproc/file on FreeBSD.
ntdll: Implement setting SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION.IdleTime on FreeBSD.
ntdll: Implement setting SYSTEM_PERFORMANCE_INFORMATION.IdleTime on FreeBSD.
ntdll: Implement get_device_mount_point() on FreeBSD.
ntdll: Implement vm counters on FreeBSD.
ntdll: Populate MEMORY_WORKING_SET_EX_INFORMATION on FreeBSD.
Dmitry Timoshkov (2):
mpg123: Fix compilation with clang.
user32: DragDetect() should enter its message loop only if the left mouse button is pressed.
Eric Pouech (36):
dbghelp: Let StackWalkEx() succeed even when inline mode is requested.
dbghelp: Implement SymFromInlineContext() when context isn't in inline mode.
dbghelp: Implement SymGetLineFromInlineContext*() when context isn't in inline mode.
dbghelp: Add local scope information in struct process.
dbghelp: Implement SymSetScopeFromAddr() and SymSetScopeFromIndex().
dbghelp: Rewrite SymSetContext() on top of SymSetScopeFromAddr().
dbghelp: Implement SymSetScopeFromInlineContext() when context isn't inlined.
winedbg: Add a pair of helpers for accessing frames' internal info.
winedbg: Use SymSetScopeFromAddr() instead of SymSetContext().
winedbg: Use inline contexts oriented APIs for stack backtrace.
dbghelp: Correct type of exported function addresses in PE module.
dbghelp: Introduce symt_inlinesite (SymTagInlineSite) to support inline sites.
dbghelp/dwarf: Add current block as a field in dwarf2_subprogram_t.
dbghelp/dwarf: Generate proper inline functions.
dbghelp/dwarf: Store each subrange for an inlined function.
dbghelp: Implement StackWalkEx for inlined frames.
dbghelp: Implement SymFromInlineContext for inlined frames.
dbghelp: Implement SymSetScopeFromInlineContext for inlined frames.
dbghelp: Rename line_info's pc_offset field into address.
dbghelp: Make symt_add_func_line() last parameter an absolute address.
dbghelp: In SymGetLine* family, compute displacement relative to line_info's address.
dbghelp: Implement SymGetLineFromInlineContext(W) for inlined frame.
dbghelp/dwarf: Store line numbers and file info for inlined functions.
dbghelp: Silence a couple of C++ oriented requests in SymGetTypeInfo().
dbghelp: Silence a couple more CV entries.
mscvpdb.h: Update symbol header for linetab2's block size.
winedump: Add some missing next record computation for type leaf.
mscvpdb.h: Add definition for friend function v3.
winedump: Dump index leaves (TPI).
winedump: Also dump library name for a module.
mscvpdb.h: Update some line number oriented definitions.
dbghelp/pdb: Convert to new debug subsection definitions (in linetab2).
include: Added OMAP related definitions.
mscvpdb.h: Move parsing definitions to dbghelp.
configure: Allow expressing dwarf version in CFLAGS and CROSSCFLAGS.
dbghelp/dwarf: Don't skip functions when their inlined flag comes from an abstract origin.
Francisco Casas (2):
gdi32: Avoid integer overflow in the obj map compare fn.
gdi32: Do not sign extend 64-bit gdi handles.
François Gouget (2):
winetest: Don't truncate oversize reports before sending them.
wined3d: Add a trailing linefeed to an ERR().
Gabriel Ivăncescu (6):
jscript: Fix some refcount leaks.
mshtml: Fix reference leak in HTMLStyleSheetsCollection_item.
mshtml: Fix reference leak in HTMLStyleSheetRulesCollection_item.
jscript: Implement Object.prototype.isPrototypeOf method.
jscript: Implement Object.prototype.__proto__ property.
mshtml: Hold a ref to the location on the window side.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.197.
Hans Leidekker (8):
secur32: Fix expected buffer size in trace message.
secur32/tests: Check supported DTLS protocols.
secur32: Clear expiry timestamp in schan_InitializeSecurityContextW().
secur32: Validate the context handle in schan_InitializeSecurityContextW().
secur32: Fix error return for DTLS contexts in schan_InitializeSecurityContextW().
secur32/tests: Add DTLS tests.
mshtml: Implement HTMLAnchorElement_get_port().
mshtml: Implement HTMLAnchorElement_get_pathname().
Huw D. M. Davies (12):
wmc: Remove struct and enum typedefs.
winspool: Move loading of libcups to cups.c.
winspool: Remove support for parsing /etc/printcap.
winspool: Call the ppd retrieval function from add_printer_driver().
winspool: Move CUPS printer enumeration to cups.c.
winspool: Move ppd retrieval to cups.c.
winspool: Move the default page size query to cups.c.
winspool: Move the unix job schedulers to cups.c.
winspool: Build with msvcrt.
winspool: Add a helper to open various printer registry keys.
winspool: Use wide character string literals.
configure: Stop checking for poll.h and sys/poll.h - always use poll.h.
Jactry Zeng (4):
include: Add IMapView interface.
include: Add IRandomAccessStreamWithContentType interface.
include: Add IDeviceInformation interface.
include: Add IDeviceWatcher interface.
Jan Sikorski (6):
d3d9: Don't grab wined3d lock for wined3d incref/decref functions.
d3d9: Don't grab wined3d lock in index/vertexbuffer AddRef/Release().
d3d9: Don't grab wined3d lock for wined3d_query_issue().
d3d9: Don't grab wined3d lock for surface AddRef/Release().
wined3d: Reduce locking of device context operations.
d2d1: Explicitly set default blend state.
Loïc Rebmeister (1):
loader: Create performance\winsat\datastore on prefix creation.
Martin Storsjö (1):
winebuild: Fix relay entry points in Thumb mode with binutils/ELF and LLVM/PE.
Matteo Bruni (2):
d3dx10/tests: Only accept D3DX10_IFF_WMP tests failure on Windows.
d3d10/effect: Create variable buffer before parsing buffer members.
Michael Stefaniuc (4):
vbscript: Avoid negating SUCCEEDED().
dmime: Accept a DMUS_IO_SEGMENT_HEADER without rtPlayStart field.
dmime: Fixup the Wave track parser.
winegstreamer: Drop a debugstr from an out parameter.
Nikolay Sivov (50):
mfplay: Better handle video control method calls when there is no media item set.
mfplay: Fix pointer argument usage in GetMetadata().
mfplay: Update destination rectangle on SetVideoSourceRect().
mfplay: Fix output argument handling in CreateMediaItemFromURL().
mfplay: Partially implement GetDuration().
mfplay: Implement GetPosition().
mfplay: Change to stopped state when playback ends.
evr: Trace normalized rectangle arguments.
evr/presenter: Remove scaling by zoom rectangle.
mfplay: Trace normalized rectangle arguments.
d3dx9/tests: Add some tests for constant descriptions in texture shaders.
d3d10/effect: Return when effect creation fails.
d3d10/effect: Fix buffer offsets for members and array elements.
d3d10/effect: Use data_size of the variable as buffer size.
d3d10/effect: Implement GetConstantBuffer().
d3d10/effect: Remove interface vs implementation pointer comparsion in buffer variable's IsValid().
d3d10/tests: Extend default values test.
d3d10/effect: Implement default values handling.
d3d10/effect: Implement GetRawValue().
d3d10/effect: Implement SetRawValue().
evr/mixer: Improve output type candidates attributes configuration.
evr/tests: Skip tests if default presenter can't be created.
evr/presenter: Handle type invalidation calls without attached mixer.
evr/tests: Add some more presenter tests for shutdown state.
evr/presenter: Handle shutdown state in more methods.
evr/mixer: Handle substream zorder for dxva blitting.
combase: Clarify stream data format used by FT marshaler.
dxva2: Remove AYUV from accepted input formats.
evr/mixer: Implement stream rectangle scaling.
evr/presenter: Fix a crash when releasing partially initialized object.
d3d10/effect: Remove a cast in IsValid() for SRV variables.
d3d10/effect: Get rid of interface pointer casts in IsValid().
d3d10/effect: Reduce duplication when releasing shader objects.
d3d11: Correctly handle optional arguments in OMGetBlendState().
evr/mixer: Fix number of substreams in CreateVideoProcessor().
dxva2: Add GetVideoProcessorCaps() for software device.
dxva2: Limit allowed number of substreams in CreateVideoProcessor().
d3d10/effect: Handle D3D10_SVT_UINT type when returning numeric values.
d3d10/effect: Handle NULL depth stencil state assignments.
d3d10/effect: Handle NULL blend state assignments.
d3d10/effect: Add a helper to read numeric values.
d3d10/effect: Add a helper to read raw variable values.
d3d10/effect: Implement numeric pass properties updates.
evr/presenter: Add presented frames counter.
evr/mixer: Pass valid background color parameter to VideoProcessBlt().
evr/mixer: Set per-stream alpha to fully opaque.
scrrun: Use static sized buffer for drive root.
scrrun: Use wide string literals.
evr/mixer: Set destination alpha to fully opaque.
dxva2: Handle specified background color in VideoProcessBlt().
Paul Gofman (13):
ntdll: Fix alignment mask size in RtlInitializeExtendedContext2().
ntdll: Return sufficient info size at once from NtQuerySystemInformation(SystemProcessInformation).
ntdll: Factor out get_system_process_info() function.
ntdll: Implement SystemExtendedProcessInformation system info class.
winhttp: Handle TLS close notify in netconn_is_alive().
wined3d: Validate pitch against the new format in wined3d_texture_update_desc().
kernel32: Correctly restore protection in set_entry_point().
ntdll: Allocate DDAG node for module.
ntdll: Pass DDAG node to process_attach().
ntdll: Store module dependencies in DDAG structure.
ntdll: Factor out is_import_dll_system() function.
ntdll: Don't add dependencies for system dlls.
ntdll: Don't constraint TEB address to 2GB for native x64 process.
Piotr Caban (6):
msvcrt: Fix clearing NOINHERIT flag in _dup2.
msvcrt: Rewrite _popen function.
vcomp: Add _vcomp_for_static_init_i8 implementation.
vcomp: Add _vcomp_for_static_simple_init_i8 implementation.
msvcrt: Don't use GetDaylightFlag function in _ftime64.
msvcp100: Export ctype<char>::table function.
Robert Wilhelm (1):
vbscript: Support VT_BSTR in stack_pop_bool.
Rémi Bernon (33):
xaudio2_7: Restore FAudioCreateReverbWithCustomAllocatorEXT use for old XAPO versions.
faudio: Build with -DNDEBUG.
winex11.drv: Introduce new map_raw_event_coords helper.
winex11.drv: Use XIValuatorClassInfo instead of a custom struct.
winex11.drv: Rename (x|y)_rel_valuator to (x|y)_valuator.
winex11.drv: Accumulate mouse movement to avoid rounding losses.
msvcrt: Write memory forward in memset.
ntdll: Use the unrolled memset from msvcrt.
dinput8/tests: Relax test results for 3 buttons mouse.
dinput: Canonicalize code style of IDirectInputWImpl_EnumDevices.
dinput: Call *_enum_device directly in IDirectInputWImpl_EnumDevices.
dinput: Canonicalize code style of IDirectInput7WImpl_CreateDeviceEx.
dinput: Call *_create_device directly in IDirectInput7WImpl_CreateDeviceEx.
dinput: Call hid_joystick_enum_device directly in EnumDevicesBySemantics.
dinput: Call hid_joystick_enum_device directly in JoyConfig8Impl_GetConfig.
dinput: Trace device entry points calls consistently.
dinput: Rename IDirectInputDeviceImpl to struct dinput_device.
dinput: Rename SysKeyboardImpl to struct keyboard.
dinput: Rename SysMouseImpl to struct mouse.
winebus.sys: Drop the hid_report channel.
winebus.sys: Consistently trace HID reports.
dinput: Reduce data format trace verbosity.
dinput8/tests: Add more HID joystick SetDataFormat tests.
dinput: Move user data format to struct dinput_device.
dinput: Implement SetProperty DIPROP_APPDATA using enum_objects.
dinput: Always use the data format transform.
mfreadwrite/reader: Add recognition of ftypeMSNV mp4 header.
dinput: Use user object data format array to keep user offsets.
dinput: Rewrite and simplify user data format object matching.
dinput: Move device data format to struct dinput_device.
server: Clear dr7 before setting other registers.
server: Remove dr7 PTRACE_POKEUSER workaround.
mshtml: Only treat resource://gre(-resources)/ as special.
Serge Gautherie (1):
comctl32: Fix 'pszHeaderTitle' copypasta.
Stefan Dösinger (3):
wined3d: Test if an offset is needed to get the correct filling convention.
d3d9/tests: Test triangle filling convention.
wined3d: Emulate fractional viewports if GL doesn't support them.
Zebediah Figura (54):
wmvcore/tests: Add some basic tests for streaming with the synchronous reader.
wmvcore/tests: Add tests for synchronous reader media types.
winegstreamer: Add a basic implementation of IWMSyncReader::OpenStream().
winegstreamer: Create a winegstreamer parser object in wm_reader_open_stream().
winegstreamer: Implement IWMProfile::GetStreamCount().
ntdll: Merge critsection.c into sync.c.
winegstreamer: Implement IWMSyncReader::GetOutputCount().
winegstreamer: Implement IWMProfile::GetStream().
winegstreamer: Implement IWMStreamConfig::GetStreamNumber().
winegstreamer: Implement IWMSyncReader::GetOutputNumberForStream().
winegstreamer: Implement IWMSyncReader::GetStreamNumberForOutput().
ntdll/tests: Move some tests to a new sync.c file.
ntdll/tests: Add some tests for Rtl* resources.
winegstreamer: Implement IWMStreamConfig::GetStreamType().
winegstreamer: Implement IWMSyncReader::GetOutputProps().
winegstreamer: Implement IWMOutputMediaProps::GetMediaType().
winegstreamer: Implement IWMSyncReader::GetOutputFormat().
winegstreamer: Implement IWMSyncReader::GetOutputFormatCount().
winegstreamer: Implement IWMSyncReader::SetOutputProps().
winegstreamer: Implement IWMSyncReader::GetNextSample().
winegstreamer: Implement INSSBuffer::GetBufferAndLength().
winegstreamer: Implement reading from all streams in IWMSyncReader::GetNextSample().
winegstreamer: Implement IWMSyncReader::SetRange().
winegstreamer: Seek to the beginning of the range in wm_reader_set_output_props().
wined3d: Make wined3d_buffer_gl_binding_from_bind_flags() static.
wined3d: Move the bo_user field to struct wined3d_buffer.
evr/tests: Test receiving EC_COMPLETE when not connected.
quartz/tests: Test receiving EC_COMPLETE when not connected.
qedit/tests: Test receiving EC_COMPLETE when not connected.
quartz/dsoundrender: Send EC_COMPLETE in IBaseFilter::Run() when not connected.
winegstreamer: Set rcSource and rcTarget for WMF video formats.
winegstreamer: Set bFixedSizeSamples for WMF video formats.
winegstreamer: Don't set bTemporalCompression for WMF video formats.
winegstreamer: Return S_OK from IWMSyncReader::SetOutputSetting(L"VideoSampleDurations").
winegstreamer: Implement IWMHeaderInfo::GetAttributeByName(L"Duration").
winegstreamer: Implement IWMHeaderInfo::GetAttributeByName(L"Seekable").
winegstreamer: Implement IWMSyncReader::Open().
wmvcore/tests: Add tests for asynchronous reader streaming.
wmvcore/tests: Add tests for asynchronous reader media types.
winegstreamer: Implement IWMReaderAdvanced2::OpenStream().
winegstreamer: Implement IWMReader::GetOutputCount().
winegstreamer: Implement IWMReader::GetOutputProps().
wined3d: Protect access to the Vulkan wined3d_allocator with a mutex.
wined3d: Separate a vk_buffer_usage_from_bind_flags() helper.
wined3d: Separate a vk_memory_type_from_access_flags() helper.
wined3d: Protect wined3d_bo_slab_vk map fields with a mutex.
winegstreamer: Implement IWMReader::GetOutputFormat().
winegstreamer: Implement IWMReader::GetOutputFormatCount().
winegstreamer: Implement IWMReader::SetOutputProps().
winegstreamer: Implement IWMReader::Start().
winegstreamer: Implement IWMReaderAdvanced::SetUserProvidedClock().
wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_vk.
wined3d: Protect wined3d_chunk_vk map fields with a mutex.
wined3d: Allocate all Vulkan buffer BOs from heap.
Zhiyi Zhang (19):
uxtheme/tests: Add GetThemeIntList() tests.
uxtheme: Use vssym32.h instead of tmschema.h.
uxtheme: Support TMT_TRANSITIONDURATIONS property.
light.msstyles: Add TMT_TRANSITIONDURATIONS property.
uxtheme/tests: Add GetThemeTransitionDuration() tests.
uxtheme: Implement GetThemeTransitionDuration().
comctl32/button: Remove useless calculation for drawing group boxes.
comctl32/button: Use BS_PUSHLIKE instead of WS_EX_RIGHT in BUTTON_PositionRect().
comctl32/tests: Test WM_CTLCOLORSTATIC for static controls in a themed dialog.
uxtheme: Do not draw parent background when handling WM_CTLCOLORSTATIC for static controls.
uxtheme: Fix loading a different theme when theming is on.
comctl32/button: Simplify focus rectangle calculation for drawing themed push buttons.
comctl32/button: Simplify focus rectangle calculation for drawing themed split buttons.
comctl32/button: Add a get_box_rect() helper to calculation box rectangle.
comctl32/button: Correctly place parts for buttons with WS_EX_RIGHT.
comctl32/button: Correctly place parts for themed push buttons.
comctl32/button: Correctly place parts for themed check boxes.
comctl32/button: Correctly place parts for themed group boxes.
comctl32/button: Correctly place parts for themed split buttons.
Ziqing Hui (4):
d3dx10/tests: Add tests for D3DX10CreateTextureFromFile{A, W}.
d3dx10/tests: Add tests for D3DX10CreateTextureFromResource{A, W}.
user32/tests: Add ALT+letter hotkey tests.
server: Also queue hotkey message for WM_SYSKEYDOWN.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 6.0.2 is now available.
What's new in this release (see below for details):
- Compilation fixes (freetype, gcc 11)
- Default to building with GnuTLS support on macOS, if present
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.2.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.0.2 (total 51):
12076 Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)
12457 Multiple apps crash with NotImplementedException at IWebBrowser2.get_LocationName() (SharpDevelop 2.2, Clarion Enterprise Edition 9.0.10376)
19756 Date/time picker doesn't notify app about checkbox changes (TaskCoach: Cannot add new task with a due date)
24893 File/folder context menus have missing options (Explorer++, Double Commander)
29903 Multiple games and applications fail to enumerate processes due to 'wtsapi32.WTSEnumerateProcessesW' stub (Visual Studio 2005, .NET 2.0 SDK DbgCLR, Akamai DL Manager, Dekaron)
32749 Implement atl100.dll.AtlAxDialogBoxW to show error dialogs (Visual Studio 2010 (10.0) Express Edition)
35539 Proteus 8 demo fails to install
36010 Changing font resolution on winecfg changes default main font to Tahoma
39841 IShellFolder.CreateViewObject() doesn't support IID_IContextMenu (Double Commander "Error: invalid parameter" when right-clicking on an empty space)
44813 Some applications fail when calling ntdll.NtReadFile on a directory (expect STATUS_INVALID_DEVICE_REQUEST)
46817 Steam Big Picture needs d3d11_device_CreateDeviceContextState
47296 Google drive crashes before login
47310 Canon TS3100 series full driver and software package refuses to install: "To install the software, you must be logged in to an administrator account."
48123 Word 97 crashes after calling stub URLMoniker_ComposeWith
48412 Multiple games have lighting issue and textures blinking (Call of Duty 4: Modern Warfare, Call of Duty: Modern Warfare 2)
48507 osu! icons in the setting and music player are not being rendered
49434 Wine builtin 'iexplore' crashes upon loading Google Account login page
49663 Performance regression in TrackMania Nations Forever
49954 Multiple games and applications need msvcp140_1._Aligned_get_default_resource (EVE Online Launcher, QT Creator 3.x, Kate, Snap Camera 1.11.x, Cppcheck 2.3)
50119 Dark Souls II: Scholar of the First Sin shows a white screen with vulkan renderer
50147 Microsoft WebView2 "evergreen bootstrapper"/installer needs IStream::CopyTo()
50168 Error when running notepad.exe: Failed to start RpcSs service
50318 'HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath' registry entry has non-standard value
50362 Fl Studio 20.8 crashes on startup
50436 Upstream FAudio pkg-config file not found
50492 Amazon Chime 4.x (.NET 4.5 app) reports 'Failed to InjectErrorHandlingScript, Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLHeadElement''
50628 Fairy Tale About Father Frost, Ivan and Nastya crashes on DDERR_SURFACE_LOST
50673 FlatOut 2 crashes on launch
50697 Multiple applications crash due to DHTMLEdit 'IOleObject::GetExtent' stub (Atomic Mail Sender 4.2x)
50725 Nvidia FrameView 1.2 (Win10 app) crashes on unimplemented function tdh.dll.TdhLoadManifestFromBinary
50756 "Path is invalid." when using "SVN update" with SVN for Windows, which is used by TortoiseSVN
50791 NtQueryObject( ..., ObjectBasicInformation, NULL, 0, &retLen) returns incorrect NTSTATUS error code and no buffer size (EditSection, Google sandbox-attacksurface-analysis-tools v1.1.x)
50805 Win32_OperatingSystem class is missing 'ProductType' (affects Chocolatey)
50809 Multiple .NET 4.x application installers fail due to 'MsiNetAssemblySupport' property returning incorrect version (IronPython 2.7.5)
50811 gdi32.res fails to compile when freetype pkg-config cflags contain "-pthread"
50818 Mahou Shoujo Shoumou Sensen - DeadΩAegis (Trial) shows unreadable text in the message box.
50829 Process Hacker 2.38 crashes on unimplemented function dbghelp.dll.SymFromNameW
50830 Process Hacker 2.38 crashes on unimplemented function advapi32.dll.LsaEnumerateAccounts
50845 jscript crashes on internal assert(0) in PE build with clang
50854 Multiple Windows 10 application installers refuse to install, requiring 'advapi32.dll' version >= 6.3.10000.0 (Elgato Stream Deck 4.9.3, Windows Admin Center 2103)
50875 HTMLElement_get_offsetParent crashes wine if a NULL offset parent is expected (VbsEdit)
50885 PdfSharp creates invalid PDF files
50925 Error fetching public key in GetRSAKeyFromCert - File not found
50952 Legends of Runeterra crashes at launch
50960 NETCoreCheck from .NET Deployment Tools crashes on unimplemented function api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vfwprintf_p
51035 Alacritty v0.7.2 portable crashes: SetEnvironmentVariable ("some_non-existant_var", NULL) should return TRUE
51041 Scalable fonts with fsCsb[0] == 0 are not enumerated correctly
51076 demangle_datatype in ucrtbase crash in vc2019 x86 mode
51117 Silverlight_x64.exe (part of LEGO MINDSTORMS EV3 Home Edition installer) crashes
51324 Imperium Great Battles of Rome can't play videos
51631 winhttp:winhttp and winhttp:notification fail because echo.websocket.org is out of commission
----------------------------------------------------------------
Changes since 6.0.1:
Akihiro Sagawa (2):
gdi32: Move otmEMSquare initialization to freetype_load_font.
gdi32: Fix text metrics used in EnumFonts families.
Alexandre Julliard (7):
makefiles: Only allow includes and defines in pkg-config flags.
configure: Fix package name for FAudio.
ws2_32: Install network database files.
wine.inf: Fix the Tcpip database path.
explorer: Store the graphics driver basename instead of the full path.
gdi32/tests: Regenerate ttf files with the official fontforge version.
gdiplus/tests: Regenerate ttf files with the official fontforge version.
Alistair Leslie-Hughes (1):
gdi32: Don't override FontSubstitutes on a DPI only change.
Andrew Eikum (1):
windowscodecs: Avoid types deprecated in libtiff 4.3.
Andrey Turkin (1):
ieframe: Implement IWebBrowser2::get_LocationName().
Anton Baskanov (4):
amstream/tests: Add a test for event parameter of IDirectDrawStreamSample::Update.
amstream: Support the event parameter in IDirectDrawStreamSample::Update.
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
Arkadiusz Hiler (3):
msvcp90: Add helpers for creating base class RTTI.
msvcp140_1: Implement the DLL.
kernelbase: Fix GetFileVersionInfo*() crashes with malformed resources.
Austin English (2):
tdh: Add TdhLoadManifestFromBinary stub.
readme: Document Libera Chat migration.
Brendan Shanks (2):
wined3d: Add GPU information for Intel UHD Graphics 630.
configure: Work around Xcode 12's ld assuming 16KB page sizes.
Damjan Jovanovic (6):
comctl32: Send DTN_DATETIMECHANGE when the checkbox changes too.
shell32: The menu wIDs in hmenu were rebased by idCmdFirst.
shell32: Use a smaller range of shellview menu IDs in our IContextMenu functions.
shell32: Implement IID_IContextMenu in CreateViewObject() methods for shell folders that support it.
shell32/tests: Fix test failures from ad412b11a7ea17b708994ed6609f8ed0cbfb169b.
shell32: Fix a lock leak.
David Torok (1):
ntdll: Add NtCreateThread stub.
David White (1):
urlmon: Implement IMoniker_ComposeWith() for url monikers.
Dmitry Kislyuk (1):
mshtml: Fix NULL offset parent handling in IHTMLElement::get_offsetParent.
Dmitry Timoshkov (3):
crypt32: Implement CryptImportPublicKeyInfoEx2.
crypt32: Add support for importing RSA public keys with BCrypt.
ntdll: Exclude large integer APIs from relay tracing.
Esme Povirk (1):
gdiplus: Implement reference counting for private font families.
François Gouget (3):
tests: Trace the filename in winetest_wait_child_process().
tests: Add ignore_exceptions().
make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
Gijs Vermeulen (11):
wtsapi32: Avoid calling GetUserNameW() twice in WTSQuerySessionInformationW(WTSUserName).
wtsapi32/tests: Test returned username for WTSQuerySessionInformation(WTSUserName).
kernelbase: Reject SORT_DIGITSASNUMBERS in CompareStringA().
kernelbase: Support FileRenameInfo in SetFileInformationByHandle.
ntdll: Return STATUS_INFO_LENGTH_MISMATCH when len is too small in NtQueryObject(ObjectBasicInformation).
dbghelp: Implement SymFromNameW().
ntdll/tests: Refactor RtlSetEnvironmentVariable() tests.
ntdll: Don't fail when trying to remove the value of a non-existant variable in RtlSetEnvironmentVariable().
amstream: Handle AMMSF_RENDERALLSTREAMS in IAMMultiMediaStream::OpenFile().
winecfg: Disable virtual desktop when using macdrv.
secur32: Default to building with GnuTLS support on macOS, if present.
Haidong Yu (2):
shell32: Fix a memory leak.
shell32: Fix a memory leak.
Hans Leidekker (3):
ntdll: Fall back to reading /dev/urandom if getrandom() is not supported.
msi: Fix building the fusion filename.
winhttp: Use ws.ifelse.io for websocket tests.
Haoyang Chen (2):
gdiplus: Avoid filtering of special characters.
gdi32: Fix a memory leak.
Jacek Caban (3):
mshtml: Support DispHTMLHeadElement interface.
jscript: Use quiet NaNs in jsval.
msvcrt: Add sincos to importlib.
Jan Sikorski (1):
wined3d: Handle different slice pitches in uncompressed texture updates.
John Zourlios (1):
kernelbase: Accept LINGUISTIC_IGNOREDIACRITIC & SORT_DIGITSASNUMBERS in CompareStringEx().
Lauri Kenttä (1):
msvcrt: Handle negative zero, infinity and nan in _ecvt and others.
Louis Lenders (5):
wtsapi32: Implement WTSQuerySessionInformation(WTSDomainName).
wbemprox: Add ProductType to win32_operatingsystem class.
advapi32: Update version resource.
advapi32: Add stub for LsaEnumerateAccounts.
kernel32: Remove entry for BasepDebugDump.
Matteo Bruni (2):
wined3d: Handle blits to Vulkan swapchains not matching the D3D swapchain.
wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
Michele Dionisio (1):
msvcrt: Add __stdio_common_vfprintf_p and __stdio_common_vfwprintf_p.
Nguyễn Chính Hữu (1):
wined3d: Add GPU information for NVIDIA GT 1030.
Nikolay Sivov (2):
gdi32: Enumerate scalable fonts with zero charset mask as OEM.
shcore/stream: Implement generic CopyTo().
Owen Rudge (1):
winspool: Filter invalid characters when creating the PPD filename.
Paul Gofman (2):
ddraw/tests: Also test RT caps for software device.
vcruntime140_1: Support two continuation addresses for catchblock.
Piotr Caban (7):
msvcp90: Add macro that define type_info vtable.
msvcrt: Cleanup _ecvt tests.
msvcrt/tests: Link to malloc/free functions in cpp tests.
msvcrt/tests: Cleanup datatype demangle tests.
msvcrt: Fix _unDName crash when demangling class function pointer.
msvcrt: Improve memmove performance on i386 and x86_64 architectures.
winemac.drv: Don't filter non active displays out.
Qian Hong (1):
atl: Implement AtlAxDialogBox().
Roman Pišl (2):
kernel32/tests: Add test for FileRenameInfo in SetFileInformationByHandle.
kernelbase: Convert DOS to NT path for FileRenameInfo in SetFileInformationByHandle.
Rémi Bernon (3):
d3d11: Add initial implementation of CreateDeviceContextState.
dinput: Wait for the hook thread to exit when stopping it.
dinput: Prevent a device interface leak when enumerating.
Sebastian Lackner (1):
ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.
Torge Matthies (1):
winex11.drv: Avoid race condition in X11 error handling.
Vijay Kiran Kamuju (3):
dhtmled.ocx: Implement IOleObject::SetExtent and IOleObject::GetExtent functions.
dhtmled.ocx: Add stub IOleControl interface.
dhtmled.ocx: Fake success in IDHTMLEdit::NewDocument.
Zebediah Figura (5):
msi: Check for a NULL return from deformat_string() when checking for failure.
include: Factor out winetest_printf().
include: Introduce winetest_push_context() and winetest_pop_context().
wtsapi32: Implement WTSEnumerateProcessesW().
wine.inf: Install the protocol database at etc\protocol.
Zhiyi Zhang (1):
ntoskrnl.exe: Exclude large integer APIs from relay tracing.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 6.20 is now available.
What's new in this release (see below for details):
- MSXml, XAudio, DInput and a few other modules converted to PE.
- A few system libraries are bundled with the source to support PE builds.
- HID joystick is now the only supported joystick backend in DirectInput.
- Better support for MSVCRT builds in Winelib.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.20.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.20.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.20 (total 29):
30600 Emergency 3 crashes on start
34297 Allow reconnecting to disconnected joysticks
36796 Mozilla Firefox 13.0 crashes on startup if run in Windows Vista+ mode (D3D10CreateEffectFromMemory needs more complete Direct3D 10 DXBC parser)
38696 Messy screen in DxTex.exe
41080 Need For Speed Most Wanted 2005 not working after upgrade from Ubuntu 14.04 to 16.04
41317 WOLF RPG Editor: Gamepad axis value not recalculated after deadzone change results in ghost input events
41700 "Install Now" and "Customize installation" buttons are invisible in Python 3.5.2 installer
42137 DirectInput needs to join both Xbox shoulder triggers into a single axis (aka half-axis problem)
42434 Gamepad listed twice
42695 Path of Exile fails to start when launching with dx11 enabled with message "Failed to create WIC factory" (CoCreateInstance() called in uninitialized apartment)
47387 Victor Vran has no sound
49296 ZWCAD 2020: the program doesn't start (using mono)
49887 "EA Desktop" installer fails.
50758 Vbscript does not handle recursive calls
51105 Diablo 2: Resurrected (D2R) stays black
51385 DTS Encoder Suite won't start in Wine 6.0.1
51564 Can't run 16bit programs when built without mingw
51574 swscanf_s with %zu fails for valid value
51583 Tetris crashes due to "visual styles"
51707 Rise of the Tomb Raider stops the process before entering the main menu
51749 Wine 6.17 fails to build under Slackware64 Current with multilib
51797 Input lag with controller in Wine 6.18
51802 Theming on 16-bit application breaks their UI
51846 Standard library call fopen(..., "wx") not recognized - causes destruction of data
51863 QuantumClient.exe from Raymarine SDK needs dhcpcsvc6.dll
51871 PSScript fails with 0x80041002 (WBEM_E_NOT_FOUND) ( system property L"__Derivation" not implemented)
51892 Program DSP-408.exe returns Assertion Failed error in afxwin1.ini line 418
51894 ucrtbase:misc fails on some Windows 10 1607 and 1709
51902 Project CARS 2 keyboard keys aren't responsive
----------------------------------------------------------------
Changes since 6.19:
Alex Henrie (6):
winemenubuilder: Return pointer from freedesktop_mime_type_for_extension.
dhcpcsvc6: Add stub DLL.
winemenubuilder: Introduce a reg_enum_keyW helper function.
ws2_32: Clear last error in WSASocketW.
ws2_32: Set WSAEFAULT if the bind address is null.
ws2_32/tests: Correct name of IPV6_V6ONLY socket option in messages.
Alexandre Julliard (92):
configure: Define _GNU_SOURCE in config.h.
configure: Assume that dlfcn.h is available on Unix.
include: Don't define math functions or constants in wine/port.h.
server: Add sys/types.h include in a few more files.
adsiid: Move to the libs directory.
dmoguids: Move to the libs directory.
dxerr8: Move to the libs directory.
dxerr9: Move to the libs directory.
dxguid: Move to the libs directory.
mfuuid: Move to the libs directory.
strmiids: Move to the libs directory.
uuid: Move to the libs directory.
wbemuuid: Move to the libs directory.
wmcodecdspuuid: Move to the libs directory.
explorer: Use the correct buffer size for the full path name.
winemenubuilder: Remove dead code.
kernelbase: Remove dead code.
include: Define DECLSPEC_HIDDEN in guiddef.h if necessary.
include: Add more sal.h macros.
include: Import specstrings.h and related headers from Mingw.
include: Use compatible header guard in basetsd.h.
include: Add prototypes for the byteswap functions.
include: Add a define to enable fastcall wrappers, similar to the thiscall one.
configure: Add a __WINE_PE_BUILD define for files that are built as PE.
configure: Don't define _WIN32 for Cygwin builds.
configure: Always define _WIN32 for msvcrt builds.
include: Always add defines for the Interlocked* functions.
include: Define all the __int* types also for msvcrt.
msvcrt: Move _fdclass/_dclass to avoid forward references.
include: Define fpclassify().
include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
makefiles: Add support for building libraries imported from external sources.
makefiles: Don't pass warning flags to external libraries.
libs: Import upstream code from zlib 1.2.11.
cabinet: Use the bundled zlib.
dbghelp: Use the bundled zlib.
opcservices: Use the bundled zlib.
wininet: Use the bundled zlib.
libs: Import upstream code from libpng 1.6.37.
user32: Use the bundled libpng.
windowscodecs: Use the bundled libpng.
winecfg: Store the logo image in PNG format.
comdlg32: Return INT_PTR instead of LRESULT in dialog procedures.
cryptui: Return INT_PTR instead of LRESULT in dialog procedures.
oledb32: Return INT_PTR instead of LRESULT in dialog procedures.
user32: Return INT_PTR instead of LRESULT in dialog procedures.
libs: Import upstream code from libjpeg 9d.
windowscodecs: Use the bundled libjpeg.
libs: Import upstream code from libtiff 4.3.0.
windowscodecs: Use the bundled libtiff.
libs: Import code from upstream lcms2 2.12.
mscms: Use the bundled lcms2.
ntdll: Avoid including wine/port.h.
loader: Avoid including wine/port.h.
libwine: Avoid including wine/port.h.
msxml3: Always set output length in encoding conversion.
libs: Import code from upstream libxml2 2.9.12.
libs: Import code from upstream libxslt 1.1.34.
mxsml3: Use the bundled libxml2 and libxslt and build with msvcrt.
libs: Import upstream code from gsm 1.0.19.
msgsm32.acm: Use the bundled gsm codec and build with msvcrt.
wow64win: Add missing syscall entry for NtUserGetObjectInformation().
libs: Import upstream code from jxrlib 1.1.
wmphoto: Use the bundled jxrlib.
libs: Import upstream code from mpg123 1.29.1.
mp3dmod: Use the bundled mpg123 and build with msvcrt.
l3codeca.acm: Use the bundled mpg123 and build with msvcrt.
libs: Import code from upstream FAudio 21.10.
xaudio: Use the bundled FAudio and build with msvcrt.
winebuild: Add a more generic way to create directories and sections in fake dlls.
winebuild: Wrap 16-bit fake dlls in a PE module.
setupapi: Try to extract 16-bit image also from .fake files.
aclui: Use the standard va_list instead of __ms_va_list.
advpack/tests: Use the standard va_list instead of __ms_va_list.
avifil32: Use the standard va_list instead of __ms_va_list.
d3dcompiler: Use the standard va_list instead of __ms_va_list.
dbgeng: Use the standard va_list instead of __ms_va_list.
dinput8/tests: Use the standard va_list instead of __ms_va_list.
kernel32/tests: Use the standard va_list instead of __ms_va_list.
kernelbase: Use the standard va_list instead of __ms_va_list.
krnl386: Use the standard va_list instead of __ms_va_list.
msi: Use the standard va_list instead of __ms_va_list.
msvcrt: Use the standard va_list instead of __ms_va_list.
ntdll: Use the standard va_list instead of __ms_va_list.
ntoskrnl/tests: Use the standard va_list instead of __ms_va_list.
riched20: Use the standard va_list instead of __ms_va_list.
rpcrt4: Use the standard va_list instead of __ms_va_list.
shell32: Use the standard va_list instead of __ms_va_list.
shlwapi: Use the standard va_list instead of __ms_va_list.
user32: Use the standard va_list instead of __ms_va_list.
vcomp: Use the standard va_list instead of __ms_va_list.
wldap32: Use the standard va_list instead of __ms_va_list.
Alistair Leslie-Hughes (5):
wininet: Support option INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT for http requests.
dbghelp: Support UWOP_EPILOG in unwind.
include: Use known variables names in SYSTEM_INTERRUPT_INFORMATION.
wbemprox: Add WMI namespace.
powrprof: Add PowerRegisterSuspendResumeNotification stub.
Bernhard Kölbl (2):
oleaut32: Allow the registration of 64bit typelibs from a 32bit context.
oleaut32: Register a typelib's name if a documentation is not available.
Daniel Lehman (5):
msxml3/tests: Add some processing instruction tests.
msxml3: Parse XML declaration when creating processing instruction.
msxml3: Handle single quotes in xml declaration.
msxml3: Update error for missing closing quote.
msxml3: Handle NULL XML declaration.
David Kahurani (1):
winedump: Remove a FIXME.
Dmitry Timoshkov (2):
user32: Don't check active window state when handling SC_MINIMIZE/SC_MAXIMIZE/SC_RESTORE.
winex11.drv: Add GPU hardware information values to the registry.
Eduard Permyakov (1):
wbemprox: Add 'Manufacturer' and 'Name' properties to Win32_PnPEntity class.
Eric Pouech (23):
winedbg: Properly print 64bit integers.
winedbg: Fix result type in expression's computation.
winedbg: Use proper modifier when using sscanf for a DWORD_PTR.
winedbg: Simplify some printing of addresses.
winedbg: Use proper width when printing addresses with leading 0.
mscoree/tests: Remove unused parameter in sprintf.
winedump: Fix incorrect alignment.
winedump: Dump MSC's S_UNAMESPACE entries.
dbghelp: Use proper macros for VARIANT.
dbghelp: Report a couple more VARIANT types in symbol info for constants.
dbghelp: Add helper to initialize a module_pair.
dbghelp: Use wide string literals.
dbghelp: Handle some more error conditions in SymGetTypeInfo().
include/dbghelp.h: Update inline-related APIs and structures.
dbghelp: Add stubs for inline-related APIs.
dbghelp: Start implementing StackWalkEx.
dbghelp: Add stub implementation of SymFromInlineContext(W).
dbghelp: Add stub implementations of SymGetLineFromInlineContext(W).
dbghelp: Add stub implementations for the SymSetScope* functions.
dbghelp: Improve error handling in SymSetContext().
dbghelp: Factorize SymUnloadModule and SymUnloadModule64.
dbghelp/dwarf: Properly handle error cases while computing frame_cfa.
msvcrt: Support I width modifier in *scanf* family.
Esme Povirk (2):
localspl: Add ARM print environments.
localspl: Choose print environment based on architecture.
Florian Eder (1):
robocopy: Add stub.
François Gouget (3):
ctype.h: Add _isctype_l() declaration.
wrc: Add a trailing linefeed to a couple of error() messages.
winebus.sys: Add a trailing linefeed to a couple of FIXME()s.
Gabriel Ivăncescu (2):
mshtml: Implement HTMLDocument's toString using dispex_to_string.
mshtml/tests: Add tests for mimeTypes and plugins objects' names.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.196.
Gijs Vermeulen (1):
windows.devices.enumeration: Add stub dll.
Hans Leidekker (4):
wpcap: Accept interfaces without associated IPv4 or IPv6 address.
wbemprox: Return an empty array for __DERIVATION.
wbemprox: Add __DERIVATION to the list of system properties.
wbemprox: Implement Win32_OperatingSystem.Status.
Huw D. M. Davies (3):
maintainers: Update GDI files.
wineps: Avoid using typeof().
gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record.
Ivo Ivanov (1):
dinput: Ignore input caps from the PID usage page.
Jacek Caban (33):
win32u: Use syscall interface for bitmap functions.
win32u: Use syscall interface for region functions.
win32u: Use syscall interface for some DC functions.
win32u: Use syscall interface for some font functions.
win32u: Use syscall interface for some GDI objects functions.
win32u: Use syscall interface for some mapping functions.
win32u: Use syscall interface for some palette functions.
win32u: Use syscall interface for some path functions.
win32u: Use syscall interface for pen constructors.
win32u: Use syscall interface for spooler functions.
ntdll: Move error mapping to a header file.
ntdll: Export RtlNtStatusToDosError from Unix lib.
win32u: Move NtUserCloseWindowStation from user32.
win32u/tests: Add NtUserCloseWindowStation test.
win32u: Move NtUserGetProcessWindowStation implementation from user32.
win32u: Move NtUserSetProcessWindowStation implementation from user32.
win32u: Move NtUserCloseDesktop implementation from user32.
win32u: Move NtUserGetThreadDesktop implementation from user32.
win32u: Move NtUserSetThreadDesktop implementation from user32.
win32u: Move NtUserOpenInputDesktop implementation from user32.
win32u: Move NtUserGetObjectInformation implementation from user32.
win32u: Move NtUserSetObjectInformation implementation from user32.
make_unicode: Update vertical.c path.
win32u: Move NtUserCreateWindowStation implementation from user32.
win32u: Move NtUserOpenWindowStation implementation from user32.
win32u: Move NtUserCreateDesktopEx implementation from user32.
win32u: Move NtUserOpenDesktop implementation from user32.
win32u: Factor out reg_open_hkcu_key.
win32u: Move winstation initialization from user32.
win32u: Use syscall interface for some D3DKMT functions.
win32u: Don't use CDECL for font backend functions.
win32u: Don't use CDECL for OSMesa functions.
win32u: Don't call abort proc in NtGdiStartDoc.
Jan Sikorski (34):
wined3d: Make wined3d_device_context procedures thread safe.
wined3d: Do not call wined3d_device_destroy_default_samplers() in the CS thread.
wined3d: Use atomic instructions for resource view bind counts.
wined3d: Count all bo's towards retired bo size.
wined3d: Make reference count decrementing functions thread safe.
wined3d: Set render targets and UAVs atomically in wined3d.
d3d11: Use wined3d_device_context_set_render_targets_and_unordered_access_views() in OMSetRenderTargets.
d3d11: Don't grab wined3d lock for reference incrementing functions.
d3d11: Don't grab wined3d lock for wined3d_texture_incref().
d3d11: Don't grab wined3d lock for reference decrementing functions.
d3d11: Don't grab wined3d lock for wined3d_texture_decref().
d3d11: Don't grab wined3d lock for query issue functions.
d3d11: Don't grab wined3d lock for resource mapping and unmapping.
d3d11: Don't grab wined3d lock for wined3d state setters.
d3d11: Don't grab wined3d lock for wined3d draw functions.
d3d11: Don't grab wined3d lock for wined3d dispatch functions.
d3d11: Don't grab wined3d lock for wined3d copy (sub)resource functions.
d3d11: Don't grab wined3d lock for wined3d_device_context_update_sub_resource().
d3d11: Don't grab wined3d lock for view clears.
d3d11: Don't grab wined3d lock for wined3d_device_context_resolve_sub_resource().
d3d11: Don't grab wined3d lock for generating mipmaps.
d3d11: Don't grab wined3d lock for wined3d_device_context_reset_state().
d3d11: Don't grab wined3d lock for wined3d_device_context_flush().
d3d11: Don't grab wined3d lock for wined3d_device_context_copy_uav_counter().
d3d11: Don't grab wined3d lock for wined3d_device_context_execute_command_list().
d3d11: Don't grab wined3d lock for wined3d deferred context functions.
ddraw: Don't grab wined3d lock for wined3d_resource_unmap().
dxgi: Don't grab wined3d lock for wined3d_resource_map/unmap().
dxgi: Don't grab wined3d lock for wined3d_decref().
d3d8: Don't grab wined3d lock for wined3d_resource_map/unmap().
d3d8: Don't grab wined3d lock in vertex/indexbuffer AddRef/Release().
d3d8: Don't grab wined3d lock in surface AddRef/Release().
d3d9: Don't grab wined3d lock for wined3d_resource_map/unmap().
d3d8: Don't grab wined3d lock for wined3d_vertex_declaration_decref().
Jefferson Carpenter (1):
msxml3/saxreader: Handle null url in parseURL().
Julian Rüger (1):
po: Update German translation.
Martin Storsjö (1):
xslt: Build with LIBXSLT_STATIC, fix building with clang in MSVC mode.
Matteo Bruni (1):
wined3d: End transform feedback on SO buffer destruction even if the D3D buffer isn't bound.
Michael Stefaniuc (1):
dinput: Avoid negating FAILED().
Nikolay Sivov (23):
d3d10/effect: Use shader variable directly from pass structure on Apply().
d3d10/tests: Add some tests for annotations.
d3d10/effect: Use separate structure for annotations array.
d3d10/effect: Handle static variable assignments for object fields in state objects.
d3d10/effect: Add support for constant index and anonymous shader values in assignment parsing helper.
d3d10/effect: Consolidate state objects and passes property information.
d3d10/effect: Get rid of linear search for property information.
d3dx9: Implement ID3DXTextureShader::GetFunction().
d3d10/effect: Do not use internal value types.
d3d10/effect: Remove unused arguments from shader resources helper.
d3d10/effect: Add a helper to return array element.
d3d10/effect: Pick up resources from elements when shader variable arrays are used.
d3d10/effect: Use destination index when setting array property element.
d3d10/effect: Use SamplerState.Texture when setting shader resources.
d3d10/effect: Remove buffer type argument from object creation helper.
d3d10/effect: Use correct vertex shader element when returning input signature.
d3d10/tests: Use IsValid() instead of null checks.
dwrite: Add properties for new Unicode 13 scripts.
d3d11: Correctly handle optional arguments in OMGetDepthStencilState().
mfplay: Do not clear media item when playback ends.
mfplay: Handle NULL item in SetMediaItem().
mfplat: Consider MF_BYTESTREAM_ORIGIN_NAME when looking for bytestream handler.
mfplat: Use wide strings for registry paths.
Paul Gofman (9):
winhttp: Don't send notifications when connection is closed on read finish.
winhttp: Process end of read data before sending callback in read_data().
server: Use SO_BINDTODEVICE in bind_to_index() if possible.
winex11.drv: Detach vulkan surfaces during thread detach.
ntdll: Fix size comparison in NtQuerySystemInformation(SystemCodeIntegrityInformation).
ntdll: Store module check sum in WINE_MODREF.
include: Update LDR_DATA_TABLE_ENTRY definition.
include: Update struct _LDR_DDAG_NODE definition.
kernel32/tests: Add test for DDAG node dependencies structure.
Piotr Caban (16):
ucrtbase: Add __std_terminate export.
msvcrt: Don't crash on NULL in fclose.
imm32: Add ImmSetActiveContext implementation.
imm32: Exit on invalid window in ImmAssociateContext.
imm32: Use ImmSetActiveContext in ImmAssociateContext.
imm32: Only call ImmSetActiveContext for active window in ImmAssociateContext.
imm32: Initialize COM in ImmSetActiveContext.
imm32: Destroy default IME windows in ImmDisableIME.
winemac.drv: Silence ImeSetActiveContext fixme.
winex11.drv: Silence ImeSetActiveContext fixme.
ucrtbase: Fix fopen x mode test failures.
ucrtbase: Change _isblank_l return value for '\t'.
ucrtbase: Avoid bool optimization in __std_exception_copy.
imm32: Delay import ole32.dll.
user32: Set IMM active context on focus change.
imm32: Only call ImmSetActiveContext for focused window in ImmAssociateContext.
Robert Wilhelm (2):
vbscript: Emit catch after enumnext in for each loops.
oleaut32: Rescale result after overflow in VarDecAdd.
Rémi Bernon (64):
dinput: Move device_instance_is_disabled to device.c.
dinput: Move PIDVID internal guid to device.c.
dinput: Remove legacy joystick backends.
dinput: Build with msvcrt.
dinput: Use wide char string literals.
dinput: Use msvcrt memory allocation functions.
maintainers: Add hidparse.sys under HID support.
maintainers: Replace DirectInput with a Joystick input section.
maintainers: Assume maintainership of the Joystick input section.
dinput: Only dump the HID report data that has been read.
winebus.sys: Do not parse bluetooth "PRODUCT=" uevent field.
dinput8/tests: Add some more polled read tests.
hidclass.sys: Re-read the poll timeout on every iteration.
hidclass.sys: Don't queue reports in polled mode.
dinput: Fix invalid use of post-incremented device_count value.
dinput: Factor all GetDeviceInfo implementations together.
dinput: Factor all GetCapabilities implementations together.
dinput: Factor all BuildActionMap wrappers together.
dinput: Factor all SetActionMap wrappers together.
dinput: Move mouse (Un)Acquire functions around.
dinput: Factor all (Un)Acquire implementations together.
dinput: Introduce new dinput_device_internal_unacquire helper.
dinput: Wait for the internal thread to complete unacquiring.
dinput: Correctly parse instance numbers for joystick semantics.
hidparse.sys: Ignore unknown item types, rather than failing.
dinput8/tests: Remove old packet report id checks in HID driver.
joy.cpl: Consistently use the 32 buttons limit from DIJOYSTATE.
joy.cpl: Better handle effect creation errors.
winebus.sys: Fix inverted SDL joystick hat switch y axis.
dinput: Add support for more HID axes usages.
dinput8/tests: Add mouse and keyboard object enumeration tests.
dinput: Introduce new direct_input_device_init helper.
dinput: Implement EnumObjects through the internal vtable.
dinput: Implement internal enum_objects for the mouse device.
dinput: Implement internal enum_objects for the keyboard device.
dinput: Factor all GetObjectInfo implementations together.
winebus.sys: Define BUS_BLUETOOTH if it is missing.
winebus.sys: Only use SDL_JoystickRumble as a fallback.
winebus.sys: Process quirky DS4 bluetooth reports.
dinput: Use object instance offset to access extra value caps.
dinput: Factor all GetProperty implementations together.
dinput: Implement GetProperty with DIPROP_FFGAIN stub.
dinput: Use the base device state in the mouse device.
dinput: Use the base device state in the keyboard device.
dinput: Factor all SetProperty implementations together.
dinput: Factor object enumeration checks and offset mapping.
dinput: Factor all Poll implementations together.
dinput: Check for mouse warping in the poll callback.
dinput: Factor all GetDeviceState implementations together.
dinput: Add a release callback for internal refcount handling.
dinput: Replace stub EnumEffects with generic implementation.
dinput: Use the internal vtable for GetEffectInfo.
dinput: Move GetForceFeedbackState stub to device.c.
dinput: Move CreateEffect generic implementation to device.c.
dinput: Move SendForceFeedbackCommand generic code to device.c.
dinput: Move EnumCreatedEffectObjects checks to device.c.
winebus.sys: Prefer USAGE_AND_PAGE over BYTE arrays.
winebus.sys: Count all absolute axes.
winebus.sys: Map REL_HWEEL to HID_USAGE_GENERIC_SLIDER.
winebus.sys: Map SDL joystick axes the same way as UDEV evdev.
dinput: Set high DIK bit for extended scancodes.
dinput: Cleanup mouse device enumeration and creation.
dinput: Cleanup keyboard device enumeration and creation.
dinput: Factor all IDirectInputDevice8W vtables together.
Simon McVittie (2):
winebus.sys: Treat udev actions other than "remove" as "add".
winebus.sys: Add code path to bypass udevd and use inotify.
Ted Lyngmo (1):
ucrtbase: Add support for x mode in fopen.
Tim Clem (5):
winemac.drv: Simplify cursor clipping code paths.
winemac.drv: Stop cursor clipping when the app deactivates.
winemac.drv: Stop cursor clipping when a window is resized by dragging.
winemac.drv: Stop cursor clipping when all windows are minimized.
winemac.drv: Remove extraneous CGEventTapIsEnabled check.
Zebediah Figura (30):
server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).
server: Avoid touching the poll_req structure after calling async_request_complete() (Valgrind).
wined3d: Return the map pitch from wined3d_device_context_emit_map().
wined3d: Return the map pitch from the map_upload_bo() callbacks.
wined3d: Move the "users" field to a common wined3d_bo structure.
wined3d: Move the "memory_offset" field from struct wined3d_bo_vk to struct wined3d_bo.
wined3d: Omit GL_MAP_FLUSH_EXPLICIT_BIT for incoherent maps when ARB_MAP_BUFFER_RANGE is used.
wined3d: Move the "coherent" field from struct wined3d_bo_gl to struct wined3d_bo.
wined3d: Move the "map_ptr" field from struct wined3d_bo_vk to struct wined3d_bo.
wined3d: Handle NOOVERWRITE maps on persistently mapped Vulkan buffers from the client thread.
kernel32/tests: Add a couple of tests for error handling when reading past EOF.
include: Fix the type of the "output" parameter of IWMReaderAllocatorEx::AllocateForOutputEx().
include: Add IWMGetSecureChannel.
include: Add IWMIStreamProps.
include: Add IWMReaderCallbackAdvanced.
include: Add IWMCredentialCallback.
include: Add INSSBuffer3.
wined3d: Fully initialize the allocator structure in wined3d_allocator_init().
d3d10core/tests: Test deleting a stream output buffer immediately after drawing into it.
d3d11/tests: Test deleting a stream output buffer immediately after drawing into it.
winegstreamer: Move the IWMProfile3 implementation to a separate object.
winegstreamer: Use the wm_reader object for the synchronous reader as well.
wmvcore/tests: Sort interface tests.
winegstreamer: Move the IWMHeaderInfo3 implementation to the wm_reader object.
winegstreamer: Move the IWMLanguageList implementation to the wm_reader object.
winegstreamer: Move the IWMPacketSize2 implementation to the wm_reader object.
winegstreamer: Move the IWMReaderPlaylistBurn implementation to the wm_reader object.
winegstreamer: Move the IWMReaderTimecode implementation to the wm_reader object.
quartz: Use the performance counter for the system clock.
quartz: Avoid accessing the advise_sink structure after it is queued.
Zhiyi Zhang (19):
Revert "winevdm: Enable visual styles.".
appwiz.cpl: Pass size in bytes to RegQueryValueExW().
msctf: Set size before calling RegQueryValueExW().
msi: Pass size in bytes to RegQueryValueExW().
mshtml: Pass size in bytes to RegQueryValueExW().
shell32: Pass size in bytes to RegLoadMUIStringW() and RegQueryValueExW().
winemac.drv: Add GPU hardware information values to the registry.
winex11.drv: Set hkey to NULL after RegCloseKey() in X11DRV_InitGpu().
winemac.drv: Set hkey to NULL after RegCloseKey() in macdrv_init_gpu().
comctl32/combo: Invalidate child edit control after painting themed background.
uxtheme: Pass size in bytes to RegQueryValueExW().
winemac.drv: Pass size in bytes to RegQueryValueExW().
winex11.drv: Pass size in bytes to RegQueryValueExW().
cmd: Pass size in bytes to RegQueryValueExW().
winecfg: Pass size in bytes to RegQueryValueExW().
winefile: Set size before calling RegQueryValueExW().
user32: Change the position and size of layered windows before flushing their surfaces.
uxtheme: Save temporary system metrics to a struct in memory.
uxtheme: Check LoadedBefore registry key before loading theme.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.19 is now available.
What's new in this release (see below for details):
- IPHlpApi, NsiProxy, WineDbg and a few other modules converted to PE.
- More HID joystick work.
- Kernel parts of GDI moved to Win32u.
- More work towards Dwarf 3/4 debug support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.19.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.19.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.19 (total 22):
30760 Open Metronome (WAV version) crashes on exit
32252 Corel Painter 12 EULA next button greyed out no matter what
37167 IEC 61850 v2.02 example client expects 'wine_pcap_findalldevs_ex' to return adapter names in '<protocol>://\Device\NPF_<adaptername>' format
37208 FreeOrion hangs when starting a quick game
44336 PureBasic x64 IDE crashes when launching online help ("F1" key)
47334 TP-Link PLC utility 2.2 crashes on startup with native 'packet.dll' (part of WinPcap)('wine_pcap_findalldevs' needs to handle empty adapter description)
47505 Levelhead: Fatal error when attempting to access the game's servers when logged in
49344 Implement kernelbase.GetModuleFileNameW using ntdll.LdrGetDllFullName
49433 MikuMikuMoving v1275 hangs on startup
50857 Darksiders Warmastered Edition crashes before starting an intro
51199 Mass Effect Legendary missing api-ms-win-core-psapi-l1-1-0 and api-ms-win-core-psapi-ansi-l1-1-0 function forwards
51504 Multiple games crash before gameplay starts/entering main menu (Control Ultimate Edition, A Plague Tale: Innocence)
51774 quartz:mpegsplit triggers an assertion in winegstreamer's src_seek_data()
51778 ws2_32:sock crashes due to a double free
51789 Fatal crash in gdi32 during initialization
51818 Reporting packet length is always 0
51822 Simucube 2 TrueDrive: Doesn't recognize the steering wheel device
51824 TrueDrive, SimHub, Fanaleds,etc.: Non smooth movement tracking with severe skipping/jumping of the steering wheel/controller axis
51828 Simucube 2: All applications using raw HID access to communicate with devices, stopped tracking steering axis movement
51831 TrueDrive: On start shows an alert that the steering wheel is turned around too close to the bump stops, while the wheel is actually aligned on top center
51837 Thronebreaker: The Witcher Tales fails to play intro videos
51838 No splash window while creating prefix
----------------------------------------------------------------
Changes since 6.18:
Alex Henrie (5):
ws2_32: Remove outer preprocessor checks from control message functions.
ws2_32/tests: Use %u and %Iu in test_ipv6_cmsg instead of casting.
ws2_32/tests: Add tests for IPv4 control messages.
ws2_32: Hook up IP_RECVTTL.
ws2_32: Hook up IP_RECVTOS.
Alexandre Julliard (56):
ntdll: Return a cleaner Unix path for z: drive in wine_nt_to_unix_file_name().
ntdll: Add a __wine_unix_spawnvp syscall.
winevdm: Build with msvcrt.
winebrowser: Build with msvcrt.
tools: Add a shared header for common helper functions.
tools: Add helper functions to spawn a command from an strarray.
tools: Add a helper function to create temp files.
tools: Add a few helper functions for file names and extensions.
winedump: Use the shared tools functions.
widl: Use a string array for the filenames list.
winemenubuilder: Abort on memory allocation failures.
winemenubuilder: Use PathMatchSpec() instead of fnmatch().
winemenubuilder: Store the paths of .lnk files as DOS paths.
winemenubuilder: Launch .lnk files directly through the Wine loader.
winemenubuilder: Use Unicode strings to process association entries.
winemenubuilder: Use Unicode strings to write desktop entries.
winemenubuilder: Use DOS path names to create desktop and menu files.
winemenubuilder: Use DOS path names to create icon files.
winemenubuilder: Use DOS path names to create associations.
winemenubuilder: Build with msvcrt.
winemenubuilder: Use wide character string literals.
winedbg: Use winsock for the gdb socket.
winedbg: Avoid using 'long' types.
winedbg: Avoid using the 'long double' type.
winedbg: Build with msvcrt.
configure: Remove no longer needed poll() checks.
tools: Implement a replacement for getopt_long().
widl: Avoid using getopt_long().
wmc: Avoid using getopt_long().
wrc: Avoid using getopt_long().
winebuild: Avoid using getopt_long().
sfnt2fon: Avoid using getopt_long().
make_xftmpl: Avoid using getopt().
server: Avoid using getopt_long().
server: Avoid mkstemps().
libport: Remove the getopt_long() implementation.
libport: Remove the mkstemps() implementation.
libport: Remove the _spawnvp() implementation.
configure: Disable building mountmgr.sys on Windows for now.
tools: Move some portability defines out of port.h.
libport: Remove the obsolete O_LARGEFILE define.
libport: Remove the lstat() implementation.
libport: Remove the readlink() implementation.
libport: Remove the symlink() implementation.
makefiles: Remove libwine_port.
makefiles: Use the STATICLIB variable for static import libraries.
bcrypt: Remove some no longer needed Unix backend functions.
bcrypt: Add a helper macros to load GnuTLS optional functions.
bcrypt: Move public key allocation to the PE side.
bcrypt: Convert the Unix library to the __wine_unix_call() interface.
ntdll: Move some exception definitions to winternl.h.
configure: Remove some no longer needed configure checks.
tools: Avoid using wine/port.h.
server: Avoid using wine/port.h.
configure: Use CROSSLDFLAGS as flags for cross-compiler tests.
makefiles: Only build static libraries that are needed for linking.
Alistair Leslie-Hughes (4):
include: Add SPSTREAMFORMAT enum values.
wininet: Reset context length for http status 304.
include: Add more sapi interfaces.
wininet: Allow up to 4K for response headers.
Arkadiusz Hiler (1):
hidclass.sys: Don't send WM_INPUT_DEVICE_CHANGE for WINEXINPUT devices.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (1):
api-ms-win-core-realtime-l1-1-1: Add stub DLL.
Charles Davis (4):
winegcc: Only add -static-libgcc if -nodefaultlibs weren't given. (Clang).
crypt32: Use the SecItemExport() function.
secur32: Use the SecItemExport() function.
configure: Stop checking for SSLCopyPeerCertificates().
Connor McAdams (18):
include: Define EVENT_OBJECT_INVOKED.
user32/tests: Add missing winevents to test_menu_messages() message sequences.
user32/tests: Fix existing winevents in test_defwinproc() message sequences.
user32/tests: Add missing winevents to test_defwinproc() message sequences.
user32/tests: Add message to fix occasional failure in test_dialog_messages().
oleacc: Add get_accRole implementation for edit client accessible object.
oleacc: Add get_accState function for edit client accessible object.
oleacc: Add get_accName function for edit client accessible object.
oleacc: Add get_accKeyboardShortcut function for edit client accessible object.
oleacc: Add get_accValue function for edit client accessible object.
oleacc: Add put_accValue function for edit client accessible object.
oleacc/tests: Add tests for default edit accessible object.
user32/tests: Store thread ID of thread we're watching for winevents.
user32/tests: Add missing winevents to test_layered_window() message sequences.
user32/tests: Add missing winevents to test_TrackPopupMenu() message sequences.
user32/tests: Add missing winevents to test_TrackPopupMenuEmpty() message sequences.
user32/tests: Add missing winevents to test_DoubleSetCapture() message sequences.
user32/tests: Fix dump_sequence winevent_hook_todo handling.
Daniel Lehman (1):
ntoskrnl.exe: Fix use-after-free when freeing IRP.
Dmitry Timoshkov (1):
vcruntime140_1: Fix compilation with clang.
Eric Pouech (33):
dbghelp/dwarf: Fix a couple of parent/child mismatch.
dbghelp/dwarf: Add support for partial compilation units.
dbghelp/dwarf: Add support for DW_TAG_imported_unit.
dbghelp/dwarf: Pass cuhead to loc_compute_frame.
dbghelp/dwarf: Split dwarf2_virtual_unwind into two functions.
dbghelp/dwarf: Added support for OP_call_frame_cfa.
dbghelp/dwarf: Silence a couple of dwarf DIE's tag in load_one_debug_entry.
dbghelp/dwarf: Downgrade FIXME into WARN for empty range.
dbghelp/dwarf: Add support for local variables with constant values.
dbghelp/dwarf: Fix incorrect WARN.
dbghelp/dwarf: Bump max supported version (by default) up to 4.
include/cvconst.h: Add enumeration for newest SymTag values.
d3dx9: Fix use of D3DXVec2Normalize().
d3dx9/tests: Fix use of D3DXVec2Normalize().
dbghelp: Don't expose SymTagExe or SymTagCompiland's address nor length in SymGetTypeInfo().
dbghelp: Expose compiland's children in SymGetTypeInfo().
dbghelp: Manage parent/child relationship between SymTagExe and SymTagCompiland.
dbghelp: Silence FIXME when requesting SymTagExe lexical parent in SymGetTypeInfo().
dbghelp: Expose SymTagBlock's children in SymGetTypeInfo().
dbghelp: Expose SymTagBlock's address and size in SymGetTypeInfo().
dbghelp: Update SymGetTypeInfo() requests and SymTagEnum to latest dbghelp definitions.
dbghelp: SymTagFunctionArgType's lexical parent is module, not SymTagFunctionType.
dbghelp: Expose no children in SymGetTypeInfo() for some SymTags.
dbghelp: Silence FIXMEs in SymGetTypeInfo().
dbghelp: Return error when requesting SymTagLabel's size in SymGetTypeInfo().
dbghelp: Return SymTagExe when requesting lexical parent of types in SymGetTypeInfo().
dbghelp: Return lexical parent of SymTag(FuncDebugStart|FuncDebugEnd|Label) in SymGetTypeInfo().
dbghelp: Return SymTagExe when requesting lexical parent of SymTagPublicSymbol in SymGetTypeInfo().
dbghelp: Report once FIXME of unsupported requests in SymGetTypeInfo().
dbghelp/dwarf: Correctly compute address of label.
dbghelp: MapDebugInformation and UnmapDebugInformation are not available on 64 bit architectures.
dbghelp: Handle address of labels not included in functions.
dbghelp: Added support for custom symbols.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (20):
mshtml: Adjust the IWineHTMLWindowPrivate ids.
mshtml: Implement proper value for WineDOMTokenList.
mshtml: Expose toString() for WineDOMTokenList.
mshtml: Implement HTMLAreaElement's href prop.
mshtml: Implement HTMLStyleSheet's addRule.
gdi32: Create the registry keys recursively, if needed.
mshtml: Add names for each object and use it in the Navigator.
mshtml: Use dispex_to_string when retrieving the value of an object.
mshtml: Use proper compat mode for HTMLDOMAttribute.
mshtml: Cap the compat mode for filters collection to IE8 mode.
mshtml: Implement HTMLElement's toString.
mshtml/tests: Add more tests for builtin objects' toString and names.
mshtml: Implement HTMLWindow's toString properly.
mshtml: Implement HTMLElementCollection's toString.
mshtml: Implement HTMLStyle's toString.
mshtml: Implement HTMLDOMTextNode's toString.
mshtml: Expose window.performance in all modes.
mshtml: Implement HTMLPerformance's toString.
mshtml: Implement HTMLPerformanceNavigation's toString.
mshtml: Implement HTMLPerformanceTiming's toString.
Georg Lehmann (2):
winevulkan: Support aliased constants.
winevulkan: Update to VK spec version 1.2.195.
Gerald Pfeifer (1):
winebus.sys: Fix non-Linux builds.
Gijs Vermeulen (2):
bcrypt: Remove macOS backend.
secur32: Remove macOS backend.
Giovanni Mascellani (3):
winegstreamer/media_source: Emit absolute presentation timestamp.
winegstreamer/media_source: Only seek if it was requested by the caller.
winegstreamer/media_source: Implement paused state.
Hans Leidekker (5):
secur32: Store LSA package and handle in the credential/context handle's dwLower field.
secur32: Don't allocate new handles in the wrapper.
wpcap: Wrap native handles in a structure.
wpcap: Convert pcap_pkthdr structures.
wpcap: Map Unix interfaces to Windows adapters.
Huw D. M. Davies (26):
secur32: Restore the done label.
nsiproxy: Use a pthread_mutex to guard the interface list.
nsiproxy: Use an ascii version of str(n)casecmp() instead of _strnicmp().
nsiproxy: Switch memory allocations to malloc().
nsiproxy: Build with msvcrt.
nsiproxy: Rename private unixlib header to unix_private.h.
nsiproxy: Let the general dispatch function update the irp's status.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ICMP_ECHO.
nsiproxy: Actually send the ICMP ECHO request.
nsiproxy: Introduce a unix-side handle returned by icmp_send_echo().
nsiproxy: Pass the listen request off to a separate thread.
nsiproxy: Wait for an icmp reply.
nsiproxy: Parse any received ICMP_ECHO_REPLY.
nsiproxy: Add support for parsing other icmp packets.
nsiproxy: Implement the ability to cancel the listener.
winebus.sys: Convert the product strings to Unicode on the Unix-side.
iphlpapi: Stop using USE_WS_PREFIX.
iphlpapi: Implement IcmpParseReplies().
iphlpapi: Move the Icmp6 stubs to iphlpapi_main.c.
iphlpapi: Implement IcmpSendEcho2Ex() using nsiproxy.
iphlpapi: Build with msvcrt.
iphlpapi: Build with nameless structs and unions.
iphlpapi: Use wide character string literals.
cryptnet/tests: Explicitly set cbSize before each test.
configure: No longer disable iphlpapi in a Windows build.
ntdll: Return a failure if the unix call funcs don't exist.
Ivo Ivanov (4):
hidparse.sys: Preserve the original report_count in parse_new_value_caps.
hidclass.sys: Use the report length when copying report data.
winebus.sys: Fix memory leaks in bus_event_queue functions.
winebus.sys: Fix incorrect length when parsing uevent "HID_NAME=".
Jacek Caban (48):
gdi32: Directly use ntdll in update_font_system_link_info.
gdi32: Directly use ntdll in update_codepage.
gdi32: Directly use ntdll in init_font_options.
gdi32: Directly use ntdll in get_associated_charset_info.
gdi32: Directly use ntdll in load_system_bitmap_fonts and load_file_system_fonts.
gdi32: Directly use ntdll in update_external_font_keys.
gdi32: Directly use ntdll in load_registry_fonts.
gdi32: Read screen DPI config in init_font_options.
gdi32: Move __wine_get_wgl_driver to driver.c.
gdi32: Fix NT prefix handling in update_external_font_keys.
user32: Always initialize graphics_driver in load_desktop_driver.
gdi32: Don't use wide string literals ntgdi functions.
gdi32: Get codepages and OS version directly from PEB.
gdi32: Remove unused argument from CreateDC driver entry point.
gdi32: Use NtGdiOpenDCW for CreateDCW.
gdi32: Don't use WideCharToMultiByte in font.c.
gdi32: Introduce user_callbacks.
gdi32: Avoid using CRT wide char functions in ntgdi functions.
gdi32: Move ntgdi functions to Unix library.
gdi32: Use single get_cptable implementation.
gdi32: Use native memory allocators in Unix library.
gdi32: Use NtAllocateVirtualMemory to alloc DC_ATTR.
gdi32: Use NtAllocateVirtualMemory to allocate GDI_SHARED_MEMORY.
makedep: Use -fno-builtin for CRT DLLs on PE targets.
makedep: Don't use -fno-builtin for importlibs.
gdi32: Use pthread mutex in driver.c.
gdi32: Use pthread mutex instead of gdi_section.
gdi32: Use pthread mutex in font.c.
gdi32: Use pthread mutex in dib driver.
gdi32: Use win32u_wcsicmp instead of RtlCompareUnicodeStrings.
gdi32: Don't use RtlDosPathNameToNtPathName_U in get_unix_file_name.
gdi32: Avoid using RtlOpenCurrentUser.
gdi32: Use local helpers for Unicode conversion in Unix lib.
include: Don't use DECLSPEC_HIDDEN for NTSYSAPI in Unix libs.
ntdll: Introduce ntdll_get_build_dir and ntdll_get_data_dir.
ntdll: Provide some Unicode helpers for Unix libs.
ntdll: Allow Unix libraries to use exception macros.
ntdll: Handle Unix lib exception outside Unix stack.
gdi32: Use __wine_unix_call interface for Unix library.
gdi32: Use __wine_ prefix for Wine ntgdi extensions.
win32u: Move ntgdi implementation from gdi32.
include: Use __builtin_offsetof on Clang.
gdi32: Rename gdidc.c to dc.c.
user32: Link directly to win32u.
gdi32: Don't export Wine extensions.
gdi32: Use DLL forwarding for D3DKMT functions.
win32u: Use syscall interface for brush functions.
vbscript: Use a dedicated opcode for identifier expressions.
Jan Sikorski (8):
wined3d: Record a state reset on the first command list.
wined3d: Initial implementation of queries for deferred contexts.
wined3d: Return error when GetData() is called from a deferred context.
wined3d: Introduce wined3d_view_load_location() helper.
wined3d: Don't pass wined3d_shader to shader_spirv_compile().
wined3d: Use a single allocation for command list data.
wined3d: Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for unordered access images.
wined3d: Implement UAV clears on the Vulkan backend.
Jinoh Kang (1):
user32: Implement WindowFromPhysicalPoint.
Julian Rüger (1):
po: Update German translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (5):
d3d10core/tests: Use test contexts in test_stream_output().
wined3d: Get rid of a WARN() in init_format_filter_info().
d3dx9/tests: Clean up GetMatrixPointerArray() tests.
d3dcompiler/tests: Also accept broken HRESULT with d3dcompiler_46.
ntdll: Implement NtYieldExecution() as usleep().
Nikolay Sivov (56):
d3d10/effect: Validate shared object types against the pool.
d3d10/effect: Validate shared constant buffer types against the pool.
d3d10/effect: Implement IsOptimized().
d3d10/effect: Handle D3D10_SVT_UINT when reading float constants.
d3d10/tests: Regenerate state group test effect with newer compiler.
ole32/tests: Systematically check for supported moniker interfaces.
ole32/tests: Add some tests for CommonPrefixWith().
ole32/composite: Implement CommonPrefixWith() without iterators.
ole32/composite: Fix IsEqual() comparison logic.
ole32/composite: Fix argument handling in ComposeWith().
ole32/composite: Reimplement Inverse().
ole32/antimoniker: Fix argument handling in RelativePathTo().
ole32/itemmoniker: Fix argument handling in RelativePathTo().
ole32/pointermoniker: Fix argument handling in RelativePathTo().
ole32/filemoniker: Fix argument handling in Reduce().
ole32/composite: Improve handling of BindToObject() when left side moniker is specified.
ole32/composite: Handle per-component failure in GetDisplayName().
ole32/pointermoniker: Fix argument check in GetDisplayName().
ole32/tests: Add a GetComparisonData() test for composite.
ole32/composite: Cleanup IsRunning() implementation.
ole32/composite: Do not use antimoniker composition in BindToStorage().
ole32/composite: Reimplement Reduce().
ole32/composite: Fix argument handling in component enumerator methods.
ole32/composite: Do not use enumerators and antimoniker composition in RelativePathTo().
ole32/composite: Disable cloning of enumerator instances.
ole32/composite: Cleanup enumerator methods.
ole32: Use public function to get file extension in GetClassFile().
riched20: Remove New() allocation macro.
riched20: Use regular allocation helpers for text services objects.
d3d10/effect: Go through both local and shared buffers when looking for shader resources.
d3d10/effect: Go through both local and shared variables when looking for shader resources.
ole32/tests: Remove unused variable.
d3d10/effect: Fix handling samplers array binding.
d3d10/effect: Set corresponding flag for pooled variables.
d3d10/effect: Remove unused field from pass structure.
d3d10/effect: Reduce duplication in state and shader object release helpers.
d3d10/effect: Use separate enum to describe property container.
d3d10/effect: Make it clear which assignment types are supported in state groups.
d3d10/effect: Remove a bit of a dead code for semantic handling, for anonymous shader variables.
widl: Allow modules without attributes.
widl: Allow [hidden] and [version] on modules.
include: Add some more TOM interfaces.
d3d10/effect: Remove fixme from D3D10CreateEffectFromMemory().
d3d10/effect: Make it clear that buffers are always set one by one.
d3d10/effect: Rename known and used field in type descriptor.
d3d10/effect: Access pool effect structure directly.
d3d10/effect: Extend sampler backing store with a texture field.
d3d10/effect: Handle NULL initializer for SamplerState.Texture field.
ntdll: Double dll name buffer size for relay traces.
d3d10/effect: Use effect variable pointers to store per-pass shader objects.
d3d10/effect: Set shader masks in ComputeStateBlockMask() for passes.
d3d10: Fix up D3D10_DST_* names.
d3d10/effect: Explicitly store rasterizer state variable.
d3d10/effect: Explicitly store depth stencil state variable.
d3d10/effect: Explicitly store blend state variable.
d3d10/effect: Set state block masks for state variables.
Paul Gofman (12):
ntdll: Implement LdrGetDllHandleEx() function.
kernelbase: Sanitize flags in GetModuleHandleExW().
kernelbase: Don't use LdrLockLoaderLock() in GetModuleHandleExW().
kernelbase: Don't use loader lock for loading libraries as data files.
ntdll: Factor out get_vprot_range_size() function.
ntdll: Scan pages only once in get_basic_memory_info().
ntdll: Optimize get_vprot_range_size() for big ranges.
ntdll/tests: Add test for LdrGetDllFullName().
ntdll: Implement LdrGetDllFullName() function.
kernelbase: Use LdrGetDllFullName() in GetModuleFileNameW().
kernelbase: Fix string size variable overflow in GetModuleFileNameW().
wintrust: Cache provider functions in WintrustLoadFunctionPointers().
Piotr Caban (11):
oleacc: Reorganize class specific behaviour handling.
oleacc: Add default client IAccessible::put_accValue implementation.
user32/tests: Print context in window style tests.
user32/tests: Test style returned by GetWindowLong in WM_CREATE.
user32/tests: Don't use the same condition in ok and todo_wine_if.
user32: Simplify CreateWindow condition for setting WS_EX_WINDOWEDGE style.
user32: Add helper for setting WS_EX_WINDOWEDGE flag.
user32: Update exstyle when setting style in SetWindowLong.
user32/tests: Test window style in HCBT_CREATEWND hook.
user32: Fix style passed to HCBT_CREATEWND hook.
user32: Fix window style while CBT_CREATEWND hook is called.
Robert Wilhelm (1):
vbscript: Don't use function return value for call expressions.
Rémi Bernon (124):
dinput: Use a custom HID joystick state instead of DIJOYSTATE2.
dinput: Enumerate all HID joystick objects at once.
dinput: Return proper error status from HID joystick GetObjectInfo.
dinput: Convert DIPH_BYOFFSET filter to use current data format offsets.
dinput: Compute HID joystick object offsets dynamically.
kernelbase: Fix incorrect pseudo console allocation size (GCC 11).
winebus.sys: Move hidraw_device code around.
dinput: Return DIERR_NOTFOUND when DIPROP_RANGE object isn't found.
dinput: Return DIERR_UNSUPPORTED when reading DIPROP_RANGE with DIPH_DEVICE mode.
dinput: Check that DIPROP_RANGE lMin and lMax are ordered.
dinput: Reset the HID joystick state values on DIPROP_RANGE changes.
dinput: Scale HID joystick axis values according to their center point.
dinput: Implement HID joystick DIPROP_(DEADZONE|SATURATION|GRANULARITY).
dinput: Implement HID joystick DIPROP_AUTOCENTER property.
dinput: Remove unusual HID joystick button count FIXMEs.
include: Add HID Physical Interface Device usage page.
include: Add Wine-specific HID PID usages definitions.
include: Add IID_IDirectInputPIDDriver definition.
dinput8/tests: Add a new force-feedback capable HID joystick test.
dinput: Improve filtering of HID device state input report.
dinput: Enumerate HID joystick objects using internal HID caps.
dinput: Enumerate HID joystick DIDFT_OUTPUT objects.
dinput: Enumerate output button objects in their declaration order.
dinput: Simplify object enumeration by removing special cases.
hidclass.sys: Don't leak report queues on device removal.
hidclass.sys: Keep pending IRPs with the report queues.
hidclass.sys: Rename hid_report_queue into hid_queue.
dinput8/tests: Don't try running more tests after a win_skip.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumEffects tests.
dinput8/tests: Add the required PID reports to enumerate some effects.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetEffectInfo tests.
dinput8/tests: Add the required PID reports to acquire the device.
dinput8/tests: Add some HID joystick IDirectInputDevice8_Escape tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetForceFeedbackState tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SendForceFeedbackCommand tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SendDeviceData tests.
dinput8/tests: Add the required PID reports to create effects.
dinput8/tests: Add some HID joystick IDirectInputDevice8_CreateEffect tests.
dinput: Fix HID joystick DIDFT_POV enumeration.
dinput: Stub hid_joystick force feedback methods.
winebus.sys: Add a PID device control output report.
dinput: Look for the PID device control output report.
dinput: Implement hid_joystick_SendForceFeedbackCommand.
dinput: Start and cancel reading HID reports while holding the CS.
dinput: Send DISFFC_RESET command on HID joystick (Un)Acquire.
dinput: Implement HID joystick IDirectInputDevice8_EnumEffects.
dinput: Implement HID joystick IDirectInputDevice8_CreateEffect stub.
winebus.sys: Implement PID device control for SDL devices.
winebus.sys: Implement PID device control for UDEV lnxev devices.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumCreatedEffectObjects tests.
dinput: Keep a private ref to the device on created effects.
dinput: Implement HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
winebus.sys: Add a PID effect control output report.
dinput: Look for the PID effect control output report.
winebus.sys: Implement PID effect control for SDL devices.
winebus.sys: Implement PID effect control for UDEV lnxev devices.
hidclass.sys: Introduce new find_report_with_type_and_id helper.
hidclass.sys: Drop reports when length doesn't match their declaration.
hidclass.sys: Overwrite queued reports as FIFO instead of LIFO.
winebus.sys: Use type and size of the current event, not the previous one.
winebus.sys: Add a PID effect update output report.
dinput: Look for the PID effect update output report.
winebus.sys: Implement PID effect update for SDL devices.
winebus.sys: Implement PID effect update for UDEV lnxev devices.
dinput: Implement more of HID joystick IDirectInputDevice8_GetEffectInfo.
dinput: Look for PID axes enable collection and set DIEP_AXES if found.
winexinput.sys: Fix casing of "Xbox One for Windows" product string.
winexinput.sys: Add more Xbox One product string overrides.
winebus.sys: Add more Xbox controllers product ids.
hidclass.sys: Pass output buffer directly in handle_minidriver_string.
hidclass.sys: Move product string overrides from winexinput.sys.
hidclass.sys: Add Sony controllers product string overrides.
dinput8/tests: Reduce test output verbosity.
dinput8/tests: Reduce pnp_driver_start todo_wine verbosity.
dinput8/tests: Add some HID joystick IDirectInputEffect_Initialize tests.
dinput8/tests: Add some HID joystick IDirectInputEffect_GetParameters tests.
dinput8/tests: Add Y and Z axes as force-feedback capable axes.
dinput8/tests: Add some HID joystick IDirectInputEffect_SetParameters tests.
dinput8/tests: Add more force-feedback effects PID reports and caps.
dinput: Add DIDFT_FFACTUATOR flag on PID effect axes.
dinput: Add DIDFT_FFEFFECTTRIGGER flag on trigger buttons.
dinput: Fill the HID joystick object instance exponent and dimension.
joy.cpl: Acquire the device before starting effect.
joy.cpl: Pass DIEFF_OBJECTOFFSETS flag to IDirectInputEffect_SetParameters.
winexinput.sys: Remove unnecessary IOCTL_HID_GET_STRING condition.
winebus.sys: Remove "stub!" from lnxev_device_haptics_start trace.
winebus.sys: Don't enter critical section in bus_find_unix_device.
winebus.sys: Parse product string from uevent HID_NAME.
dinput: Remove "stub!" from HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
dinput: Allocate buffers for the effect control and update reports.
dinput: Implement HID joystick IDirectInputEffect_Initialize.
dinput: Implement HID joystick IDirectInputEffect_GetEffectGuid.
dinput8/tests: Add some HID joystick IDirectInputEffect_(Download|Unload) tests.
dinput8/tests: Add some HID joystick IDirectInputEffect_(Start|Stop) tests.
dinput: Implement HID joystick IDirectInputEffect_(Start|Stop).
dinput: Partially implement HID joystick IDirectInputEffect_GetParameters.
dinput: Partially implement HID joystick IDirectInputEffect_SetParameters.
dinput: Look for PID direction collection and set DIEP_DIRECTION if found.
dinput: Implement HID joystick IDirectInputEffect_(Download|Unload).
winebus.sys: Add a PID set periodic output report.
dinput: Implement support for the PID effect set periodic report.
winebus.sys: Add a PID set envelope output report.
dinput: Implement support for the PID effect set envelope report.
dinput8/tests: Add some DIEFT_CONDITION HID joystick effect tests.
winebus.sys: Add a PID set condition output report.
dinput: Implement support for the PID effect set condition report.
winebus.sys: Add a PID set constant force output report.
dinput: Look for the PID set constant force output report.
winebus.sys: Add a PID set ramp force output report.
dinput: Look for the PID set ramp force output report.
winebus.sys: Only keep a single read pending.
winebus.sys: Query and parse device report descriptor on device start.
winebus.sys: Keep a separate report buffer for each input report id.
winebus.sys: Queue HID reports instead of overwritting the last one.
xinput1_3: Wait for CancelIoEx completion when disabling controllers.
xinput1_3: Destroy controllers when ReadFile fails and I/O is not pending.
xinput1_3: Do not use delay loaded imports.
xinput1_3: Initialize the controller list in the update thread.
xinput1_3: Register for device notifications to update controller list.
dinput: Do not wait for internal hooks inside the HID joystick CS.
dinput: Hold the HID joystick CS when updating the device state.
dinput: Wait for CancelIoEx completion when unacquiring HID joysticks.
dinput: Call device read_callback while holding the internal CS.
dinput: Check for ReadFile errors and return DIERR_INPUTLOST.
Stefan Dösinger (1):
wined3d: Fix the center offset in get_projection_matrix.
Tim Clem (3):
dinput: Factor out HID value retrieval in joystick_osx.
dinput: Lock around polling a HID device in joystick_osx.
dplayx: Map global memory anywhere if the standard address is unavailable.
Zebediah Figura (45):
krnl386: Don't handle %ss in fix_selector().
wined3d: Implement Vulkan NULL cube array image shader resource view descriptors.
d3d9: Pass a valid map box to wined3d_resource_map().
d3d11/tests: Add a stress test for dynamic buffer maps.
d3d10core/tests: Add a stress test for dynamic buffer maps.
d3d9/tests: Add a stress test for dynamic buffer maps.
d3d8/tests: Add a stress test for dynamic buffer maps.
krnl386: Print %bp, %ss, and %sp for register functions in relay_call_from_16().
ntdll: Also print %ss in dispatch_exception().
krnl386: Call DOSVM_IntProcRelay() via the application stack.
krnl386: Return to a generated 16-bit entry point when calling builtin interrupt handlers.
krnl386: Call generated 16-bit entry points from the snoop thunks.
wined3d: Do not call list_remove() on a Vulkan query which has not been started.
wined3d: Call prepare_upload_bo in wined3d_device_context_emit_map() only for DISCARD or NOOVERWRITE maps.
wined3d: Wrap the upload bo address in a new upload_bo structure.
winegstreamer: Move the GstAutoplugSelectResult definition to wg_parser.c.
winegstreamer: Use a single wg_parser_create() entry point.
winegstreamer: Initialize GStreamer in wg_parser_create().
winegstreamer: Set unlimited buffering using a flag for wg_parser_create().
winegstreamer: Remove the no longer used start_dispatch_thread() declaration.
winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
krnl386: Return to CALL32_CBClient_RetAddr from CBClientThunkSL().
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
winegstreamer: Move Unix library definitions into a separate header.
winegstreamer: Return void from wg_parser_stream_seek().
winegstreamer: Convert the Unix library to the __wine_unix_call interface.
wined3d: Do not emit an upload for NOOVERWRITE maps on deferred contexts.
wined3d: Separate a resource_offset_map_pointer() helper.
wined3d: Rename {prepare, get}_upload_bo() to {map, unmap}_upload_bo().
wined3d: Call the unmap_upload_bo callback in wined3d_device_context_emit_update_sub_resource().
wined3d: Do not return a struct upload_bo from the map_upload_bo callback.
winegstreamer: Handle zero-length reads in src_getrange_cb().
winegstreamer: Use array_reserve() to reallocate read buffers.
winegstreamer: Avoid passing a NULL buffer to wg_parser_push_data() in the case of a zero-length read.
winegstreamer: Avoid seeking past the end of an IMFByteStream.
winegstreamer: Trace the unfiltered caps in sink_query_cb().
winegstreamer: Translate GST_AUDIO_CHANNEL_POSITION_MONO to SPEAKER_FRONT_CENTER.
wmvcore: Move the sync reader implementation to winegstreamer.
winegstreamer: Get rid of the WMSyncReader typedef.
wmvcore: Move the async reader implementation to winegstreamer.
winegstreamer: Get rid of the WMReader typedef.
server: Do not allocate a connect_req structure for nonblocking sockets (Valgrind).
server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).
ws2_32: Close the new socket handle on CF_DEFER.
krnl386: Fix a mistyped NULL check in WOWTHUNK_Init().
Zhiyi Zhang (11):
light.msstyles: Add scrollbar width and height.
comctl32/button: Do not restore push button font after themed painting.
comctl32/button: Do not restore checkbox font after themed painting.
comctl32/button: Do not restore groupbox font after themed painting.
comctl32/button: Do not restore split button font after themed painting.
comctl32/button: Do not restore command link font after themed painting.
comctl32/rebar: Do not adjust non-client size when themed.
comctl32/rebar: Do not remove WS_BORDER when theming is on.
comctl32/tests: Delete unused headers.
comctl32/status: Do not use theme metrics to compute height.
comctl32/tests: Fix a treeview test failure when theming is on.
Ziqing Hui (4):
d2d1/tests: Add tests for 2D affine effect.
d2d1/tests: Add tests for crop effect.
d3dx10: Add stubs for D3DX10CreateTextureFromFile{A,W}.
d3dx10: Add stubs for D3DX10CreateTextureFromResource{A, W}.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.18 is now available.
What's new in this release (see below for details):
- Shell32 and WineBus libraries converted to PE.
- Unicode data updated to Unicode version 14.
- Mono engine updated to version 6.4.0, with COM improvements.
- More work towards Dwarf 3/4 debug support.
- HID joystick enabled by default.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.18.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.18.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.18 (total 19):
34584 Thai2English doesn't work with Wine-Mono
38011 ID Photo Maker 3.2 can't import jpegs for editing (needs avicap32.dll.capCreateCaptureWindowW implementation)
43109 (EZ4_Client) Crashes on start (fixed on staging)
48442 MPGUI crashes on start with Wine-Mono
50089 Far Manager 2.0 crashes on start-up
50244 Melodyne 5: activation via internet fails with 12152 error
50272 Melodyne 5: activation via internet produces "Unknown Error"
50498 Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) setup crashes with unimplemented 'System.ServiceModel.Description.MetadataExporter.set_PolicyVersion' using Wine-Mono
50623 Windows ISO Downloader 8.45 - Error messages and freeze with wine-mono
51503 vbscript parser error in expression with # char
51576 Click-N-Type 3.03 virtual keyboard installer sometimes has two task panes
51596 Unhandled exception code c0000005 when running any 64-bit Winelib application
51631 winhttp:winhttp and winhttp:notification fail because echo.websocket.org is out of commission
51696 ntoskrnl.exe:ntoskrnl outputs too much traces (and broke the Wine tests entirely)
51723 Timespinner controller triggers aren't properly recognized
51729 Unable to find an entry point named 'UiaDisconnectProvider' in DLL 'UIAutomationCore.dll'
51741 Nt*PowerRequest syscalls do not exist on real Windows
51757 Network application crashes
51787 Resident Evil 7 crashes on launch
----------------------------------------------------------------
Changes since 6.17:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alexandre Julliard (44):
Revert "kernel32: Forward power request functions to ntdll."
Revert "ntdll: Stub power request APIs."
comdlg32: Fix path validation of UNC paths in the file dialog.
shell32: Create the PIDLs even if IFileSystemBindData::GetFindData returns an error.
shell32: Fix the shell folder file attributes.
shell32: Validate the destination name in IShellFolder::SetNameOf.
shell32: Don't store the short file name in the PIDL.
urlmon/tests: Use robots.txt on winehq.org to avoid a redirection.
shell32: Allow specifying the child folder CLSID in SHELL32_BindToChild().
shell32: Use the standard shell folder implementation for Unix folders.
shell32: Load the XDG user dirs config file using Win32 APIs.
shell32: Add a helper to retrieve trash item data without copying it.
shell32: Reimplement trash support using Win32 APIs.
winebus.sys: Fix a typo in find_device_from_iohid().
winebus.sys: Remove the no longer used CFStringToWSTR function.
wineboot: Add a generic mechanism for pre-installing things before the main wine.inf section.
loader: Start the mount manager before registering dlls.
mountmgr: Make creating a backup optional for shell folders.
mountmgr: Support $HOME paths to define shell folders.
shell32: Use the mount manager for initial shell folders creation.
shell32: Build with msvcrt.
shell32: Check for macOS at runtime.
shell32: Use designated initializers and wide char string literals in known folder table.
shell32: Use wide char string literals.
makefiles: Build the unix library name when parsing the sources.
makefiles: Link with the full library name for Unix library imports.
makefiles: Add a -mcygwin flag to specify the inverse of -mno-cygwin.
makefiles: Make -mno-cygwin the default.
winegcc: Skip the post-link steps for Unix libraries.
makefiles: Normalize the host architecture in makedep instead of configure.
makefiles: Explicitly name the Unix library in the makefile instead of using --subsystem unixlib.
configure: Remove some obsolete shared library checks.
makefiles: Don't use winegcc to build native Unix libraries.
wrc: Remove no longer used cmdline copy.
ntdll: Copy __wine_setjmpex/longjmp implementation to avoid importing winecrt0.
makefiles: Allow including files with relative paths.
makefiles: Use explicit header path for sanity checks.
winebuild: Unify the strarray implementation with the one from makedep.
winebuild: Use strarrays for the argument lists.
winegcc: Unify the strarray implementation with the one from makedep.
wpp: Move the preprocessor code into wrc.
wrc: Use the standard memory allocation wrappers in the preprocessor.
wrc: Use asserts instead of explicit internal error.
wrc: Use the existing global variable for pedantic mode.
Alistair Leslie-Hughes (6):
include: Add icodecapi.idl.
include: Avoid C++ keyword.
include: Fix compiling with C++.
include: Add ISpAudio interface.
sapi: Support create parameter in ISpObjectToken::SetId.
sapi: Support create parameter in ISpObjectTokenCategory::SetId.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (3):
ntdll: Factor out SMBIOS table creation.
ntdll: Factor out get_smbios_from_iokit().
ntdll: Generate SMBIOS tables on Apple Silicon Macs.
Charles Davis (2):
ntoskrnl: Always copy the output buffer for non-buffered ioctls.
ntdll: Use posix_fallocate() instead of fallocate().
Connor McAdams (42):
user32/tests: Mark some winevents optional in the SetParent sequence.
user32/tests: Fix SetParent/SetFocus message sequences to support winevents.
user32/tests: Add optional message to fix ShowWindow test.
user32/tests: Mark some winevents optional in the ShowWindow sequences.
user32/tests: Fix ShowWindow() message sequences to support winevents.
user32/tests: Fix occasional failure in ShowWindow() message sequences.
user32/tests: Fix occasional failure in test_messages() message sequences.
user32/tests: Fix existing winevents in test_messages() message sequences.
user32/tests: Add missing winevents to test_messages() message sequences.
user32/tests: Add missing winevents to test_setwindowpos() message sequences.
oleacc: Check proper GUI thread for window focus.
oleacc: Add STATE_SYSTEM_FOCUSED test for default client object.
oleacc: Add tests for AccessibleObjectFromEvent.
user32/tests: Fix occasional test failure in test_ShowWindow().
user32/tests: Fix existing winevents in test_showwindow() message sequences.
user32/tests: Add missing winevents to test_showwindow() message sequences.
user32/tests: Fix existing winevents in invisible_parent_tests() message sequences.
oleacc: Add Client_get_accFocus implementation.
oleacc: Add Client_get_accFocus tests.
user32/tests: Fix occasional failure in WmShowNoActivate_2 message sequence.
user32/tests: Fix existing winevents in test_mdi_messages() message sequences.
user32/tests: Add missing winevents to test_mdi_messages() message sequences.
user32/tests: Fix missing messages in test_mdi_messages() message sequences.
user32/tests: Fix existing winevents in test_button_messages() message sequences.
user32/tests: Add missing winevents to test_button_messages() message sequences.
user32/tests: Fix missing messages in test_button_messages() message sequences.
user32/tests: Fix existing winevents in test_autoradio message sequences.
user32/tests: Fix test_listbox_messages() message sequences to support WinEvents.
user32/tests: Fix test_paint_messages() message sequences to support WinEvents.
user32/tests: Fix existing winevents in test_accelerators() message sequences.
user32/tests: Add missing winevents to test_accelerators() message sequences.
user32/tests: Fix existing winevents in test_DestroyWindow() message sequences.
user32/tests: Fix existing winevents in test_edit_messages() message sequences.
user32/tests: Add missing winevents to test_edit_messages() message sequences.
user32/tests: Add missing winevents to test_quit_message() message sequence.
user32/tests: Add missing winevents to test_SetActiveWindow() message sequences.
user32/tests: Add missing winevents to test_restore_messages() message sequence.
user32/tests: Fix existing winevents in test_SetWindowRgn() message sequences.
user32/tests: Add missing winevents to test_SetWindowRgn() message sequences.
user32/tests: Fix existing winevents in test_dialog_messages() message sequences.
user32/tests: Add missing winevents to test_dialog_messages() message sequences.
user32/tests: Add missing winevents to test_EndDialog() message sequences.
Daniel Lehman (1):
msxml3/tests: Avoid double-free using BSTR helper.
Derek Lesho (4):
winegstreamer: Duplicate source shutdown path into constructor with leak fixes.
winegstreamer: Allocate source media buffers in the PE components.
winegstreamer: Replace source pad interface with GstAppSrc.
winegstreamer: Fix return code in init_gst failure case.
Dmitry Timoshkov (1):
riched20: Don't create custom heap.
Eduard Permyakov (2):
winex11.drv: Add 'EDID' registry key to every monitor device.
dsound: Commit next audio chunk between play cursor and write cursor to playing.
Eric Pouech (40):
dbghelp/dwarf: Don't recompute location when said location is complex.
dbghelp/dwarf: Properly parse 32 vs bit 64bit entities.
dbghelp/dwarf: Correctly handle attributes according to 32bit or 64bit format.
dbghelp/dwarf: Add support for FORM_loc_offset and FORM_sec_offset.
dbghelp/dwarf: Add support for FORM_exprloc.
dbghelp/dwarf: Handle errors in dwarf2_fill_attr by returning a boolean.
dbghelp/dwarf: Add definitions of some GNU extensions for FORMs.
dbghelp/dwarf: Validate that a string is in the section boundary before using it.
dbghelp/dwarf: Detect auto reference between a dwarf's DIE and its type.
dbghelp/dwarf: Properly parse line number header for DWARF4 debug info.
dbghelp/dwarf: Separate CU handling from module handling.
dbghelp/dwarf: Move the symt_cache from the unit context into the module context.
dbghelp/dwarf: Keep open and keep track of parse_context_t inside a module_context_t.
dbghelp: Split the parsing of a dwarf compilation unit in two phases.
dbghelp/dwarf: Add ability to get to a DIE in a different CU.
dbghelp/dwarf: Support DW_FORM_ref_addr in type DIE lookup using the new cross-CU DIE mechanisms.
dbghelp/dwarf: Detect out of section sibling DIE information.
dbghelp/dwarf: Add reference for a DIE to its CU.
winedbg: Show dwarf version(s) used for a module.
dbghelp: Separate alternate debug file lookup functions.
dbghelp: Added support for locating a .dwz file (GNU extension) attached to a debug file.
dbghelp/dwarf: Store a potential link to an external DWZ file in the dwarf2 module's information.
dbghelp/dwarf: Handle DW_FORM_GNU_strp_alt (string located in an alternate DWZ file).
dbghelp/dwarf: Load the alternate dwarf file content as we do for a regular dwarf module.
dbghelp/dwarf: No longer pass a parse context to dwarf2_find_attribute.
dbghelp/dwarf: No longer pass a unit context to dwarf2_get_cpp_name.
dbghelp/dwarf: Fold printing info about unit context when printing debug_info's.
dbghelp/dwarf: No longer pas a unit context when parsing debug_info content.
dbghelp/dwarf: Add a helper to jump into another debug_info.
dbghelp/dwarf: Add proper support for DW_FORM_GNU_ref_alt.
dbghelp/dwarf: When loading a DWZ alternate file, don't force loading of all debug_infos.
dbghelp/dwarf: In DW_AT_ranges, the values are relative to the start of the CU.
dbghelp/dwarf: Properly detect base address selection in AT_ranges.
dbghelp: Remove unneeded #include <limits.h>.
dbghelp/dwarf: Handle some Dwarf4 tweaks in high / low pc attributes.
dbghelp/dwarf: Added support for parsing dwarf's 3 restrict type TAG.
dbghelp/dwarf: Support enumeration as index type for arrays.
dbghelp/dwarf: Added support for DW_TAG_subrange_type in various places.
dbghelp/dwarf: Support more dwarf's TAG related to types in udt parsing.
dbghelp/dwarf: Handle C++ rvalue reference type as a reference.
Esme Povirk (1):
mscoree: Update Wine Mono to 6.4.0.
Fabian Maurer (1):
msi: Set dialog as parent in subsequent dialog.
Gabriel Ivăncescu (3):
ntdll: Implement JobObjectBasicProcessIdList for NtQueryInformationJobObject.
mshtml: Fix out-of-bounds props access.
jscript: Return the failure code if the value invoke failed.
Gerald Pfeifer (1):
ntdll: Fix init_builtin_dll for FreeBSD again.
Giovanni Mascellani (2):
wine.inf: Fill gaps in Dynamic DST timezone data.
wine.inf: Fix timezone data for Samoa.
Guillaume Charifi (2):
ws2_32: Add tests for IOCTL_AFD_POLL exclusive flag.
ntdll: Implement exclusive flag for IOCTL_AFD_POLL.
Hans Leidekker (14):
msi: Don't leak the file handle on error in cabinet_close_file_info().
winhttp: Don't fail the request if authorization fails.
adsldp: Fix error returned from openobj_OpenDSObject().
winhttp: Add a stub for WinHttpSetOption(WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL).
winhttp: Add a stub for WinHttpQueryOption(WINHTTP_OPTION_HTTP_PROTOCOL_USED).
winhttp: Consistently validate the buffer in option query functions.
winhttp: Pass a socket pointer to send_bytes() and receive_bytes().
winhttp: Read any data left in the request buffer for websocket connections.
winhttp: Use ws.ifelse.io for websocket tests.
winhttp: Call read_data() at least once in drain_content().
winhttp: Call drain_content() before clear_response_headers().
winhttp: Fix return value for relative redirects.
winhttp: Don't remove content-type/length headers in handle_redirect().
winhttp/tests: Add redirect tests.
Henri Verbeet (6):
wined3d: Do not attempt to restore GL contexts corresponding to wined3d contexts in wined3d_context_gl_cleanup().
wined3d: Get rid of the "render_to_fbo" field from the wined3d_swapchain structure.
wined3d: Use GDI blits for partial presents with COPY swap effects.
wined3d: Use WGL_SWAP_COPY_ARB for swapchains with COPY swap effects, if available.
wined3d: Use wined3d_mask_from_size() in wined3d_fixup_alpha().
d2d1: Check the vertex count again after duplicate removal in d2d_path_geometry_triangulate().
Jacek Caban (41):
wineps.drv: Export DrvDeviceCapabilities.
winspool: Use configuration file for DeviceCapabilitiesW.
winspool: Use DeviceCapabilitiesW for DeviceCapabilitiesA.
wineps: Introduce DrvDocumentProperties entry point.
winspool: Use configuration file for DocumentPropertiesW.
winspool: Use DocumentPropertiesW for DocumentPropertiesA.
gdi32: Remove ordinal exports.
gdi32: Remove no longer used printer config driver entry points.
gdi32: Introduce get_gdi_object_type.
gdi32: Direcly use ntgdi functions in dib driver.
win32u: Use NtGdiSetBrushOrg in NtGdiMaskBlt.
win32u: Directly use NtGdiGetDeviceCaps in ntgdi functions.
gdi32: Directly use ntgdi functions in painting.c.
gdi32: Access stretch mode directly from DC in NtGdiTransparentBlt.
gdi32: Avoid calling gdi32 functions from ntgdi functions.
gdi32: Use NtQuerySystemInformation instead of GetSystemInfo.
gdi32: Directly use ntdll in dib.c.
gdi32: Directly call dib driver functions in dibdrv_wglCreateContext.
include: Add some missing ntgdi declarations.
gdi32: Move load_script_name call to EnumFontFamiliesExW.
gdi32: Move CreateScalableFontResourceW to text.c.
gdi32: Handle scalable fonts directly in AddFontResourceExW and RemoveFontResourceExW.
gdi32: Pass NT paths to ntgdi functions.
gdi32: Store NT paths in font structs.
gdi32: Use NtQueryFullAttributesFile directly in alloc_gdi_font.
gdi32: Directly use ntdll in load_directory_fonts.
gdi32: Directly use ntdll for font mutex.
gdi32: Remove workaround for old freetype versions.
gdi32: Directly use ntdll instead of RegDeleteTreeW.
gdi32: Directly use ntdll in load_gdi_font_subst.
gdi32: Directly use ntdll in load_gdi_font_replacements.
gdi32: Directly use ntdll in add_face_to_cache.
gdi32: Directly use ntdll in load_face_from_cache.
gdi32: Directly use ntdll in load_font_list_from_cache.
gdi32: Directly use ntdll in remove_face_from_cache.
gdi32: Directly use ntdll in load_system_links.
gdi32: Directly use ntdll in add_font_list.
gdi32: Directly use ntdll in update_font_association_info.
opencl: Fix compilation on MSVC targets.
gdi32: Don't use MulDiv in ntgdi functions.
gdi32: Avoid calling kernel32 from ntgdi functions.
Jan Sikorski (9):
wined3d: Allow constant buffers to be forced to be write-mappable.
wined3d: Make wined3d_texture_update_map_binding() backend-independent.
wined3d: Implement support for buffer objects in wined3d_texture_vk_upload_data().
wined3d: Implement support for buffer objects in wined3d_texture_vk_download_data().
wined3d: Keep PBO support flag in d3d_info.
wined3d: Implement WINED3D_LOCATION_BUFFER for textures in the Vulkan backend.
wined3d: Avoid the pipeline barrier when mapping buffer objects backing textures.
wined3d: Avoid stalling the pipeline on 3D blits.
wined3d: Fix typo in wined3d_texture_vk_download_data().
Michael Stefaniuc (1):
sxs: Don't assign a COM object to the 3rd param of QueryInterface.
Nikolay Sivov (71):
rpcrt4/tests: Always run tests that don't require special permissions.
ole32: Use access mask from bind context in file moniker's BindToStorage().
ole32/filemoniker: Remove helper used once.
ole32: Simplify IsEqual() for file monikers.
d3dx10_37/tests: Enable tests.
d3dx10: Handle null filename for W->A conversion explicitly in D3DX10CreateEffectFromResourceW().
ole32: Simplify GetDisplayName() for class moniker.
ole32: Simplify IsEqual() for class moniker.
ole32: Simplify CreateClassMoniker().
ole32: Simplify CommonPrefixWith() for class moniker.
ole32: Use single call to read/write serialization header of class moniker.
ole32: Implement ParseDisplayName() for class moniker.
ole32: Handle extra class moniker data on load/save.
ole32: Improve class moniker display name parsing.
oleaut32: Fix uninitialized variable access in VarXor() for earlier failure paths (Coverity).
oleaut32: Do not use static variable for disp params.
services/tests: Fix printf-style helper format (Coverity).
widl: Remove arguments from writing calls that don't use them (Coverity).
kernel32/tests: Fix sprintf() arguments (Coverity).
msxml3/tests: Add missing return value check (Coverity).
tools: Update to Unicode 14.0.0.
dwrite/tests: Add a linebreaking test regarding LB30 rule changes in Unicode 13.
d3d10/effect: Handle object type D3D10_SVT_TEXTURE.
d3d10/effect: Release technique names on Optimize().
d3d10/effect: Release passes names on Optimize().
d3d10/tests: Add some tests for effect pools.
d3d10/tests: Add a test for default numeric variable values.
d3d10/effect: Remove no longer used fourcc symbols.
d3dx10_36/tests: Enable tests.
msi: Fixup Installer\\Patches\\<...> key path (Coverity).
inetcpl: Fix incorrect expression (Coverity).
gdi32: Fix a typo in failure path (Coverity).
msvcrt: Use free() on msvcrt_wstrdupa() results (Coverity).
secur32: Fix allocation size (Coverity).
sechost: Fix argument pointers array allocation size (Coverity).
mfplat/tests: Remove unnecessary check (Coverity).
mfplay: Remove some dead code (Coverity).
mf/evr: Remove duplicated check in GetStreamSinkCount() (Coverity).
oleaut32/tests: Remove unused variable.
oleaut32/tests: Link to SafeArrayGetVartype() directly.
oleaut32: Use single local variable to access missing args array in Invoke().
oleaut32: Remove unnecessary initialization of retval arg slot in Invoke().
oleaut32: Remove some local variables in Invoke() that don't improve readability.
mfplat/allocator: Reduce duplication by returning ready-to-queue structure from allocation helper.
d3d10/effect: Move effect creation API functions.
d3d10/effect: Partially implement D3D10CreateEffectPoolFromMemory().
d3d10/effect: Add a helper to parse annotations array.
d3d10/effect: Validate flags vs pool instance when creating child effects.
d3d10/effect: Reference pool in the child effect.
d3dx10_35/tests: Enable tests.
ole32/tests: Get rid of some global variables in moniker tests.
ole32/tests: Add a test for IBindCtx::GetRunningObjectTable().
ole32: Remove unnecessary helpers to create/destroy bind context.
ole32: Remove explicit type check in CommonPrefixWith() for item moniker.
ole32/composite: Return requested interface in BindToObject() in NULL left moniker path.
ole32/composite: Store components as a pair of top level monikers.
ole32/tests: Add extendable tests for generic composite simplification.
ole32/composite: Do not rely on antimoniker composition in ParseDisplayName().
ole32/composite: Always go through running object table in GetTimeOfLastChange().
d3d10/effect: Forward to pool effect in GetVariableByName().
d3d10/effect: Forward to pool effect in GetVariableByIndex().
d3d10/effect: Forward to pool effect in GetVariableBySemantic().
d3d10/effect: Forward to pool effect in GetConstantBufferByIndex().
d3d10/effect: Forward to pool effect in GetConstantBufferByName().
d3dx10_34/tests: Enable tests.
gdi32: Handle NULL name when setting registry value.
ole32/itemmoniker: Always use generic composition in ComposeWith().
ole32/pointermoniker: Always use generic composition in ComposeWith().
ole32/classmoniker: Always use generic composition in ComposeWith().
ole32/tests: Simplify test monikers creation helper.
ole32/tests: Add some tests for class moniker composition.
Paul Gofman (9):
wbemprox: Copy correct substring to *namespace in parse_resource().
wbemprox: Propagate create_view() error code from parser.
wbemprox: Prepare for multiple namespaces.
wbemprox: Return WBEM_E_INVALID_CLASS from create_view() if namespace is empty.
wbemprox: Add Microsoft\\Windows\\Storage namespace.
winex11.drv: Register GUID_DISPLAY_DEVICE_ARRIVAL interface for GPUs.
winhttp: Limit recursion for synchronous callback calls.
gdi32: Add a semi-stub for D3DKMTOpenAdapterFromDeviceName().
wined3d: Add GPU information for AMD VANGOGH.
Piotr Caban (5):
msvcrt: Use unaligned data types in memset.
oleacc: Add Window_OleWindow_GetWindow implementation.
oleacc: Introduce helper for checking accessibility object hwnd.
oleacc: Remove WINAPI from accessible_create internal type.
msvcrt: Support z length modifier in scanf.
Robert Wilhelm (1):
vbscript: Support date and time literals.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Rémi Bernon (132):
dinput8/tests: Fix inverted winetest_win_skip condition.
dinput8/tests: Control expected SET_FEATURE reports from the test executable.
dinput8/tests: Control expected GET_FEATURE reports from the test executable.
dinput8/tests: Control expected SET_OUTPUT reports from the test executable.
dinput8/tests: Control expected WRITE_REPORT reports from the test executable.
dinput8/tests: Control expected GET_INPUT reports from the test executable.
hidclass.sys: Enforce output packet lengths to match report lengths.
ntoskrnl.exe/tests: Fix inverted winetest_win_skip condition.
winexinput.sys: Return native product strings on some devices.
winebus.sys: Remove the now useless native product strings.
winebus.sys: Query manufacturer string on device creation.
winebus.sys: Query product string on device creation.
winebus.sys: Query serialnumber string on device creation.
winebus.sys: Remove the now useless get_string callback.
winebus.sys: Split destroy to a separate stop method.
winebus.sys: Use helpers to create and destroy unix devices.
winebus.sys: Allocate mouse and keyboard devices dynamically.
winebus.sys: Free unix device in unix_device_remove.
dinput8/tests: Control expected READ_REPORT reports from the test executable.
dinput8/tests: Add some non-polled READ_REPORT tests.
dinput8/tests: Don't expect any IOCTL_HID_GET_STRING call.
hidclass.sys: Drop input packets with unexpected length in non-polled mode.
dinput8/tests: Fix reported expected length in test message.
hidclass.sys: Complete all pending reads in polled mode only.
msvcrt: Improve memset performance using overlapping stores.
dinput8/tests: Add tests for the internal HID preparsed data structures.
dinput: Don't disable HID joysticks by default.
dinput8/tests: Add a new HID joystick test based on the HID driver.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceInfo tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetCapabilities tests.
winebus.sys: Move process_hid_report helper around.
winebus.sys: Return an event from SDL bus wait on input report.
winebus.sys: Return an event from UDEV bus wait on input report.
winebus.sys: Return an event from IOHID bus wait on input report.
winebus.sys: Poll all UDEV fds together in the bus_wait thread.
winebus.sys: Remove the now useless get_unix_device.
winebus.sys: Remove the DEVICE_OBJECT arg on device_start.
winebus.sys: Pass a unix_device pointer in every bus event.
winebus.sys: Remove the now useless device_compare callback.
winebus.sys: Move is_xbox_gamepad to unixlib.c.
winebus.sys: Load SDL bus mappings before calling bus_init.
winebus.sys: Use Rtl heap functions.
winebus.sys: Use Rtl CS functions.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetProperty tests.
dinput8/tests: Add some HID joystick IDirectInput8_CreateDevice tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetDataFormat tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetEventNotification tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetCooperativeLevel tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_(Un)Acquire tests.
winebus.sys: Build with msvcrt.
winebus.sys: Avoid process heap allocations on the unix side.
winebus.sys: Use a pthread_mutex_t instead of CRITICAL_SECTION.
winebus.sys: Use new unixlib subsystem.
winebus.sys: Use wide character strings literals.
dinput: Fire the notification only after all events have been queued.
dinput8/tests: Make ret_length optional in struct hid_expect.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceState tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceData tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetProperty tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumObjects tests.
hidparse.sys: Split struct hid_value_caps start_bit into start_byte / start_bit.
hidparse.sys: Replace all is_*range members with a single flags member.
hidparse.sys: Replace start_index with HID_VALUE_CAPS_ARRAY_HAS_MORE flag.
hidparse.sys: Add HID_VALUE_CAPS_IS_(ABSOLUTE|CONSTANT) flags instead of checking bit_field.
hidparse.sys: Add HID_VALUE_CAPS_IS_BUTTON flag instead of checking bit_size / bit_field.
winebus.sys: Add a VID and PID to mouse and keyboard devices.
winebus.sys: Use WINEBUS\ as device id prefix for all buses.
winebus.sys: Use WINEBUS\ as a common hardware ids prefix.
winebus.sys: Remove unnecessary internal bus ids.
winebus.sys: Move fastcall wrapper together with the functions.
dinput: Pass output instance to get_object_info HID joystick callback.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetObjectInfo tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_Initialize tests.
dinput8/tests: Add some HID joystick device types tests.
dinput: Implement more accurate HID joystick device subtypes.
winebus.sys: Remove the bogus SDL "unknown" HID report constant.
winebus.sys: Enforce all axis values to be 32bit.
winebus.sys: Move hats before buttons and use one byte each.
winebus.sys: Always add padding after button blocks.
winebus.sys: Simplify SDL joystick report descriptor creation.
winebus.sys: Simplify SDL controller report descriptor creation.
dinput8/tests: Don't check device object data sequence numbers.
dinput: Fix HID joystick DIPH_BYUSAGE object enumeration.
dinput: Check sizes in HID joystick IDirectInputDevice8_GetProperty.
dinput: Return correct errors from HID joystick IDirectInputDevice8_SetProperty.
dinput: Return correct errors from HID joystick IDirectInputDevice8_GetDeviceState.
dinput: Return correct errors from HID joystick IDirectInputDevice8_Poll.
hidparse.sys: Recompute HIDP_CAPS from the value caps in HidP_GetCaps.
hidparse.sys: Don't keep an HIDP_CAPS in the parser state.
hidparse.sys: Precompute collection node list on the parser side.
hidparse.sys: Make internal HID structures compatible with native.
hidparse.sys: Introduce new add_new_value_caps helper.
hidparse.sys: Output array caps data indexes in the correct order.
hidparse.sys: Fill additional HID internal structure fields.
winebus.sys: Rename SDL bus device to struct sdl_device.
winebus.sys: Rename UDEV bus device variables to be consistent.
winebus.sys: Rename IOHID bus device variables to be consistent.
winebus.sys: Introduce a new raw_device / hid_device abstraction.
winebus.sys: Compute offsets while building the report descriptor.
winebus.sys: Use the computed element offsets to create reports.
hidclass.sys: Only send WM_INPUT messages for HID devices.
winebus.sys: Factor out HID report buffers allocation.
winebus.sys: Factor out setting HID report values.
winebus.sys: Use report ids in crafted HID reports.
winebus.sys: Add support for joystick device rumble.
winebus.sys: Handle feature and output reports in hid_device.
dinput: Check data format dwObjSize in IDirectInputDevice2WImpl_SetDataFormat.
dinput: Check acquired state in IDirectInputDevice2WImpl_SetCooperativeLevel.
dinput: Set HID joystick objects wCollectionNumber field.
dinput: Add an instance number to HID joystick collection objects.
dinput: Use fixed axis object instance number for common axes.
dinput: Count all HID joystick button objects.
dinput8/tests: Add a wheel and vendor defined axis caps.
dinput: Report HID joystick wheel usage as a Z axis.
joy.cpl: Use msvcrt memory allocation functions.
joy.cpl: Use msvcrt wide string functions.
joy.cpl: Enumerate force-feedback effects with the devices.
joy.cpl: Refresh joystick test device list when activated.
joy.cpl: Refresh joystick FF device list when activated.
joy.cpl: Refresh the joystick device list when modified.
winegcc: Add missing strarray initialization.
winebus.sys: Check for SDL_JoystickRumble presence at runtime.
winebus.sys: Remove unused SDL_memset function pointer.
winebus.sys: Add a new rumble report using HID haptics.
xinput1_3: Use new HID haptics rumble report.
winebus.sys: Remove old vendor rumble report.
winebus.sys: Add haptics rumble support for UDEV lnxev devices.
joy.cpl: Add a dedicated connected list for xinput devices.
winexinput.sys: Override the product string for internal devices.
xinput1_3: Introduce a new override registry mechanism to force dinput.
dinput: Open the WINEXINPUT interface when the override key is set.
joy.cpl: Add a XInput / DInput override configuration control.
Thomas Crider (2):
api-ms-win-core-psapi-l1-1-0: Add K32GetModuleBaseNameW and K32GetModuleInformation.
api-ms-win-core-psapi-ansi-l1-1-0: Add K32GetModuleBaseNameA.
Tim Clem (2):
winemac.drv: Use window drag notifications when available.
winemac.drv: Remove now-unnecessary drag stop event on mouse up.
Zebediah Figura (21):
nsiproxy: Return the IOSB status from nsi_ioctl().
ntoskrnl: Report IRP completion via get_next_device_request if possible.
ntoskrnl: Report the initial status of an IRP separately from the IOSB status.
ntoskrnl: Report separately whether an IRP was marked pending.
server: Do not signal completion if the async failed synchronously.
server: Pass the async result size as part of apc_call_t.
ntdll: Do not fill the IOSB if a device IRP failed synchronously.
server: Create pseudo-fds as initially signaled.
kernelbase: Don't set the output size in DeviceIoControl() if the NT status denotes error.
ntdll: Explicitly return whether an async is complete in async_callback_t.
advpack: Do not export DllMain.
winegstreamer: Factor out more of the init_gst callback into wg_parser_connect().
winegstreamer: Properly clean up from failure in wg_parser_connect().
winegcc: Correctly put the -munix manual section in its own paragraph.
ndis.sys/tests: Test passing a bogus OID to IOCTL_NDIS_QUERY_GLOBAL_STATS.
ndis.sys: Return the IOSB status from ndis_ioctl().
ndis.sys: Return STATUS_INVALID_PARAMETER for unknown OIDs.
ntdll: Return STATUS_PENDING when restarting asyncs.
ntdll: Return STATUS_DEVICE_NOT_READY instead of STATUS_PENDING from try_transmit().
server: Factor out a complete_async_poll() helper.
Revert "winegstreamer: Replace source pad interface with GstAppSrc.".
Zhiyi Zhang (13):
avicap32: Use the correct return type for get_device_desc().
winex11.drv: Register GUID_DEVINTERFACE_DISPLAY_ADAPTER interface for GPUs.
winex11.drv: Register GUID_DEVINTERFACE_MONITOR interface for monitors.
winemac.drv: Register GUID_DEVINTERFACE_DISPLAY_ADAPTER interface for GPUs.
winemac.drv: Register GUID_DISPLAY_DEVICE_ARRIVAL interface for GPUs.
winemac.drv: Register GUID_DEVINTERFACE_MONITOR interface for monitors.
user32/tests: Fix some test failures on the w7u_2qxl TestBot.
setupapi/tests: Add display device interface tests.
uxtheme: Use wide character string literals.
uxtheme: Initialize system metrics in 96 DPI.
uxtheme/tests: Add EnableTheming() tests.
uxtheme: Disallow EnableTheming() to enable theming.
uxtheme: Do not change system metrics in EnableTheming().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.17 is now available.
What's new in this release (see below for details):
- WineCfg program converted to PE.
- Better high-DPI support in builtin applications.
- More preparation work for the GDI syscall interface.
- Improved debugger support in Wow64 mode.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.17.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.17.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.17 (total 12):
23979 SMSDV's main window is empty
36887 Trusteer Rapport setup crashes on unimplemented function ntoskrnl.exe.PsGetCurrentProcessSessionId
37592 Filenames in themed file dialog change size
40700 Page Scrolling Bar of PDF Eraser not rendered with wine-mono
45133 Multiple applications need 'ntdll.NtQueryInformationProcess' to support 'ProcessSessionInformation' info class (ProcessHacker, NewProcessFromToken)
49625 winedbg --command 'info wnd' fails with Exception c0000005
51655 iphlpapi regression prevents Samsung SDK from working properly
51672 Imperiums: Greek Wars has small black window on launch (caused by wrong position).
51693 ntdll:info fails on Windows 7 64-bit
51702 AFxW: the working directory of launched Unix application isn't set
51726 wineserver crashes with an assert()
51728 copypasta in pwcache.c:ctox()
----------------------------------------------------------------
Changes since 6.16:
Akihiro Sagawa (3):
ntdll: Fix use-after-free.
dbghelp: Get rid of useless while loop.
po: Update Japanese translation.
Alex Henrie (5):
cmd: Fix capitalization of WCMD_ReadFile in comment.
ntdll/tests: Remove unused variable sbi from test_query_process.
wpp: Allow fully variadic macros.
include: Provide a definition of NOP_FUNCTION that works on GCC.
uiautomationcore: Add UiaDisconnectProvider stub.
Alexandre Julliard (26):
ntdll/tests: Fix a size check for older Windows versions.
winebuild: Add an option to set the syscall table id.
ntdll: Add a helper function to set a syscall table.
ntdll: Store the syscall argument table on the PE side.
ntdll: Declare the syscall functions array explicitly.
ntdll: Don't use winebuild for the Unix part.
makefiles: Always link Unix libraries against ntdll.so.
win32u: Add the infrastructure for building the syscall table.
wow64win: Add the infrastructure for wrapping the win32u syscall table.
wow64: Add support for multiple syscall tables.
wow64: Patch the Wow64Transition pointer in all loaded modules.
wow64: Load wow64win.dll.
configure: Remove some no longer needed configure checks.
shell32: Avoid some code duplication.
shell32: Pass the destination Windows path to _SHCreateSymbolicLink().
shell32: Don't put shell folders inside My Documents.
mountmgr: Add requests to query and set shell folder symbolic links.
winecfg: Use mountmgr to manage shell folders.
winecfg: Build with msvcrt.
winecfg: Use wide character string literals.
winecfg: Use Unicode functions throughout.
configure: Enable ws2_32 build on Windows.
shell32: Share more code between the various IShellFolder_GetDetailsOf implementations.
shell32: Merge the drag & drop implementation from the Unix shell folder.
shell32: Merge the property bag implementation from the Unix shell folder.
Revert "ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module."
Anton Baskanov (5):
sfnt2fon: Avoid out-of-bounds read (AddressSanitizer).
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
wined3d: Fix the odd line condition in gen_yv12_read().
wined3d: Simplify the odd line condition in gen_yv12_read().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (3):
attrib: Avoid crash when called without parameter.
cmd/tests: Add test for attrib without parameter.
cmd: Load start.exe from the system directory.
Charles Davis (5):
winemac.drv: Enable layer-backed views.
winemac.drv: Use a mask layer to support window regions.
winemac.drv: Move GL context update code to -viewWillDraw method.
winemac.drv: Set the surface contents directly to the layer.
winemac.drv: Remove now unused -[WineContentView drawRect:].
Connor McAdams (1):
oleacc: Implement AccessibleObjectFromEvent.
Dmitry Timoshkov (3):
wininet/tests: Add some tests for InternetErrorDlg(FLAGS_ERROR_UI_FILTER_FOR_ERRORS).
wininet: Fix some InternetErrorDlg() conditions returning ERROR_INVALID_PARAMETER.
wininet: Add handling for remaining special errors to InternetErrorDlg.
Eric Pouech (55):
dbghelp: Fix NameLen usage in SYMBOL_INFO(W).
dbghelp: Fill more fields in SYMBOL_INFO in SymGetTypeFromName.
dbghelp: Fix two internal buffer allocations.
dbghelp: Correctly store and report bitfield information.
dbghelp: Introduce internal type (symt_module) to match SymTagExe.
dbghelp: Return the stored name for a compiland.
dbghelp: Return the symt_module when requesting lexical parent of a UDT.
dbghelp: Enums should be found by name (as UDTs are).
dbghelp: Return the correct length for an enumeration.
dbghelp: Return a lexical parent for enums (as we do for UDTs).
dbghelp: Added missing break statement.
dbghelp: Split storage of PE header.
dbghelp: Store the IMAGE_OPTIONAL_HEADER in either 32bit or 64bit form.
dbghelp: Fix SymInitialize for a live 32bit target from a 64bit caller in WOW64.
dbghelp: Tidy up internals for array type.
winedbg: Allow debugging a 32bit target from a 64bit winedbg.
dbghelp: Fix dwarf2 subprogram handling.
dbghelp: Add dwarf support of DW_FORM_ref_udata.
dbghelp: Add a couple of more traces when querying an attribute's value.
dbghelp: Update/clarify dwarf definitions for 3/3f/4 standard versions.
dbghelp: Fix dwarf constants.
dbghelp: Always return a type in lookup_type, even in case of errors.
dbghelp: Mostly get rid of symt_cache in dwarf debug information.
dbghelp: Added an unknown type in symt_cache for handling bad references to types.
dbghelp: Check correctness of type (esp. in case of unknown ones).
dbghelp: Don't call assert() on missing subprogram dwarf's information.
dbghelp: Harden inspection of Dwarf line number information.
dbghelp: Fix erroneous string manipulation when said string is empty.
dbghelp: Properly handle errors when reading first DIE in compilation unit.
dbghelp: Handle the case where loader isn't what WINELOADER reports.
dbghelp: SymLoadModule* should return the base address in case of success, and 0 otherwise.
dbghelp: Allow loading virtual module at any address.
dbghelp: Return correct error code when reloading a module in SymLoadModule*.
dbghelp: Use module->modulename instead of module->module.ModuleName in traces.
dbghelp: Use the correct module name for lookups including module's name.
include: Extend IMAGEHLP_MODULE*64 with new fields.
dbghelp: Manage the new MachineType field in IMAGEHLP_MODULE(W)64.
dbghelp: Make symt_fill_func_line_info() and symt_get_func_line_next() static functions inside symbol.c.
dbghelp: Add internal_line_t structure as help in Line manipulation.
dbghelp: Implement all SymGetLineNext* functions using internal_line_t.
dbghelp: Rewrite SymGetLinePrev* with internal_line_t.
dbghelp: Set is_first and is_last flags on the fly in symt_add_func_line.
dbghelp: Get rid of useless symt_normalize_func().
dbghelp/dwarf: Allow tweaking from env variable which DWARF version is to be loaded.
dbghelp/dwarf: Add dwarf2_cuhead_s structure to hold compilation unit parsing info.
dbghelp/dwarf: Share compilation unit header information.
dbghelp/dwarf: Add word size parameter to parse_addr() internal function.
dbghelp/dwarf: Pass dwarf2_cuhead_t for addr details to swallow_attribute.
dbghelp/dwarf: Pass a parse_cuhead_t to compute_location().
dbghelp/dwarf: Pass word_size as a parameter to a couple of frame related functions.
dbghelp/dwarf: Use word_size from cuhead_t.
dbghelp/dwarf: Pass dwarf2_cuhead_t to lookuploclist().
dbghelp/dwarf: Initialize module's word_size at module load time.
dbghelp: Use correct parameter name.
dbghelp: Ensure all adresses are stored at least in DWORD_PTR.
Esme Povirk (4):
mscoree: Always base the config file path on the main exe.
mscoree: Don't trace arguments in CorExeMain.
mscoree: Add a buffer for Mono's debug output.
sppc: Stub SLClose.
Fabian Maurer (1):
mpr: Fix copy paste error when converting hex char to int.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (28):
shlwapi: Fix ASCII / ANSI mixups in comments.
shlwapi: Tweak the wording of the _SHStrDupAToBSTR() documentation.
shlwapi/tests: Fix some ASCII / ANSI mixups in ok() messages.
winex11.drv: Remove WINAPI on static functions where not needed.
kerberos: Make accept_context() static.
quartz: Remove WINAPI on static functions where not needed.
windowscodecs: Remove WINAPI on static functions where not needed.
iphlpapi: Make the adapters_addresses_*() functions static.
crypt32: Make gnutls_(un)?initialize() static.
comctl32: Fix an ASCII / ANSI mixup in a comment.
user32: Fix ASCII / ANSI mixups in comments.
dnsapi: Make the resolv_*() functions static.
shlwapi: Fix the length returned by SHFormatDateTimeA().
msxml3: SchemaCache_version() is unused so remove it.
advapi32/tests: Fix some Perflib subkey tests.
msi: Remove CDECL on static functions where not needed.
shell32: Fix a couple of ASCII / ANSI mixups in comments.
shlwapi/tests: Test a NULL flags pointer for SHFormatDateTime().
shlwapi/tests: Remove SHFormatDateTimeA() crash test.
windowscodecs: Make the png_{de,en}coder_*() functions static.
wined3d: Make wined3d_context_vk_allocate_memory() static.
uxtheme/tests: Use the OpenThemeDataForDpi() function pointer.
nsi/tests: Improve the error messages.
wininet/tests: Remove some unnecessary traces from the http test.
mf: Remove WINAPI on static functions where not needed.
windowscodecs: Make the jpeg_encoder_*() functions static.
msvcrt: Remove CDECL on static functions where not needed.
msvcp140_1: Remove __cdecl on static functions where not needed.
Gabriel Ivăncescu (3):
user32: Add a helper to retrieve the work rect.
user32: Don't save maximized pos of top-level wnds covering whole work rect.
jscript: Fix refcounting the object prototype fallback.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.2.190.
winevulkan: Update to VK spec version 1.2.191.
Gerald Pfeifer (1):
nsiproxy: Include sys/param.h from udp.c.
Gijs Vermeulen (2):
include/wuapi: Add WindowsUpdateAgentInfo coclass and interface.
avicap32: Partially implement capCreateCaptureWindowW.
Giovanni Mascellani (2):
tzres: Regenerate TZ data from de facto standard sources.
tzres: Take timezone display names from Unicode CLDR database.
Guillaume Charifi (2):
kernelbase: Add stub for SetProcessGroupAffinity().
api-ms-win-core-processtopology-l1-1-0: Add dll.
Hans Leidekker (4):
webservices: Return an error when the record value is too large for the description type.
webservices: Add support for WS_XML_TEXT_TYPE_INT64 in text_to_uint32().
webservices: Increase the size of the writer heap.
webservices: Add support for RECORD_BYTES32_TEXT in write_text_bin().
Hermès Bélusca-Maïto (1):
shlwapi: SHAddDataBlock() returns BOOL, not HRESULT.
Hugh McMaster (1):
conhost: Set keyboard focus to correct radio button in save dialog.
Jacek Caban (60):
gdi32: Use NtGdiGetGlyphIndicesW for GetGlyphIndicesW.
gdi32: Move a few font functions to text.c.
gdi32: Use ntgdi names for a few more font functions.
gdi32: Use NtGdiGetFontFileData for GetFontFileData.
gdi32: Move GdiRealizationInfo to text.c.
gdi32: Move EnumFontFamiliesEx wrappers to text.c.
gdi32: Move resource functions wrappers to text.c.
gdi32: Use ntgdi names for GetClipBox and GetRandomRgn.
gdi32: Move more DC stubs to gdidc.c.
gdi32: Use ntgdi names for object functions.
gdi32: Move stub object functions to objects.c.
gdi32: Move EnumObjects to objects.c.
gdi32: Use NtGdiExtCreatePen for ExtCreatePen.
gdi32: Use NtGdiCreateCompatibleBitmap for CreateCompatibleBitmap.
gdi32: Use NtGdiGetAndSetDCDword for SetGraphicsMode.
gdi32: Use NtGdiGetDIBitsInternal for GetDIBits.
gdi32: Use NtGdiCreateDIBitmapInternal for CreateDIBitmap.
gdi32: Use NtGdiCreateDIBSection for CreateDIBSection.
wininet: Return ERROR_CANCELLED for unsupported errors in InternetErrorDlg.
wininet: Prefer recent windows results in InternetErrorDlg tests.
gdi32: Use EnumFontFamiliesExW for EnumFontFamiliesExA.
gdi32: Use NtGdiEnumFonts for EnumFontFamiliesExW.
gdi32: Use NtGdiAddFontMemResourceEx for AddFontMemResourceEx.
gdi32: Use ntgdi for AddFontResourceExW and RemoveFontResourceExW.
gdi32: Copy TranslateCharsetInfo to text.c.
gdi32: Move CombineTransform to objects.c.
gdi32: Move LineDDA to objects.c.
gdi32: Move GdiDllInitialize to objects.c.
gdi32: Use NtGdiGetRandomRgn for GetClipRgn.
gdi32: Use NtGdiGetRandomRgn for GetMetaRgn.
gdi32: Use ntgdi names for spool functions.
gdi32: Store abort proc in DC_ATTR.
gdi32: Use NtGdiStartDoc for StartDoc.
gdi32: Use ntgdi interface for printer driver functions.
gdi32: Move GdiConvertToDevmodeW to gdidc.c.
gdi32: Use shifted values for NTGDI_OBJ_* constants.
gdi32: Use NtGdiGetDCObject for GetCurrentObject.
gdi32: Use ntgdi functions to create stock objects.
gdi32: Get stock objects directly from GDI_SHARED_MEMORY in GetStockObject.
gdi32: Use internal get_stock_object in ntgdi functions.
gdi32: Use NtGdiDeleteObjectApp instead of DeleteObject in ntgdi functions.
gdi32/tests: Add more metafile brush tests.
gdi32: Allocate extra DWORD for EMR_CREATEDIBPATTERNBRUSHPT records.
gdi32: Copy brush bits in get_brush_bitmap_info.
gdi32: Use zero biClrUsed in emfdc_create_brush when possible.
gdi32: Move get_full_gdi_handle to objects.c.
gdi32: Move metafile defines to gdi_private.h.
gdi32: Don't use gdi_private.h and ntgdi_private.h at the same time.
gdi32: Factor out get_bitmap_info.
gdi32: Use EMR_MASKBLT to record MaskBlt.
gdi32: Use EMR_PLGBLT to record PlgBlt.
gdi32: Support NULL prev_value in NtGdiGetAndSetDCDword.
gdi32: Use GetICMProfile driver entry point for EnumICMProfilesW.
gdi32: Factor out get_icm_profile.
gdi32/test: Add tests for recording MaskBlt and PlgBlt in EMFs.
gdi32: Use EMR_TRANSPARENTBLT to record GetTransparentBlt.
gdi32/tests: Add GdiTransparentBlt tests.
gdi32: Fix some ntgdi names.
gdi32: Directly use ntgdi functions in font.c.
gdi32: Remove no longer needed metafile special case from NtGdiExtTextOutW.
Jan Sikorski (2):
winemac.drv: Omit WM_ENTER/EXITSIZEMOVE on non-interactive window changes.
wined3d: Remove wined3d_texture_copy_sysmem_location().
Matteo Bruni (1):
d3dcompiler: Clear preprocessor lexer state after running it.
Michael Stefaniuc (5):
dbghelp: Remove superfluous casts to self.
riched20/tests: Don't cast NULL.
dhtmled.ocx: Forward ConnectionPoint_Release() to a release method.
quartz: Forward dsound_render_qc_Release() to a release method.
dpnet: Don't assign a COM object to the 3rd param of QueryInterface.
Nikolay Sivov (35):
comctl32/listview: Remove description headers from Edit box helpers.
d3d10/effect: Add a semi-stub for GetShaderDesc().
d3d10/effect: Store bytecode blob for every shader.
d3d10/effect: Discard some of the shader metadata when optimizing an effect.
d3d10/effect: Support stream output declaration when creating geometry shaders.
d3d10/tests: Add a test for inline geometry shader with stream output declaration.
d3dx10/font: Store font description data.
d3dx10/font: Create gdi objects on font object creation.
d3dx10/font: Implement GetTextMetrics().
d3dx10_39/tests: Enable tests.
d3d10/effect: Set IsInline in GetShaderDesc().
d3d10/effect: Store stream output declaration for inline shaders too.
d3d10/effect: Create shaders with stream output when declaration string is present.
d3d10/effect: Remove unnecessary early returns.
d3d10/effect: Fix indexing in GetVertexShader().
d3dx10/font: Add PreloadTextW().
d3dx10/font: Add PreloadCharacters().
d3dx10/sprite: Store projection matrix.
d3d10/effect: Fix indexing in GetPixelShader().
d3d10/effect: Fix indexing in GetGeometryShader().
d3d10/effect: Use case-insensitive comparison in GetVariableBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberTypeBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberBySemantic().
d3dx10_38/tests: Enable tests.
d3dx10: Partially implement D3DX10CreateEffectFromResource().
widl: Write default values for VARIANT arguments.
wined3d: Handle null semantics in stream output description cache.
ole32: Remove unused CoGetCallerTID() stub.
ole32: Merge ole2* source files.
d3d10/tests: Test SystemValueType field.
d3d10/effect: Set corresponding variable flag when explicit bind point is specified for a constant buffer.
d3d10/effect: Use same field to return ExplicitBindPoint for all variable types.
d3d10/effect: Handle rgba masks in stream output declarations.
d3d10/effect: Handle special $SKIP semantic in stream output declaration.
d3d10/effect: Fix d3d object creation for arrays of state objects.
Paul Gofman (1):
kernelbase: Mind OS version in the PE header when reporting OS version.
Piotr Caban (1):
concrt140: Avoid forwarding to msvcp120 by duplicating msvcp90/details.c.
Rémi Bernon (31):
winebus.sys: Report WINEBUS\WINE_COMP_HID compatible id.
winebus.sys: Report WINEBUS\WINE_COMP_XINPUT compatible id for gamepads.
winexinput.sys: Introduce a new winexinput.sys driver.
winebus.sys: Stop enforcing input and IG suffix on gamepads.
winebus.sys: Pass a struct bus_event pointer to bus_wait.
winebus.sys: Return an event from SDL bus wait on device removal.
winebus.sys: Return an event from UDEV bus wait on device removal.
winebus.sys: Return an event from IOHID bus wait on device removal.
winebus.sys: Move mouse and keyboard devices to unixlib.c.
winexinput.sys: Don't set RawDeviceOk in IRP_MN_QUERY_CAPABILITIES.
winexinput.sys: Handle IRP_MN_QUERY_DEVICE_RELATIONS in pdo_pnp.
winexinput.sys: Request the bus device report descriptor on startup.
hidclass.sys: Use a separate class for devices matching WINEXINPUT\*&XI_*.
winexinput.sys: Create an additional internal xinput PDO.
xinput1_3/tests: Wait for the state to change before checking it.
xinput1_3: Use the internal WINEXINPUT device interface class.
winebus.sys: Create devices using a struct device_desc descriptor.
winebus.sys: Move device vtable to the struct unix_device side.
winebus.sys: Look for duplicate UDEV devices on the unix side.
winebus.sys: Remove the now useless bus_enumerate_hid_devices.
winebus.sys: Return an event from SDL bus wait on device creation.
winebus.sys: Return an event from UDEV bus wait on device creation.
winebus.sys: Return an event from IOHID bus wait on device creation.
dinput8/tests: Move HID driver tests from ntoskrnl.exe.
winexinput.sys: Look for caps in the lower HID report descriptor.
winexinput.sys: Translate lower reports into XInput HID reports.
dinput8/tests: Read the HID report descriptor from the registry.
dinput8/tests: Read HID_DEVICE_ATTRIBUTES from the registry.
dinput8/tests: Read the expected lengths from the registry.
dinput8/tests: Stop increasing the sequence in HID_GET_INPUT_REPORT.
hidclass.sys: Call HID_READ_REPORT to read reports in polled mode.
Tim Clem (1):
winemac.drv: Allow cycling of windows with Cmd+`.
Zebediah Figura (44):
shlwapi/tests: Use the public definition of DATABLOCK_HEADER.
shlwapi/tests: Use Wine names for ordinal functions.
kernel32/tests: Add some tests for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Validate the output size for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_DHCP_REQUEST_PARAMS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_ENUMERATE_CREDENTIALS.
nsiproxy: Return STATUS_BUFFER_OVERFLOW to signal short buffers.
kernelbase: Return TRUE from DeviceIoControl() if the NT status denotes success.
server: Remove the async from the queue in async_set_result().
server: Do not call async_terminate() when restarting an already terminated async.
server: Use async->iosb->status instead of async->status in async_satisfied().
server: Use a separate field to track whether the async has been alerted.
server: Use a simple boolean to track whether the async has been terminated.
server: Allow calling async_terminate() with STATUS_PENDING.
server: Allow completing non-alerted asyncs with STATUS_PENDING.
server: Do not create an iosb for IRP calls not associated with an async.
server: Introduce a helper to fill an iosb and terminate the async.
server: Add a helper to call async_request_complete() while allocating new memory.
server: Use async_request_complete() in message_queue_read().
server: Move the STATUS_ALERTED logic from async_request_complete() to async_terminate().
avicap32: Build with msvcrt.
d3dcompiler/tests: Test including an absolute path.
server: Use a separate function and flag to communicate that the initial status of an async is not known yet.
server: Mark the async as pending in IOCTL_AFD_BIND.
server: Mark the async as pending in IOCTL_AFD_EVENT_SELECT.
server: Check the status code to determine whether the async has failed.
server: Return void from the get_volume_info callback.
server: Return void from the read callback.
server: Return void from the write callback.
server: Return void from the flush callback.
server: Return void from the ioctl callback.
server: Add helper functions to perform atomic stores.
server: Fill the TimeZoneBias member of KSHARED_USER_DATA.
server: Make sure that async_request_complete() is called in the case of a failed connection as well.
d3dcompiler/tests: Link directly to the relevant d3dcompiler version.
d3dcompiler_46/tests: Enable tests.
d3dcompiler: Handle D3D_COMPILE_STANDARD_FILE_INCLUDE in preprocess_shader().
d3dcompiler/tests: Test include preprocessing with more functions.
server: Cancel asyncs through fd_ops.
server: Queue a cancel IRP in the device file cancel_async callback.
ntoskrnl/tests: Test a pending NtQueryVolumeInformation call on an overlapped file handle.
server: Use a separate field to track whether an async is blocking.
server: Don't wake up always-blocking asyncs.
Zhiyi Zhang (34):
user32/tests: Add DisplayConfigSetDeviceInfo() tests.
uxtheme/tests: Add GetThemePartSize() tests.
uxtheme: Implement OpenThemeDataForDpi().
comctl32: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
winecfg: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Get DPI from theme class.
control: Add DPI system awareness settings to the application manifest.
clock: Add DPI system awareness settings to the application manifest.
dxdiag: Add system DPI awareness settings to the application manifest.
explorer: Add system DPI awareness settings to the application manifest.
hh: Add system DPI awareness settings to the application manifest.
iexplore: Set process DPI settings to be system awareness.
msiexec: Add system DPI awareness settings to the application manifest.
msinfo32: Add system DPI awareness settings to the application manifest.
notepad: Add system DPI awareness settings to the application manifest.
oleview: Add system DPI awareness settings to the application manifest.
regedit: Add system DPI awareness settings to the application manifest.
taskmgr: Add system DPI awareness settings to the application manifest.
uninstaller: Add system DPI awareness settings to the application manifest.
view: Add system DPI awareness settings to the application manifest.
wineboot: Add system DPI awareness settings to the application manifest.
winecfg: Add system DPI awareness settings to the application manifest.
winedbg: Add system DPI awareness settings to the application manifest.
winefile: Add system DPI awareness settings to the application manifest.
winemine: Add system DPI awareness settings to the application manifest.
winetest: Add system DPI awareness settings to the application manifest.
winevdm: Add system DPI awareness settings to the application manifest.
winver: Add system DPI awareness settings to the application manifest.
wordpad: Add system DPI awareness settings to the application manifest.
uxtheme: Get and set system metrics in 96 DPI.
user32: Change scroll bar minimum thumb size to 8 pixels.
user32: Scale scroll bar minimum thumb size according to DPI.
regsvr32: Enable visual styles.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.16 is now available.
What's new in this release (see below for details):
- Initial version of a HID-based joystick backend.
- Improved high-DPI theming support.
- More preparation work for the GDI syscall interface.
- Better CodeView support in WineDump.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.16.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.16.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.16 (total 36):
11146 RootsMagic 3.2.x crashes when using 'Publisher' feature
22741 Enterprise Architect 6.5: crash when generating RTF document
23382 NVIDIA Demo: Cascades crashes on unimplemented function d3dx10_43.dll.D3DX10CreateFontA
25359 Internet Explorer 4 setup crashes
27737 NVIDIA D3D SDK 10 Lightning Sample crashes on unimplemented function d3dx10_43.dll.D3DX10CreateSprite
27738 Multiple NVIDIA D3D SDK 10 example applications crash on unimplemented function d3dx10_43.dll.D3DX10CreateFontW
37310 MMS Buchfuehrung und Bilanz fails during online update
37771 32bit Virtualbox 4.0.8 fails to start on Wow64 wine prefix
38010 VPython 6.11: python2.7.9 crashes when importing visual
38136 Clickr: missing letters
38640 Cygwin/MSYS2 compiled Hello World program couldn't display output in pure Linux console
38867 Homesite+ (v5.5): Using keyboard shortcut for indenting text wipes out text (but undo restores to correct result)
38868 Homesite+ (v5.5): If caps-lock is on, exiting Extended Find dialog results in caps-lock state being toggled
39139 Microsoft Return of Arcade Anniversary Edition setup spawns DelUS.bat which never closes and consumes 100% CPU
39873 Sumatra PDF 3.1.1 - Wine crashes during reading PDF
40862 Kingsoft Office 2012 displays a gray editor window with invisible text
45200 Hitman (2016) doesn't launch in Direct3D 12 mode
49542 vkGetInstanceProcAddr shouldn't return an address for missing functions
50405 RTL_USER_PROCESS_PARAMETERS.EnvironmentSize field is not set in process parameters
50412 Wrong check for needed access rights in QueryServiceConfig2
51221 Dangerous Water crash when starting a Multiplayer game (requires IDirectPlay8Server_EnumServiceProviders implementation)
51302 NASCAR '15 Victory Edition gets in infinite loop on launch
51304 d3dcompiler_43:hlsl_d3d9 and d3dcompiler_47:hlsl_d3d9 fail on AMD GPUs (cw-rx460)
51547 Comet Busters doesn't start (reports 'Could not load shapes. Probably not enough memory.')
51550 Unable to run wine at all, could not load kernel32.dll.
51553 Purple bitmap should be transparent in scrollbar theming
51570 Tetris (16bit) has regressions in gdi32
51590 services:service fails when the KDE taskbar is at the top
51614 NtGdiSetLayout is missing call to release_dc_ptr(dc)
51620 TemTem crashes before main menu
51626 Star Citizen crashes on launch
51632 Downloading Wine-Mono through appwiz hangs/fails
51635 wine fails to build with glibc 2.34
51642 EverQuest fails to log in
51668 mscoree tests fail, .NET executables usually fail to run
51671 Random Dungeon: Can't show load screen.
----------------------------------------------------------------
Changes since 6.15:
Akihiro Sagawa (3):
ws2_32/tests: Add socket option validity tests for a file handle.
ws2_32: Explicitly return WSAENOTSOCK for a file handle in getsockopt() except SO_OPENTYPE.
ws2_32: Disallow NULL in socket lookups.
Alex Henrie (8):
ws2_32: Hook up IPV6_RECVTCLASS.
ws2_32: Always set error in setsockopt when the option is unrecognized.
ws2_32: Drop support for getting the IP_HDRINCL socket option.
ntdll: Check for unsupported socket protocol+option combinations.
ws2_32: Re-add support for getting IP_HDRINCL on raw sockets.
include: Add IPv6 PROTECTION_LEVEL constants.
ws2_32: Return PROTECTION_LEVEL_UNRESTRICTED for IPV6_PROTECTION_LEVEL.
ws2_32/tests: Add tabular socket option validity tests.
Alexandre Julliard (22):
ntdll: Add a stub for NtCallbackReturn().
ntdll: Implement KiUserCallbackDispatcher().
ntdll: Add support for user callbacks.
server: Set YMM registers from the native context even in Wow64 mode.
ntdll/tests: Don't mark Wow64 behavior as broken.
ntdll/tests: Don't mark Wow64 floating point behavior as broken.
server: Also set extended registers from the native context even in Wow64 mode.
ntdll: Fix exception information for SSE floating point faults.
ntdll: Don't handle breakpoint interrupts in Wow64 mode.
ntdll: Fix floating point exception codes in Wow64 mode.
ntdll: Always send a Wow context to the server for Wow64 processes.
wow64: Add a thunk for the NtRaiseException syscall.
wow64: Forward 64-bit invalid handle exceptions to the 32-bit guest.
wow64: Fix function comments.
ntdll: Consistently fixup the machine type for IL-only binaries.
winebuild: Fix 64-bit argument alignment on ARM.
ntdll: Store the syscall flags in the syscall frame on all platforms.
ntdll: Store the syscall table in the syscall frame on all platforms.
ntdll: Move the syscall dispatcher implementation to the platform-specific files.
winecrt0: Add fallback implementation for __wine_unix_call().
dpnet: Fix short buffer check also for the A case.
winegcc: Fix subsystem check to avoid running winebuild on Unix libraries.
Alistair Leslie-Hughes (6):
ws2_32: Handle success in addrinfo_err_from_unix.
dpnet: Implement IDirectPlay8Server EnumServiceProviders.
ntdll: Add NtTraceControl/ZwTraceControl stubs.
dpnet: Implement IDirectPlay8Address GetURLW/A.
services: Check correct permission for QueryServiceConfig2W.
ntoskrnl.exe: Implement PsGetCurrentProcessSessionId.
André Zwing (1):
shell32: Add IApplicationDocumentLists stub.
Damjan Jovanovic (1):
nsiproxy: Include netinet/ip_var.h.
Daniel Lehman (2):
kernelbase/tests: Add more tests for combining the second path.
kernelbase: Don't add a backslash to the second path if not needed.
Dmitry Timoshkov (2):
comctl32: Check control type in the STM_SETIMAGE/STM_SETICON handlers before calling the helpers.
user32: Check control type in the STM_SETIMAGE/STM_SETICON handlers before calling the helpers.
Eric Pouech (26):
winedump: Move string conversion of machine and language into dedicated helpers.
winedump: Add more supported languages from .pdb COMPILE records.
winedump: Add a bunch of new CPU definitions for PDB.
winedump: Display function attributes in function/methods codeview records.
winedump: Dump calling convention attributes for CodeView.
winedump: Add some new bits in UDT's property field.
dbghelp:: Add proper support for S_OBJNAME records.
mscvpdb.h: Make len and id type/symbol fields unsigned.
winedump: Update support for S_COMPILE* records.
mscvpdb.h: Add typedefs for type-id references.
winedump: Fix public and data/proc ref definitions of Codeview records.
winedump: Correctly support flags in public records (V1 and V2).
winedump: Add support for dumping S_LOCAL symbol record.
winedump: Add support for S_DEFRANGE* family of CodeView records.
winedump: Print symbol id when dumping symbols.
winedump: Add support for dumping CodeView records about site information.
winedump: Add support for CALLERS/CALLEES/INLINEES codeview records.
winedump: Add support for buildinfo codeview record.
winedump: Add support for dumping trampoline codeview records.
winedump: Add support for dumping heap_alloc_site CodeView records.
winedump: Add support for dumping filestatic Codeview records.
winedump: Add support for dumping stream of fixed index 4.
winedump: Add support for dumping information about type's hash stream.
winedump: Add support for dumping CodeView types records found in IPI stream (#4).
winedump: Correct and update a couple of infos in PDB symbol stream header.
dbghelp: Fix a failure about 'wrong name EntryPoint'.
Esdras Tarsis (3):
bthprops.cpl: Add BluetoothGetRadioInfo stub.
bthprops.cpl: Add BluetoothFindNextDevice stub.
api-ms-win-core-psm-appnotify-l1-1-0: Add dll.
Fabian Maurer (1):
configure: Improve resolv lib test for glibc 2.34.
François Gouget (51):
msv1_0: Fix the call to ntlm_cleanup().
advapi32/tests: RegSetValueExA() should succeed when given a NULL data pointer.
advapi32/tests: Fix an uninitialized variable check in test_performance_keys().
d2d1/tests: Some languages need a longer buffer for property display names.
kernel32/tests: Don't skip the sorting tests on Windows.
kernel32/tests: Don't skip the CompareStringA() tests on Windows.
avifil32: Fix a ASCII / ANSI mixup in comments.
wineusb.sys: Fix a potential buffer overflow in add_usb_device().
kernel32/tests: Don't allow the pre-Vista locale results.
kernel32/tests: Remove the macros from the GetTimeFormatA() tests.
services/tests: Vista+ returns fixed 1024x768 WinDisc monitor information.
kernel32/tests: Remove the macros from the GetCurrencyFormatA() tests.
kernel32/tests: Remove the macros from the GetNumberFormatA() tests.
kernel32/tests: Remove the macros from the GetDateFormatA() tests.
kernel32/tests: Remove the macros from the GetTimeFormatEx() tests.
kernelbase: Fix an ASCII / ANSI mixup in a comment.
iphlpapi: Fix an ASCII / ANSI mixup in a comment.
imm32: Fix an ASCII / ANSI mixup in a comment.
dpnet: Fix an ASCII / ANSI mixup in a warning message.
kernel32/tests: Remove the macros from the GetDateFormatEx() tests.
kernel32/tests: Remove the macros from the GetDateFormatW() tests.
kernel32/tests: Remove the macros from the GetNumberFormatEx() tests.
secur32/tests: Fix an ASCII / ANSI mixup in an ntlm comment.
msi: Fix ASCII / ANSI mixups in comments.
setupapi: Fix a couple of ASCII / ANSI mixups in comments.
winspool.drv: Fix ASCII / ANSI mixups in comments and TRACE() messages.
winmm/tests: Fix an ASCII / ANSI mixup in a trace() message.
wsock32: Fix ASCII / ANSI mixups in comments.
user32/tests: Fix an ASCII / ANSI mixup in a dde ok() message.
user32/tests: Fix ASCII / ANSI mixups in dde comments.
include: Fix the spelling of a comment.
wined3d: Fix the spelling of a comment.
ntoskrnl.exe: Fix the spelling of some comments.
wldap32: Make the wrap_*() functions static.
winedbg: dbg_get_debuggee_info() is not used anymore. Remove it.
kernel32/tests: Test GetTimeFormatA()'s Unicode to ANSI conversion.
kernel32/tests: Test GetDateFormatA()'s Unicode to ANSI conversion.
kernel32: Fix NLS_GetDateTimeFormatA() Unicode to ANSI conversion.
qcap: Make v4l_device_create() static.
kernel32: Fix ASCII / ANSI mixups in comments.
kernel32/tests: Fix ASCII / ANSI mixups in comments.
kernel32/tests: Fix a couple of ASCII / ANSI mixups in ok() messages.
winedump: Fix the spelling of a trace and a comment.
wpcap: Make wrap_pcap_handler() static.
ntdll: Fix the spelling of a comment.
wmphoto: Make the wmp_decoder_*() functions static.
winepulse.drv: Use the official PulseAudio case for the endpoint id.
mshtml: Remove WINAPI on static functions where not needed.
user32/tests: Use WineTest contexts to simplify test_LoadImage{Bitmap,File}().
gdiplus: GdipGetFamilyName() should not crash when given a NULL name.
gdiplus/tests: Fix a font test crash when "MS Shell Dlg" is not found.
Georg Lehmann (4):
winex11.drv: Only return vulkan functions if the host function is available.
winemac.drv: Only return vulkan functions if the host function is available.
winevulkan: Return NULL for unavailable instance functions.
winevulkan: Return NULL for unavailable device functions.
Gerald Pfeifer (8):
nsiproxy: Include sys/param.h.
nsiproxy: Include netinet/in_pcb.h.
nsiproxy: Include stddef.h.
ntdll: Always return a value in get_builtin_init_funcs.
nsiproxy: Include sys/types.h from udp.c.
nsiproxy: Add $(PROCSTAT_LIBS) to EXTRALIBS.
nsiproxy: Include netinet/in.h in udp.c.
nsiproxy: Include sys/queue.h from tcp.c.
Gijs Vermeulen (1):
winecfg: Disable virtual desktop when using macdrv.
Hiroki Awata (1):
msgsm32.acm: Msgsm32 should not perform PCM-to-PCM conversion.
Hugh McMaster (2):
kernel32/tests: Add tests for SetCurrentConsoleFontEx.
conhost: Use font face length as number of characters.
Huw D. M. Davies (26):
iphlpapi: Use the correct size to allocate the process map.
nsiproxy: Implement TCP connections enumerate_all.
nsiproxy: Add support for IPv6 scope ids.
nsiproxy: Add support for TCP pid lookup.
iphlpapi: Implement GetExtendedTcpTable() on top of nsi.
iphlpapi: Implement GetTcpTable2() and GetTcp6Table2().
iphlpapi: Implement AllocateAndGetTcp(Ex)TableFromStack() on top of nsi.
nsiproxy: Implement UDP endpoint enumerate_all.
iphlpapi: Implement GetExtendedUdpTable() on top of nsi.
iphlpapi: Implement AllocateAndGetUdpTableFromStack() on top of nsi.
nsiproxy: Implement UDP stats get_all_parameters.
iphlpapi: Implement GetUdpStatisticsEx() on top of nsi.
iphlpapi: Implement GetInterfaceInfo() on top of nsi.
iphlpapi: Don't enumerate loopback interfaces in GetInterfaceInfo().
iphlpapi: Implement GetAdapterIndex() by parsing the GUID from the name.
iphlpapi: Use the ANSI codepage for the convert interface name functions.
iphlpapi: Remove no longer needed libraries.
configure: Remove no longer used checks for libkstat.
server: Remove check for macOS version < 10.5.
winegcc: Add a @loader_path to help the macOS loader find ntdll.so.
winewrapper: Add dlls/ntdll to the library path so macOS can find ntdll.so.
iphlpapi: Don't truncate 64-bit ptrs.
iphlpapi: Use the correct physical address.
iphlpapi: Return early on error.
ntdll: Remove old macOS register names.
ntdll: Remove unnecessary casts on macOS registers.
Jacek Caban (88):
gdi32: Use NtGdiCreatePaletteInternal for CreatePalette.
gdi32: Use ntgdi names for palette functions.
gdi32: Use NtGdiDoPalette for GetPaletteEntries.
gdi32: Use NtGdiDoPalette for SetPaletteEntries.
gdi32: Use NtGdiDoPalette for AnimatePalette.
gdi32: Use NtGdiDoPalette for GetSystemPaletteEntries.
gdi32: Use NtGdiDoPalette for GetDIBColorTable and SetDIBColorTable.
gdi32: Use NtGdiGetAndSetDCDword for SetBkColor.
gdi32: Use NtGdiGetAndSetDCDword for SetTextColor.
gdi32: Store save level in DC_ATTR.
gdi32: Use NtGdiRestoreDC for RestoreDC.
gdi32: Rename METAFILEDRV_PDEVICE to metadc.
gdi32: Avoid using MFDRV_MetaParam* helpers.
gdi32: Don't use PHYSDEV for metafile helpers.
gdi32: Remove no longer needed metafile helpers.
gdi32: Use NtGdiCreateClientObj for CreateMetaFile.
gdi32: Directly handle EMFs in GdiComment.
gdi32: Remove no longer used driver entry points.
conhost: Use dedicated ioctl for GetConsoleWindow.
conhost: Use message window to return a window for windowless consoles.
gdi32: Move mfdrv/init.c to new metadc.c file.
gdi32: Merge mfdrv/dc.c into metadc.c.
gdi32: Merge mfdrv/graphics.c into metadc.c.
gdi32: Merge mfdrv/objects.c into metadc.c.
gdi32: Merge mfdrv/bitblt.c into metadc.c.
gdi32: Merge mfdrv/text.c into metadc.c.
gdi32: Use NtGdiFillPath for FillPath.
gdi32: Use NtGdiSelectClipPath for SelectClipPath.
gdi32: Use NtGdiFlattenPath for FlattenPath.
gdi32: Remove no longer used driver entry points.
gdi32: Use NtGdiStrokeAndFillPath for StrokeAndFillPath.
gdi32: Use NtGdiStrokePath for StrokePath.
gdi32: Use NtGdiWidenPath for WidenPath.
gdi32: Use ntgdi names for GetPath and PathToRegion.
gdi32: Use NtGdiGetAndSetDCDword for SetDCBrushColor.
gdi32: Use NtGdiGetAndSetDCDword for SetDCPenColor.
gdi32: Rename bidi.c to text.c.
gdi32: Move bidi text reordering to ExtTextOutW.
gdi32: Move GetCharacterPlacementW to text.c.
gdi32: Move ExtTextOutW wrappers to text.c.
gdi32: Move GetCharacterPlacementA to text.c.
gdi32: Use NtGdiGetTextFaceW for GetTextFace.
gdi32: Use NtGdiGetTextExtentExPointW for GetTextExtentExPoint.
gdi32: Use NtGdiGetTextMetricsW for GetTextMetrics.
gdi32: Store font code page in DC_ATTR.
gdi32: Use NtGdiHfontCreate for CreateFont* functions.
gdi32: Use NtGdiGetOutlineTextMetricsInternalW for GetOutlineTextMetrics.
gdi32: Introduce NtGdiCreateMetafileDC.
gdi32: Store EMF bounds in DC_ATTR.
gdi32: Use NtGdiResetDC for ResetDCW.
gdi32: Use NtGdiDeleteObjectApp for DeleteDC.
gdi32: Handle EMF recording clean up in DeleteDC.
gdi32: Move EMF driver to separated file.
gdi32: Use struct emf for EMF helpers.
gdi32: Avoid using EMFDRV_PDEVICE outside emfdev.c.
gdi32: Use NtGdiGetRgnBox in emfdrv_stroke_and_fill_path.
gdi32: Separate EMFDRV_PDEVICE and struct emf.
gdi32: Move enhmfdrv/dc.c into new emfdc.c file.
gdi32: Merge enhmfdrv/init.c into emfdc.c.
gdi32: Merge enhmfdrv/objects.c into emfdc.c.
gdi32: Merge enhmfdrv/graphics.c into emfdc.c.
gdi32: Merge enhmfdrv/bitblt.c into emfdc.c.
gdi32: Merge enhmetafiledrv.h into emfdc.c.
gdi32: Use ntgdi names for D3DKMT functions.
gdi32: Implement NtGdiDdDDIOpenAdapterFromLuid.
gdi32: Move D3DKMTOpenAdapterFromGdiDisplayName to objects.c.
gdi32: Reimplement CreateBrushIndirect on top of other brush constructors.
gdi32: Use NtGdiCreateSolidBrush for CreateSolidBrush.
gdi32: Use NtGdiCreateHatchBrush for CreateHatchBrush.
gdi32: Use NtGdiCreatePatternBrushInternal for CreatePatternBrush.
gdi32: Use NtGdiCreateDIBBrush for CreateDIBPatternBrushPt.
gdi32: Use NtGdiCreateDIBBrush for CreateDIBPatternBrush.
gdi32/tests: Add more char width tests.
gdi32/tests: Use winetest_debug to silence noisy traces.
gdi32: Use NtGdiGetCharWidthW for GetCharWidth.
gdi32: Support passing an array of chars to NtGdiGetCharWidthW.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthFloatW.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthFloatA.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthI.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsW.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsA.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsI.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsFloatW.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsFloatA.
gdi32: Use NtGdiGetGlyphOutlineW for GetGlyphOutlineW.
gdi32: Use NtGdiGetKerningPairsW for GetKerningPairsW.
gdi32: Move GetFontLanguageInfo to text.c.
gdi32: Use ntgdi name for GetFontData.
Jan Sikorski (1):
wined3d: Avoid read-to-read resource barriers.
Jinoh Kang (1):
gdi32: Add missing release_dc_ptr to NtGdiSetLayout.
Kim Malmo (1):
po: Update Norwegian translation.
Luke Deller (2):
msvcrt/tests: Add test for fopen/_open access hints.
server: Implement file access hints using posix_fadvise.
Michael Stefaniuc (13):
msxml3/tests: Remove superfluous cast to self.
mfplat/tests: Avoid cast from COM object to interface.
mf/tests: Avoid cast from COM object to interface.
dwrite: Avoid casts from COM object to interface.
shlwapi/tests: Avoid casts from COM object to interface.
msdaps: Avoid casts from COM object to interface.
winebus.sys: Print the debug string and not the pointer to it.
msvcrt/tests: Remove redundant NULL check before free().
amstream/tests: Actually test the return of IMediaFilter_SetSyncSource.
qedit/tests: Remove duplicated ok() call.
qcap/tests: Remove duplicated ok() call.
windows.gaming.input/tests: Test the correct return value.
d3dx10: Remove redundant NULL check before heap_free().
Nikolay Sivov (44):
msxml3/tests: Add some supported interfaces checks.
msxml3: Move IDispatchEx support definitions to a separate header.
msxml3: Do not depend on libxml2 for namespace object.
msxml3: Do not depend on libxml2 for msxwriter object.
msxml3: Add a helper for XMLHTTP response encoding detection.
msxml3: Do not depend on libxml2 for XMLHTTP object.
msxml3: Do not depend on libxml2 for XMLVIEW object.
msxml3: Do not depend on libxml2 for urlmon integration code.
d3dx10: Add a stub sprite object.
d3dx10: Add a stub font object.
d3dx10/tests: Add some tests for font object.
d3dx11_42/tests: Enable tests.
d3d10/effect: Get rid of unnecessary cast in ID3D10EffectPass::GetDesc().
d3d10/effect: Return full pass description from ID3D10EffectPass::GetDesc().
d3dx9/effect: Reset output handle for next after last technique in FindNextValidTechnique().
dwrite/tests: Use winetest context for some tests.
msxml3: Do not depend on libxml2 for DOM implementation object.
msxml3/domimpl: Cleanup object creation helper.
msxml3/domimpl: Fixup method functions names.
msxml3: Do not depend on libxml2 for legacy IXMLParser object stub.
msxml3: Do not depend on libxml2 for parser error object.
include: Add ID3DX10Mesh definition.
oleaut32/tests: Add interface checks for font object.
oleaut32/typelib: Remove explicit check already handled by the loop condition.
d3d10/effect: Handle geometry shader variables declared with stream output.
d3d10/effect: Handle SetResource() called on null variable instance.
d3dx10_42/tests: Enable tests.
d3dx10_43/tests: Test all attributes of glyph textures.
oleaut32: Fully initialize VARIANT structure in VariantInit().
d3d10/effect: Use shader reflection to return output signature description.
d3d10/effect: Fix indexing in GetOutputSignatureElementDesc().
d3d10/effect: Use shader reflection to return input signature description.
d3d10/effect: Store input signature as a blob part.
d3d10/effect: Give a name to value assignment type field.
d3dx10_41/tests: Enable tests.
d3dx10: Add a stub mesh object.
d3dx10: Check device in d3dx10_sprite_GetDevice().
d3dx10/tests: Add some tests for sprite object.
d3d10/effect: Warn only when ignored default variable value is specified.
d3d10/effect: Clear up unknown fields in effect header.
d3d10/effect: Store explicit bind point value for constant buffers and object variables.
d3dx10_40/tests: Enable tests.
d3dx9: Forward D3DXDisassembleShader() to d3dcompiler.
d3dcompiler/tests: Add a D3DDisassemble() test with sm2 shader.
Paul Gofman (4):
winegstreamer: Create media source read thread after initializing wg_parser.
winhttp: Factor out query_data_ready() function.
winhttp: Execute WinHttpQueryDataAvailable() synchronously if the data is available.
winhttp: Execute WinHttpReadData() synchronously if the data is available.
Piotr Caban (34):
msvcrt: Use new() for allocations returning BadAlloc exception.
msvcrt: Allow specifying destructor in DEFINE_CXX_DATA macro.
msvcp90: Remove type_info_dtor helper from CREATE_TYPE_INFO_VTABLE macro.
msvcrt: Add macro that defines type_info vtable.
msvcrt: Rename scheduler.c file to concurrency.c.
msvcrt: Move lock Concurrency functions to concurrency.c.
msvcrt: Move _Trace_agents function to concurrency.c.
msvcrt: Move _Trace_ppl_function to concurrency.c.
msvcrt: Rename exception::what() implementation to exception_what.
msvcrt: Introduce macro for creating exception class.
msvcrt: Move improper_lock implementation to concurrency.c.
msvcrt: Move scheduler_resource_allocation_error to concurrency.c.
msvcrt: Move invalid_scheduler_policy_key to concurrency.c.
msvcrt: Move invalid_scheduler_policy_value to concurrency.c.
msvcrt: Move invalid_scheduler_policy_thread_specification to concurrency.c.
msvcrt: Move improper_scheduler_attach to concurrency.c.
msvcrt: Move improper_scheduler_detach to concurrency.c.
msvcrt: Simplify throw_exception helper.
concrt140: Don't forward to msvcr120.
msvcp90: Move Concurrency::details functions to details.c file.
msvcp90: Remove MSVCRT_ prefix from new() and delete().
msvcp90: Always throw bad_alloc exception in operator_new on allocation failure.
msvcp90: Remove MSVCP_SIZE_T_MAX definition.
msvcp90: Don't use throw_exception helper for rethrow.
msvcp90: Fix _Xmem and _Nomemory exception message.
msvcp90: Don't use throw_exception helper for bad_alloc exception.
msvcrt: Fix _CxxThrowException prototype.
msvcp90: Don't use throw_exception helper for length_error exception.
msvcp90: Don't use throw_exception helper for invalid_argument exception.
msvcp90: Don't use throw_exception helper for runtime_error exception.
msvcp90: Don't use throw_exception helper for out_of_range exception.
msvcp90: Introduce throw_range_error helper.
msvcp90: Introduce throw_failure helper.
msvcp90: Use throw_exception helper to throw exception object only.
Rémi Bernon (48):
hidclass.sys: Enforce POLL_FREQUENCY_MSEC value range.
hidclass.sys: Remove unnecessary poll_interval == 0 cases.
hidclass.sys: Factor poll / non-polled read loops together.
hidparse.sys: Introduce new driver library.
hidparse.sys: Implement HidP_(Get|Free)CollectionDescription.
hidclass.sys: Use hidparse.sys instead of internal parser.
winebus.sys: Pass bus id instead of vtbl to lookup functions.
winebus.sys: Use bus_find_hid_device to find SDL devices from id.
winebus.sys: Always call the EVDEV ioctls for input UDEV subsystem.
winebus.sys: Only read EVIOCGID result if the ioctl succeeded.
winebus.sys: Simplify parsing udev device info from uevent.
winebus.sys: Parse udev device version and input number from uevent.
winebus.sys: Ignore EV_REL / EV_ABS ioctl failures.
winebus.sys: Return NTSTATUS from build_report_descriptor.
winebus.sys: Unlink device before releasing it.
setupapi/tests: Add more driver / device id match tests.
setupapi: Use a struct driver instead of individual local variables.
setupapi: Create only one driver per driver id match.
setupapi: Rank drivers according to their id match.
winebus.sys: Introduce a new start_device callback.
winebus.sys: Build report descriptors in start_device.
winebus.sys: Remove the now useless bus_remove_hid_device.
winebus.sys: Merge begin_report_processing with start_device.
winebus.sys: Pass HID_XFER_PACKET and IO_STATUS_BLOCK to callbacks.
winebus.sys: Create the SDL bus thread in main.c.
winebus.sys: Create the UDEV bus thread in main.c.
winebus.sys: Create the IOHID bus thread in main.c.
winebus.sys: Introduce a new unixlib interface.
winebus.sys: Load bus options in main.c.
winebus.sys: Allocate private device data separately.
winebus.sys: Use the private data pointer as device unique id.
ntoskrnl.exe/tests: Add more HID usage nary tests.
hidclass.sys: Fix nary usage collections index ordering.
hid: Implement HidP_UnsetUsages.
hid: Implement HidP_SetScaledUsageValue.
dinput: Allocate data format on device creation.
dinput: Support disabled by default option in device_disabled_registry.
dinput: Introduce new HID joystick backend.
dinput: Add read event and callback for file-based devices.
dinput: Implement HID joystick IDirectInputDevice8_GetDeviceInfo.
dinput: Implement HID joystick IDirectInputDevice8_GetProperty.
dinput: Implement HID joystick IDirectInputDevice8_GetDeviceState.
dinput: Implement HID joystick IDirectInputDevice8_GetCapabilities.
dinput: Enumerate HID collections, input buttons and values.
dinput: Implement HID joystick IDirectInputDevice8_SetProperty.
dinput: Implement HID joystick IDirectInputDevice8_GetObjectInfo.
dinput: Implement HID joystick IDirectInputDevice8_EnumObjects.
dinput: Read HID reports from the internal thread.
Tim Clem (1):
user32: Load libpng in DllMain.
Zebediah Figura (21):
ws2_32/tests: Fix a test failure in test_GetAddrInfoExW().
ws2_32: Use malloc() instead of HeapAlloc().
ws2_32: Use realloc() in get_{host, proto, serv}ent_buffer().
ws2_32: Properly implement getsockopt(SO_CONNECT_TIME).
server: Remove support for waiting on an IRP object.
server: Remove a redundant NULL check for async->fd.
ntoskrnl: Dereference the device children in IoDeleteDevice().
ntoskrnl: Factor out remove_device().
wineusb.sys: Mark child PDOs as removed as soon as they are hot-unplugged.
wineusb.sys: Unlink devices from the list in the PDO IRP_MN_SURPRISE_REMOVAL.
ntoskrnl/tests: Add some tests for IRP pending flags.
ntoskrnl: Set the PendingReturned field in IoCompleteRequest().
ntoskrnl: Clear the pending flags for the current stack location before calling the previous location's completion routine.
quartz: Always return S_FALSE from DllCanUnloadNow().
qcap: Always return S_FALSE from DllCanUnloadNow().
winegstreamer: Always return S_FALSE from DllCanUnloadNow().
devenum: Always return S_FALSE from DllCanUnloadNow().
d3dcompiler: Rip out the HLSL compiler.
ntdll/tests: Also test the IOSB status in test_volume_info().
ntoskrnl/tests: Add more tests for IRP status handling.
kernel32: Call kernelbase DeviceIoControl() in kernel32 DeviceIoControl().
Zhiyi Zhang (17):
user32: Report a fake monitor when running on an invisible window station.
wordpad: Use large icons for toolbar when DPI is greater than 120.
winex11.drv: Use length returned from sprintfW().
winemac.drv: Use length returned from sprintfW().
light.msstyles: Add more Button HiDPI images.
light.msstyles: Add Scroll Bar gripper HiDPI images.
light.msstyles: Add Tooltip HiDPI images.
light.msstyles: Add more TreeView HiDPI images.
light.msstyles: Add TrueSizeScalingType property to TrueSize sizing parts.
uxtheme: Remove useless calculation.
uxtheme: Support TrueSizeScalingType property.
uxtheme: Support TrueSizeStretchMark property.
uxtheme: Support more HiDPI properties.
uxtheme: Add comctl32 v6 manifest.
uxtheme: Implement DrawThemeIcon().
uxtheme: Use TransparentBlt() for bitmaps with all alpha values being 0xff.
uxtheme: Draw scroll bar parent background only when theme parts are transparent.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.15 is now available.
What's new in this release (see below for details):
- WinSock (WS2_32) library converted to PE.
- Support for performance data in the registry.
- More 32->64-bit thunks for NTDLL calls.
- Improved floating point status handling in the C runtime.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.15.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.15.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.15 (total 49):
21910 File Encryption 2.1 does now show interface and drive units correctly
25602 Windows Double Explorer: can't add a favorite folder when using Wine Mono
28257 kernel32/pipe.ok flaky
33037 Multiple Microsoft product installers fail due to missing registry performance counter information (HKEY_PERFORMANCE_DATA 230, process object)(Visual Studio 6, eMbedded Visual C++ 4.0, SQL Server Management Studio Express 2008 R2)
34345 AOMEI Backupper: crashes when clicking on "reload" button
34679 Split/Second Velocity Demo crashes without native d3dx9_36
34726 e-carte bleue la banque postale: black screen on start
36159 Google-Earth: no search results and no itinerary displayed
39302 Multiple D3D example applications crash due to d3dx10_43.dll.D3DX10CreateEffectFromFileW stub (NVIDIA D3D SDK 10 Sparkles, DirectX SDK GPUSpectrogram)
39365 Gas Guzzlers Combat Carnage demo has wrong rendering with ARB shaders enabled
39821 Scrollbar theming not working
41191 Multiple D3D example applications crash due to d3dx10_43.D3DX10CreateEffectFromMemory stub (Separable Subsurface Scattering, Nvidia's CSAA tutorial demo)
41221 wine-mono crashes with "System.EntryPointNotFoundException" when run under gdb
41560 Multiple MFC-based BCGControlBar Library examples fail to draw Themed Scrollbars (BCGPVisualStudioGUIDemo, BCGPOutlookDemo)
41629 Wordpad needs a manifest file.
41921 Zafehouse: Diaries crashes when attempting to start the game
42341 Cryostasis: Sleep of Reason demo shows black screen after launch
47047 Multiple kernel drivers crash due to missing 'ntoskrnl.exe.MmGetPhysicalAddress' semi-stub (64-bit MRAC Anti-Cheat (My.Com Warface) kernel service, DELL BIOS flash utility, BattlEye Anti-Cheat)
47261 Sysinternals ClockRes returns wrong values (NtQueryTimerResolution/NtSetTimerResolution)
48583 Waves VST Plugins do not render correctly
48584 DTS Master Audio Suite displays a black window if dxvk is installed
48585 DTS Master Audio Suite display turns black if it is minimised then maximised
48854 When using Wavelab I am unable to save any file
49067 When working in a Windows CLI environment the up arrow key no longer brings up the last command used.
49726 ChrisPC Free VPN Connection 2.x crashes on unimplemented function rasapi32.dll.RasSetCredentialsA when clicking 'Connect to VPN'
50167 Wavelab 6 no longer launches with introduction of wine 5.22
50419 Windows Movie Maker 2.0 installer fails to register 'l3codeca.acm' codec (missing 'dxtrans.dll', IDXTaskManager)
50705 Cygwin64 on Wine64-staging closes the console after every command.
51215 Logos Bible Software crashes when selecting a resource in Library View or Factbook
51290 Since wine 6.10 does not work HD-mod lobby game Heroes of Might and Magic 3 (HotA)
51326 Counter:Side: No sound after losing and regaining focus for the first time
51344 Resident Evil 4 (2007) hangs on start without native d3dx9_30
51358 Civilization 4: XML load error when trying to start
51374 GreedFall 1.0.5684 crashes on unimplemented function KERNEL32.dll.GetCurrentPackagePath
51398 "The Bat!" mailer cannot send mails with attachments anymore
51419 Multiple games crash on launch using Vulkan renderer (The Park, DARQ, HITMAN 2 (2018), Little Nightmares)
51452 oleaut32:varformat fails in Wine when the currency sign has two characters or more
51469 iBall Soft AP Manager crashes on unimplemented function wlanapi.dll.WlanHostedNetworkQueryProperty
51496 On KDE riched20:editor triggers a clipboard infinite loop, crashing explorer.exe
51501 FFXIV Launcher shows repeated certificate warning popup
51519 Multiple applications have issues with network connections (PlayOnline Viewer, Steam).
51533 Some Radeon driver versions seem to break kernelbase:sync
51535 Native Access 1.13.3 crashes on unimplemented function virtdisk.dll.DetachVirtualDisk
51540 PlayOnline Viewer (FFXI) fails to start (Wine built without MinGW).
51560 Toon Boom Harmony 15 crashes on unimplemented function tbs.dll.Tbsi_GetDeviceInfo
51568 Zafehouse: Diaries demo crashes on start
51579 Regression in msvcrt breaks google earth installer
51586 Metal Gear Solid V: The Phantom Pain crashes on launch
51591 AFxW: file list panes aren't updated at start-up
----------------------------------------------------------------
Changes since 6.14:
Akihiro Sagawa (4):
user32/tests: Test pending redraw state with owner-drawn list box.
user32/listbox: Fix redraw after LB_SETCOUNT message.
comctl32/tests: Test pending redraw state with owner-drawn list box.
comctl32/listbox: Fix redraw after LB_SETCOUNT message.
Alex Henrie (19):
msdmo: Fix size of DMOGetName's array argument (GCC).
include: Fix size of MsiEnumClientsEx[AW]'s array argument (GCC).
rasapi32: Add RasSetCredentialsA/W stubs.
include: Add IN6_PKTINFO.
ws2_32/tests: Add tests for IPv6 control messages.
ws2_32: Hook up IPV6_HOPLIMIT.
ws2_32: Hook up IPV6_PKTINFO.
wlanapi: Add WlanHostedNetworkQueryProperty stub.
wlanapi: Add WlanHostedNetworkQuerySecondaryKey stub.
include: Move DOT11_PHY_TYPE to windot11.h.
wlanapi: Add WlanHostedNetworkQueryStatus stub.
dxtrans: Add stub DLL.
shell32: Fix use of uninitialized variable in paste_pidls (Clang).
ntdll: Add missing break to case IPV6_PKTINFO.
include: Add remaining IPv6 socket options.
include: Add remaining IPv4 socket options.
include: Add IPV6_HOPOPTS and IPV6_GET_IFLIST.
tapi32: Add lineGetTranslateCapsW stub.
ntoskrnl: Add MmGetPhysicalAddress semi-stub.
Alexandre Julliard (46):
ntdll: Fix the SYSTEM_CACHE_INFORMATION structure definition.
ntdll: Make wine_nt_to_unix_file_name() and wine_unix_to_nt_file_name() follow NT syscall conventions.
wow64: Add thunks for the system information query syscalls.
wow64: Add thunks for the wine_nt_to_unix_file_name and wine_unix_to_nt_file_name syscalls.
wow64: Add a thunk for the wine_server_call() syscall.
ntdll: Add a magic parameter to NtFreeVirtualMemory() for releasing address space.
ntdll: Update the MEMORY_INFORMATION_CLASS enumeration.
ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module.
msvcrt: Remove leftover __wine_init_unix_lib() call.
ntdll: Move the loading of the global options to the Unix side.
ntdll: Store the 32-bit PEB in the process initial 32-bit context.
ntdll: Use the 32-bit __wine_ctrl_routine() in Wow64 processes.
wow64cpu: Implement 32<->64 bit code switching.
wow64cpu: Restore the full 32-bit context when changed externally.
wow64: Make the syscall dispatcher point to the wow64cpu syscall wrapper.
wow64: Add support for jumping to 32-bit code in Wow64LdrpInitialize().
wow64: Implement Wow64ApcRoutine().
wow64: Add thunks for a few misc syscalls.
wow64: Add thunks for ioctl/fsctl syscalls.
ntdll: Avoid some duplicate async definitions.
ntdll: Add a helper function to get the iosb pointer to pass to the server.
ntdll: Only update the I/O status block at function exit.
ntdll: Set the I/O status block through the 32-bit pointer for Wow64 processes.
ntdll: Make release_builtin_module() static.
ntdll: Don't try to load .so dlls for a different machine.
ntdll: Load the Unix dll at the same time as the PE one, but don't map it yet.
ntdll: Add a Wine-specific NtQueryVirtualMemory() query to retrieve the Unix call table.
ntdll: Add a custom type for the Unix functions table handle.
wow64: Add thunks for the Unix library syscalls.
winepulse.drv: Convert the Unix call initialization to NtQueryVirtualMemory().
winegcc: Add a helper function to build the .spec.o file.
winegcc: Don't build the .spec.o file for native Unix libraries.
ntdll: Make __wine_unix_call() WINAPI to follow syscall conventions.
ntdll: Avoid CDECL on internal functions.
winegcc: Build Unix libraries as dynamic libs on macOS.
winegcc: Use custom subsystem 'unixlib' instead of 'native' for Unix libraries.
makefiles: Don't depend on import libraries for native Unix libraries.
include: Add a private header for Unix libraries definitions.
odbc32: Convert the Unix library to the __wine_unix_call interface.
msv1_0: Move context allocation to the PE side.
msv1_0: Convert the Unix library to the __wine_unix_call interface.
ws2_32: Avoid using wineserver definitions.
ws2_32: Convert the Unix library to the __wine_unix_call interface.
netapi32: Avoid process heap allocations.
netapi32: Convert the Unix library to the __wine_unix_call interface.
ntdll: Make get_builtin_unix_funcs() static.
Alistair Leslie-Hughes (1):
hid: Validate preparsed data pointer passed in HidP functions.
Andrew Boyarshin (1):
include: Fix IRequestDictionary IID.
Andrew Eikum (1):
dxgi/tests: Add tests to show frame latency object is a semaphore.
Arkadiusz Hiler (1):
dinput/tests: Make overlapped format tests more robust.
Austin English (2):
virtdisk: Add DetachVirtualDisk stub.
kernel32: Add GetCurrentPackagePath stub.
Biswapriyo Nath (1):
include: Add some type aliases in dsound.h.
Damjan Jovanovic (1):
msxml3: Use XSD regex quantifier format S{0, m} instead of S{, m}.
Dmitry Timoshkov (2):
ole32/tests: Add more tests for CoIncrementMTAUsage/CoDecrementMTAUsage.
combase: When looking up an apartment which has a given creator thread ID use multi-threaded apartment only if the thread doesn't have an apartment-threaded one.
Eduard Permyakov (1):
xmllite: Don't lose terminating character when shrinking buffer.
Esme Povirk (1):
mscoree: Only override Microsoft.Xna.Framework version 4.
François Gouget (16):
kernelbase/tests: Fix the Sleep() test for non-default timer resolutions.
ntdll/tests: Add some Nt{Query,Set}TimerResolution() tests.
ntdll: Improve the Nt{Query,Set}TimerResolution() stubs.
ntdll/tests: Account for some timer resolution rounding.
oleaut32: Remove caching from VARIANT_GetLocalisedNumberChars().
ws2_32: Add a trailing linefeed to a FIXME().
oleaut32: The decimal point takes priority over the thousands separator.
oleaut32: Fix VarParseNumFromStr()'s handling of currency thousands separators.
user32/tests: Use wine_dbgstr_a() instead of %.8s.
user32/tests: GetClipboardData() returns no error for missing formats.
oleaut32: Add support for longer currency symbols.
oleaut32: Fix VarParseNumFromStr()'s handling of currency decimals.
oleaut32: Fix handling of hexadecimal/octal numbers in VarParseNumFromStr().
oleaut32: Allow longer regional settings values.
user32/tests: Test delayed clipboard rendering after window destruction.
server: Remove obsolete synthesized formats in release_clipboard().
Gabriel Ivăncescu (3):
ntdll: Fix offsetof syntax for IOCTL_AFD_WINE_GET_IRLMP_ENUMDEVICES.
jscript: Fix GetIDsOfNames for more than one name.
vbscript: Fix GetIDsOfNames for more than one name.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.188.
Gerald Pfeifer (2):
nsiproxy: Include sys/types.h.
ntdll: Only use sysinfo function when present.
Gijs Vermeulen (1):
tbs: Add Tbsi_GetDeviceInfo stub.
Giovanni Mascellani (1):
kernelbase: Fix an incorrect allocation size.
Hugh McMaster (5):
conhost: Remove duplicate lines from current_config().
conhost: Set screen buffer height to 150 characters in registry defaults.
conhost: Copy font properties to the new screen buffer.
conhost: Use correct size when storing font FaceName in the registry.
kernel32/tests: Fix rounding error when calculating console font size.
Huw D. M. Davies (38):
nsiproxy: Implement IPv4 forward enumerate_all.
iphlpapi: Implement GetIpForwardTable2().
iphlpapi: Implement GetIpForwardTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpForwardTable() on top of GetIpForwardTable().
iphlpapi: Move the WINS server lookup to a helper.
iphlpapi/tests: Add more tests for GetAdaptersInfo().
iphlpapi: Implement GetAdaptersInfo() on top of nsi.
dnsapi: Implement support for returning ipv4 servers in a DNS_ADDR_ARRAY.
dnsapi: Add support for returning ipv6 dns server addresses.
dnsapi: Add support for DnsConfigSearchList.
ntdll: Return STATUS_NOT_SUPPORTED if dlinfo() is not present.
dnsapi: Delay import netapi32.
iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for GetAdaptersAddresses().
iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for the remaining functions.
iphlpapi: Use DnsQueryConfig() to retrieve the dns suffix.
iphlpapi: Move the loopback check to get_dns_server_list().
iphlpapi: Add support for the EnableRouting member.
dnsapi: Return ERROR_MORE_DATA on insufficient buffer.
iphlpapi: Rewrite GetAdaptersAddresses() to first alloc and then copy the info.
iphlpapi: Mark non-loopback, non-linklocal addresses as dns eligible.
iphlpapi: Implement GetAdaptersAddresses() on top of nsi.
nsiproxy: Implement IPv4 neighbour enumerate_all.
iphlpapi: Implement GetIpNetTable2() on top of nsi.
iphlpapi: Implement GetIpNetTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpNetTableFromStack() on top of GetIpNetTable().
nsiproxy: Implement IPv4 ipstats get_all_parameters.
nsiproxy: Implement IPv6 ipstats get_all_parameters on linux.
nsiproxy: Implement IP compartment get_all_paramters.
iphlpapi: Implement GetIpStatisticsEx() on top of nsi.
iphlpapi: Update the echo request and reply counts.
nsiproxy: Implement IPv4 icmpstats get_all_parameters.
nsiproxy: Implement IPv6 icmpstats get_all_parameters on linux.
iphlpapi: Implement GetIcmpStatisticsEx() on top of nsi.
iphlpapi: Implement GetIcmpStatistics() on top of GetIcmpStatisticsEx().
nsiproxy: Don't use the key size to determine the address family as it can be zero.
nsiproxy: Add an #ifdef guard for SIN_ROUTER.
nsiproxy: Implement TCP stats get_all_parameters.
iphlpapi: Implement GetTcpStatisticsEx() on top of nsi.
Jacek Caban (64):
gdi32: Use ntgdi names for GetDeviceGammaRamp and SetDeviceGammaRamp.
gdi32: Use ntgdi names for GetBoundsRect and SetBoundsRect.
gdi32: Store vis_rect in DC_ATTR.
gdi32: Don't restore DC state in EnumEnhMetaFile when using metafiles.
gdi32: Store viewport extent in DC_ATTR.
gdi32: Store viewport origin in DC_ATTR.
gdi32: Store window origin in DC_ATTR.
gdi32: Store window extent in DC_ATTR.
gdi32: Store brush origin in DC_ATTR.
gdi32: Use DC_ATTR for SetBrushOrgEx implementation.
gdi32: Use NtGdiPatBlt for PatBlt implementation.
gdi32: Use NtGdiIntersectClipRect for IntersectClipRect implementation.
gdi32: Use NtGdiOffsetClipRgn for OffsetClipRgn implementation.
gdi32: Use NtGdiExcludeClipRect for ExcludeClipRect implementation.
gdi32: Use ntgdi names for PtVisible and RectVisible.
gdi32: Use NtGdiExtSelectClipRgn for ExtSelectClipRgn implementation.
gdi32: Use NtGdiSetMetaRgn for SetMetaRgn.
gdi32: Remove no longer used clipping driver entry points.
gdi32: Use ntgdi interface for GetTransform and GetWorldTransform.
gdi32: Use ntgdi name for SetVirtualResolution.
gdi32: Use NtGdiSetTextJustification for SetTextJustification.
gdi32: Use NtGdiTransformPoints for DPtoLP.
gdi32: Use NtGdiTransformPoints for LPtoDP.
gdi32: Use ntgdi interface for SetMapMode implementation.
gdi32: Store char_extra in DC_ATTR.
gdi32: Use DC_ATTR for SetTextCharacterExtra implementation.
gdi32: Store mapper flags in DC_ATTR.
gdi32: Use ntgdi interface for SetLayout implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Support StockFlag in GDI_HANDLE_ENTRY.
gdi32: Use NtGdiScaleViewportExtEx for ScaleViewportExtEx implementation.
gdi32: Use NtGdiScaleWindowExtEx for ScaleWindowExtEx implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Handle deletion of objects associated with metafile without accessing kernel objects.
gdi32: Handle metafiles directly in SelectObject.
gdi32: Handle EMFs directly in SelectObject.
gdi32: Handle metafiles directly in SelectPalette.
gdi32: Handle metafiles directly in RealizePalette.
gdi32: Store virtual resolution and size in DC_ATTR.
gdi32: Handle metafiles directly in SetViewportExtEx.
gdi32: Handle metafiles directly in SetViewportOrgEx.
gdi32: Handle metafiles directly in SetWindowExtEx.
gdi32: Handle metafiles directly in SetWindowOrgEx.
gdi32: Handle metafiles directly in OffsetViewportOrgEx.
gdi32: Handle metafiles directly in OffsetWindowOrgEx.
gdi32: Remove no longer used driver entry points.
gdi32: Use ntgdi name for GetTextCharsetInfo.
gdi32: Use GetDIBits in emfdrv_stretchblt.
gdi32: Don't use bitblt_coords in emfdrv_stretchblt.
gdi32: Use GetDIBits instead of GetObject in MFDRV_StretchBlt.
gdi32: Use NtGdiStretchBlt for StretchBlt.
gdi32: Use NtGdiBitBlt for BitBlt.
gdi32: Use NtGdiAlphaBlend for GdiAlphaBlend.
gdi32/tests: Add more metafile blitting tests.
gdi32: Use NtGdiModifyWorldTransform for ModifyWorldTransform.
gdi32: Support MWT_SET in NtGdiModifyWorldTransform.
gdi32: Use NtGdiModifyWorldTransform for SetWorldTransform implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Use NtGdiSetDIBitsToDeviceInternal for SetDIBitsToDevice.
gdi32: Use NtGdiStretchDIBitsInternal for StretchDIBits.
gdi32: Use NtGdiExtEscape for ExtEscape.
gdi32: Move Escape to gdidc.c.
krnl386.exe: Convert 16-bit GDI handles to full 32-bit handles.
include: Use WOWHandle32 for HDC_32 on Wine.
Jan Sikorski (3):
wined3d: Make use of VK_EXT_host_query_reset if available.
wined3d: Don't try to reset query pools if we don't have a command buffer.
wined3d: Avoid redundantly resetting timestamp queries.
Luke Deller (2):
msvcrt: Translate file open access pattern hints.
kernelbase: Translate FILE_FLAG_SEQUENTIAL_SCAN.
Martin Storsjö (10):
winebuild: Spell out "x30" instead of "lr" for arm64.
mailmap: Add a mailmap entry for myself with the proper spelling.
winebuild: Fix building for arm with older versions of binutils.
msvcrt: Implement _statusfp for arm.
msvcrt: Implement _clearfp for arm.
msvcrt: Implement _control87 for arm.
ucrtbase: Update the fenv test for non-x86 architectures.
msvcrt: Implement fesetenv for arm64.
msvcrt: Implement fesetenv for arm.
loader: Add support for ARM linux in the preloader.
Matteo Bruni (5):
wined3d: Don't consider texture rectangles for buffers.
wined3d: Clear dirty flags after calling all the state handlers in context_apply_draw_state().
d3dx10/tests: Don't fail tests when WMP support is missing.
d3dx10/tests: Ignore D3DX10GetImageInfoFromResourceA/W() test failures on Vista.
d3dcompiler/tests: Ignore z, w components in test_struct_semantics().
Nikolay Sivov (23):
mfplat: Add some more attributes for tracing.
evr: Added MFIsFormatYUV().
include: Add IMFVideoProcessorControl3 definition.
mf/tests: Add some tests for EVR stream services.
gdi32: Update font realization structure definition.
wininet: Adjust IsHostInProxyBypassList() prototype.
d3d11/tests: Test 2D texture creation with mutually exclusive sharing modes.
d3d10core/tests: Test 2D texture creation with mutually exclusive sharing modes.
gdi32: Use documented structure layout for EMF-to-WMF embedding records.
include: Add d3dx10 vector and matrix types.
include: Use regular header for d3dx10core.idl.
include: Add ID3DX10Font/ID3DX10Sprite definitions.
d3dx10: Partially implement D3DX10CreateEffectFromMemory().
d3dx10: Partially implement D3DX10CreateEffectFromFileW().
d3d10/effect: Store string annotation values.
d3d10/effect: Implement GetString().
d3d10/effect: Partially implement ID3D10Effect::GetDesc().
d3dx9: Implement getting/setting line width.
d3dx11/tests: Add some tests for D3DX11GetImageInfoFromMemory().
include: Fix copy-paste issue in d3dx10core.h.
d3dcompiler: Improve d3d10_shader_reflection_GetDesc() to return missing stats.
d3dcompiler: Improve D3D11_SHADER_DESC returned by reflection interface.
d3dx10: Forward D3DX10CreateEffectFromFileA() to D3DX10CreateEffectFromFileW().
Oleg Dubinskiy (1):
include: Add RASCREDENTIALSA/W structures.
Paul Gofman (4):
kernelbase: Fix copy size for delete_privs in CreateRestrictedToken().
jscript: Fix use after free in Object_defineProperty().
jscript: Avoid use after free in JSON_parse().
jscript: Also add function name to its detached scope in ES5 mode.
Piotr Caban (10):
msvcrt: Introduce _setfp_sse helper to access mxcsr register.
msvcrt: Don't check x87 status word in x86_64 _statusfp.
msvcrt: Don't clear x87 status word x86_64 _clearfp.
msvcrt: Don't reset x87 in x86_64 fpreset.
msvcrt: Introduce _setfp helper to access floating point status and control words.
msvcrt: Introduce _setfp helper on aarch64.
msvcrt: Introduce _setfp helper on arm.
msvcrt: Use _setfp helper on all architectures.
msvcrt: Implement _fpreset on arm and aarch64.
msvcrt: Fix x87 FPU status register assignment detection.
Rémi Bernon (71):
ntoskrnl.exe/tests: Reduce todo_wine test verbosity.
ntoskrnl.exe/tests: Return success from IOCTL_HID_GET_STRING.
ntoskrnl.exe/tests: Don't close HID device file twice.
ntoskrnl.exe/tests: Add some HidD_(Get|Set)NumInputBuffers tests.
hidclass.sys: Set IoStatus.Information in IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS.
ntoskrnl.exe/tests: Add some IOCTL_HID_(GET|SET)_POLL_FREQUENCY_MSEC tests.
ntoskrnl.exe/tests: Add some tests with concurrent reads in polled mode.
maintainers: Add a WIDL section.
maintainers: Add myself to some sections.
hidclass.sys: Implement button array value caps.
hidclass.sys: Return irp->IoStatus.Status consistently.
hidclass.sys: Return STATUS_INVALID_USER_BUFFER when appropriate.
hidclass.sys: Return STATUS_INVALID_PARAMETER when appropriate.
hidclass.sys: Pass IO_STATUS_BLOCK parameter to call_minidriver.
hidclass.sys: Return irp->IoStatus.Information from minidriver.
hidclass.sys: Use call_minidriver for IOCTL_HID_GET_INPUT_REPORT.
hidclass.sys: Use call_minidriver for IOCTL_HID_READ_REPORT.
hidclass.sys: Rename IO_STATUS_BLOCK irp_status to io.
hidclass.sys: Always copy InputReportByteLength bytes into read buffer.
hidclass.sys: Adjust buffer length according to report IDs usage.
hidclass.sys: Introduce new hid_device_xfer_report helper.
xinput1_3: Introduce new find_opened_device helper.
xinput1_3: Statically allocate SP_DEVICE_INTERFACE_DETAIL_DATA_W.
xinput1_3: Continue enumeration until there's no more slot.
xinput1_3: Access controller list in HID code directly.
ntoskrnl.exe/tests: Wait for second report first.
hidclass.sys: Use hid_device_xfer_report for IOCTL_HID_SET_OUTPUT_REPORT.
hidclass.sys: Pass sizeof(packet) as input for IOCTL_HID_SET_OUTPUT_REPORT.
hidclass.sys: Return STATUS_INVALID_USER_BUFFER if buffer_len is 0.
hidclass.sys: Use hid_device_xfer_report for IOCTL_HID_SET_FEATURE.
xinput1_3: Merge hid.c and xinput_main.c into main.c.
xinput1_3: Rename xinput_controller to struct xinput_controller.
xinput1_3: Use a fixed size array for HID device_path.
xinput1_3: Enable controller on init, disable on remove.
xinput1_3: Move enabled flag to struct xinput_controller.
xinput1_3: Consistently name struct xinput_controller variable.
xinput1_3: Move device(_path) members to struct xinput_controller.
xinput1_3: Scale axis values only once.
xinput1_3: Move HID data into struct xinput_controller.
xinput1_3: Rename controller helper functions.
hidclass.sys: Validate report IDs in hid_device_xfer_report.
hidclass.sys: Rewrite IOCTL_HID_WRITE_REPORT using hid_device_xfer_report.
hidclass.sys: Remove old reports from WINE_HIDP_PREPARSED_DATA.
hidclass.sys: Move build_preparsed_data before parse_descriptor.
hidclass.sys: Merge parse_descriptor and ParseDescriptor.
hidclass.sys: Rename WINE_HIDP_PREPARSED_DATA to struct hid_preparsed_data.
hidclass.sys: Create separate report queue for each opened handle.
hidclass.sys: Process pending IRP queue using last read packet.
hidclass.sys: Use a simpler ring buffer with ref-counted reports.
ntoskrnl.exe/tests: Restore default mute threshold.
xinput1_3/tests: Add some HID report tests.
xinput1_3: Create a new background update thread.
xinput1_3: Update the controller list in the update thread.
xinput1_3: Read the controller state in the update thread.
winebus.sys: Return STATUS_SUCCESS from IRP_MN_SURPRISE_REMOVAL.
winebus.sys: Remove duplicate LeaveCriticalSection call.
winebus.sys: Use a local variable to store buffer len.
winebus.sys: Use nameless unions.
winebus.sys: Use irp IoStatus.Status consistently.
hid: Return HIDP_STATUS_SUCCESS even if no usages are found.
winebus.sys: Fix lnxev button start byte vs bit index.
winebus.sys: Introduce new HID report descriptor helpers.
winebus.sys: Use HID descriptor helpers in bus_udev.c.
winebus.sys: Use HID descriptor helpers in bus_sdl.c.
winebus.sys: Read irp->IoStatus.Status before leaving the CS.
winebus.sys: Only keep lnxev absolute axis info locally.
winebus.sys: Report lnxev axes individually in the descriptor.
winebus.sys: Make hidraw report callbacks consistent.
winebus.sys: Fix duplicate lnxev / hidraw device lookup.
winebus.sys: Move SDL function loading to a separate helper.
winebus.sys: Move SDL mapping loading to a separate helper.
Stefan Dösinger (1):
d3d11/tests: Fix a gcc -Wmisleading-indentation warning.
Zebediah Figura (36):
ws2_32: Move the getsockopt(IPX_PTYPE) implementation to ntdll.
ws2_32: Move the setsockopt(IPX_PTYPE) implementation to ntdll.
ws2_32: Move the getsockopt(IRLMP_ENUMDEVICES) implementation to ntdll.
ws2_32: Move the getsockopt(TCP_NODELAY) implementation to ntdll.
ws2_32: Move the setsockopt(TCP_NODELAY) implementation to ntdll.
krnl386: Remove the unused relay stub which enables interrupts.
ws2_32: Check for presence in the socket list in closesocket().
ws2_32/tests: Expand tests for WSAStringToAddress().
ws2_32/tests: Expand tests for inet_pton().
ws2_32/tests: Add tests for inet_addr().
ws2_32: Reimplement inet_addr() on top of inet_pton().
ieframe: Remove manual IInternetExplorerManager proxy registration.
ieproxy: Remove incorrect comments.
ws2_32: Get rid of supported_pf().
ws2_32: Move getaddrinfo() support to a new Unix library.
ws2_32: Allocate the addrinfo buffer on the PE side.
ws2_32: Move gethostbyaddr() to the Unix library.
ws2_32: Move gethostbyname() to the Unix library.
krnl386: Remove unused support for WCB16_REGS_LONG.
ws2_32: Move gethostname() to the Unix library.
ws2_32: Move getnameinfo() to the Unix library.
ws2_32: Read protocols from the etc/protocol file.
ws2_32: Read services from the etc/services file.
ws2_32: Build with msvcrt.
ws2_32: Do not use the WS_ prefix in PE code.
server: Fix the parameter size check for IOCTL_AFD_EVENT_SELECT.
advapi32/tests: Add some test for perflib keys.
server: Create the special Perflib\009 key.
kernelbase: Return HKEY_PERFORMANCE_TEXT when trying to open the Perflib\009 key.
advapi32/tests: Expand tests for performance keys.
kernelbase: Do not map HKEY_PERFORMANCE_DATA to \Registry\PerfData.
kernelbase: Implement reading performance counter name strings.
kernelbase: Implement reading performance counter help strings.
kernelbase: Return performance data when querying HKEY_PERFORMANCE_(NLS)TEXT as well.
ntdll: Make alloc_fs_sel() a hidden symbol.
ntdll: Make wine_build a hidden symbol.
Zhiyi Zhang (3):
user32/tests: Test that user32 loads uxtheme.
user32: Load uxtheme when theming is active.
uxtheme: Fix a typo in comment.
Ziqing Hui (9):
d2d1/tests: Add failure tests for ID2D1Effect_GetValue().
d2d1/tests: Add tests for effect inputs.
d2d1: Implement d2d_effect_GetInputCount().
d2d1: Add a properties list for builtin effects.
d2d1: Implement d2d_effect_SetInput().
d2d1: Implement d2d_effect_GetInput().
d2d1: Implement d2d_effect_SetInputCount().
d2d1: Implement d2d_effect_GetValue().
d2d1: Add D2D1Crop.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.14 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 6.3.0, with upstream updates.
- 32->64-bit thunks implemented in WOW64 dll.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.14.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.14.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.14 (total 30):
22120 CTL3D help file is mostly scrunched to the left
22572 Managed C++ assemblies don't work in Wine + Mono
25167 Multiple .NET applications crash with unimplemented System.Security.Principal.WindowsIdentity.get_User (Eraser 6.0, Chocolatey package manager, WinAuth 3.6.x) when using Wine-Mono
28605 BurnPlot (VB6 app) fails to start
32316 Autodesk 3ds Max 9 32-bit exits silently or crashes on startup with Wine-Mono
41636 Multiple DirectX 11 games need ID3D11Device1::CreateDeferredContext1 implementation (WWE 2K15, Dishonored: Death of the Outsider, Pro Evolution Soccer 2019, Shantae and the Pirate's Curse, Space Engineers)
46014 Estlcam 11.x (.NET 4.x app) crashes on startup with Wine-Mono
48996 GRID Autosport hangs while loading
50962 reg.exe does not implement '/reg:32' and '/reg:64' command line switches
51126 Multiple games play truncated audio (Evil Twin in-game dialog, Fallout: New Vegas radio tracks)
51137 Construction Set for TES4 Oblivion missing or broken text in some places
51185 Windows fails to load the minimal PE image in kernel32:loader
51196 ntdll:om has a timing-related failure in Wine
51213 GZDoom Builder 2.3 r2787 fails with IdentityNotMappedException
51284 shell32:shellpath fails on Windows when there is more than one CD drive
51306 Wine-Mono doesn't show Japanese text (DllImport issue?).
51319 Star Citizen, WoW causes 100% CPU usage in wineserver
51334 Microsoft Xbox Live Developer Tool XblTestAccountGui crashes
51346 x264guiEx partly shows square characters when using Wine-Mono (default encoding issue with C++/CLI).
51410 mlang:mlang fails on the Hindi test configuration
51435 iostream float formatting broken since Wine 5.12-170-g1bc6f0c8617
51439 Grand Theft Auto V fails to save progress on game exit: "Save failed. Are you sure you want to quit now?"
51440 Sea of Thieves hangs on loading into the game
51450 oleaut32:varformat fails in Wine when the currency sign follows the amount
51453 oleaut32:vartype and oleaut32:vartest fail on Windows 10 1909+
51465 EVE Online launcher crashes
51485 Dead Rising crashes on launch
51493 WXDrive.exe from WeCom failed to startup.
51505 MIDISelector's MIDI mapper configuration doesn't take effect
51506 Disabled controls are not greyed out when theming is active
----------------------------------------------------------------
Changes since 6.13:
Aaron Hill (1):
crypt32: Add missing 'break' to X509_ECC_SIGNATURE case.
Akihiro Sagawa (3):
include: Fix a typo in _tcsxfrm_l.
midimap: Switch to the midi debug channel.
midimap: Introduce XP form and prefer it.
Alexandre Julliard (53):
ntdll/tests: Add tests for Wow64SystemServiceEx().
ntdll: Load wow64.dll in 64-bit Wow64 processes.
wow64: Add stubs for Wow64LdrpInitialize() and Wow64SystemServiceEx().
wow64: Load the backend cpu dll at process init.
wow64: Add support for setting up the syscall table.
wow64: Add thunks for a few simple syscalls.
wow64: Add thunks for the atom syscalls.
ntdll: Always clear the returned handle in Nt object functions.
wow64: Add thunks for the event syscalls.
wow64: Add thunks for the mutant syscalls.
wow64: Add thunks for the semaphore syscalls.
wow64: Add a stub for Wow64ApcRoutine().
wow64: Add thunks for the timer syscalls.
wow64: Add thunks for the keyed event syscalls.
wow64: Add thunks for the directory object syscalls.
wow64: Add thunks for the debug object syscalls.
wow64: Add thunks for the I/O completion syscalls.
wow64: Add thunks for the job object syscalls.
wow64: Add thunks for the symbolic link object syscalls.
wow64: Add thunks for some general synchronization syscalls.
Revert "winegcc: Support -Wl,foo=... style linker options."
wow64: Add thunks for the section object syscalls.
wow64: Add thunks for the generic object syscalls.
wow64: Add thunks for the local port syscalls.
wow64: Add thunks for the power request syscalls.
wow64: Add thunks for the registry key syscalls.
wow64: Add thunks for the registry value syscalls.
wow64: Add thunks for the registry I/O syscalls.
wow64: Add thunks for the virtual memory syscalls.
wow64: Add thunks for the memory mapping syscalls.
wow64: Add thunks for the write watch syscalls.
wow64: Add a thunk for the NtQueryVirtualMemory syscall.
wow64: Add thunks for the Wow64-specific virtual memory syscalls.
ntdll/tests: Add a test for a Wow64-only syscall.
ntdll: Rename the SYSTEM_MODULE and SYSTEM_MODULE_INFORMATION structures.
wow64: Implement Wow64AllocateTemp().
wow64: Add thunks for the file creation syscalls.
wow64: Add thunks for the file I/O syscalls.
wow64: Add thunks for the file query information syscalls.
wow64: Add thunks for the file set information syscalls.
wow64: Add thunks for the file async I/O syscalls.
wow64: Add thunks for some misc file creation syscalls.
wow64: Add support for file system redirection.
wow64: Add thunks for the process/thread creation syscalls.
wow64: Add thunks for the process/thread control syscalls.
wow64: Add thunks for the process/thread query information syscalls.
wow64: Add thunks for the process/thread set information syscalls.
wow64: Add thunks for the registry notification syscalls.
wow64: Add thunks for a number of security syscalls.
server: Store the entry point as image-relative in pe_image_info_t.
wow64: Add thunks for the token query/set information syscalls.
wow64: Add thunks for the job object query/set information syscalls.
wow64: Add thunks for a number of system syscalls.
André Zwing (1):
maintainers: Change my name.
Anton Baskanov (4):
winedbg: Report library load/unload events to GDB.
winegstreamer: Inline query_duration() into wg_parser_connect().
winegstreamer: Always wait for duration-changed when querying for duration.
winegstreamer: Continue polling if duration is unavailable after duration-changed.
Biswapriyo Nath (1):
include: Add structure padding for aarch64 in dbghelp.h.
Daniel Lehman (2):
gdi32/tests: Add a test for double-free on repeated calls to Delete[Enh]MetaFile.
include: Add _tcsxfrm_l declaration.
Derek Lesho (2):
winevulkan: Support use of extensions which mustn't be exposed.
vulkan-1/tests: Add tests for VK_KHR_external_memory_win32.
Dmitry Timoshkov (1):
shell32: Implement SHBindToObject.
Esme Povirk (1):
mscoree: Update Wine Mono to 6.3.0.
François Gouget (11):
oleaut32/tests: Remove unneeded casts in vartest.
oleaut32/tests: Fix the Swiss franc and Moroccan dirham tests.
oleaut32: Setting sThousand to a non-breaking space also matches regular spaces.
oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
oleaut32: Fix VarParseNumFromStr()'s support for trailing thousands separator spaces.
oleaut32/tests: Show the input string when VarFormatCurrency() fails.
riched20: Tweak the wording of a comment.
winetest: Fix handling of relative -d directories.
oleaut32/tests: Use NUMPRS_HEX_OCT instead of hardcoding its value.
oleaut32/tests: Test VarParseNumFromStr()'s handling of LOCALE_SMON*.
oleaut32/tests: Add more VarParseNumFromStr() hexadecimal/octal tests.
Gerald Pfeifer (1):
nsiproxy: Include sys/socket.h.
Haoyang Chen (1):
winhttp: Handle headers with '\r' line breaks.
Hugh McMaster (6):
kernel32/tests: Test whether console color attributes are copied to the new screen buffer.
kernel32/tests: Test whether font information and window size are copied to the new screen buffer.
conhost: Copy Character Attributes (colors) to the new screen buffer.
reg/tests: Test use of registry views when copying registry data.
conhost: Popup Attributes should match Character Attributes when creating a new screen buffer.
reg: Support use of registry views in the 'copy' operation.
Huw D. M. Davies (4):
iphlpapi: Implement GetIpAddrTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpAddrTableFromStack() on top of GetIpAddrTable().
iphlpapi: Retrieve the IPv4 addresses using an export rather than a helper.
include: Add IN6_IS_ADDR_LINKLOCAL() and IN6_IS_ADDR_SITELOCAL().
Jacek Caban (73):
gdi32/tests: Silence noisy traces.
gdi32: Handle EMFs recording directly in LineTo implementation.
gdi32: Use DC_ATTR for GetCurrentPositionEx implementation.
gdi32: Handle EMFs directly in MoveToEx.
gdi32: Store graphics mode in DC_ATTR.
gdi32: Handle EMFs directly in arc functions.
gdi32: Use NtGdiEllipse for Ellipse implementation.
gdi32: Use NtGdiRoundRect for RoundRect implementation.
gdi32: Use NtGdiRectangle for Rectangle implementation.
gdi32: Use NtGdiAngleArc for AngleArc implementation.
advapi32: Link to msvcrt.dll.
gdi32: Use free_gdi_handle directly for NtGdiDeleteClientObj.
gdi32: Use NtGdiPolyPolyDraw for PolyPolygon implementation.
winex11: Don't use pPolygon graphics driver entry point.
gdi32: Use NtGdiPolyPolyDraw for Polygon implementation.
gdi32: Use NtGdiPolyPolyDraw for PolyPolyline implementation.
gdi32: Use NtGdiPolyPolyDraw for Polyline implementation.
gdi32: Remove no longer used Polygon and Polyline driver entry points.
gdi32: Use NtGdiPolyPolyDraw for PolyBezier implementation.
gdi32: Use NtGdiPolyPolyDraw for PolylineTo implementation.
gdi32: Use NtGdiPolyPolyDraw for PolyBezierTo implementation.
gdi32: Use NtGdiPolyDraw for PolyDraw implementation.
gdi32: Use NtGdiPolyPolyDraw for CreatePolyPolygonRgn implementation.
gdi32: Store text alignment in DC_ATTR.
gdi32: Use NtGdiExtTextOutW for ExtTextOutW implementation.
gdi32: Use NtGdiCloseFigure for CloseFigure implementation.
gdi32: Use ntgdi interface for path functions.
gdi32: Remove no longer used EMF path driver.
gdi32: Use NtGdiSetPixel for SetPixel implementation.
gdi32: Use SetPixel for SetPixelV implementation.
gdi32: Use ntgdi name for GetPixel.
gdi32: Use NtGdiSetPixelFormat for GdiSetPixelFormat implementation.
gdi32: Use ntgdi names for stubs in painting.c.
gdi32: Use NtGdiFillRgn for FillRgn implementation.
gdi32: Use NtGdiFillRgn for PaintRgn implementation.
gdi32: Use NtGdiFrameRgn for FrameRgn implementation.
gdi32: Use NtGdiInvertRgn for InvertRgn implementation.
gdi32: Use NtGdiExtFloodFill for ExtFloodFill implementation.
gdi32: Use META_EXTFLOODFILL records for ExtFloodFill.
gdi32: Use NtGdiGradientFill for GdiGradientFill implementation.
gdi32: Use get_dc_attr in SetTextAlign.
gdi32: Move background mode to DC_ATTR.
gdi32: Use get_dc_attr in SetBkMode.
gdi32: Move disabled flag to DC_ATTR.
gdi32: Move ROP mode to DC_ATTR.
gdi32: Use get_dc_attr in SetROP2.
gdi32: Move layout to DC_ATTR.
gdi32: Move background color to DC_ATTR.
gdi32: Use get_dc_attr in GetGraphicsMode.
gdi32: Remove no longer used driver entry points.
gdi32: Store text color in DC_ATTR.
gdi32: Store arc direction in DC_ATTR.
include: Introduce combaseapi.h.
combase: Add CoDecodeProxy stub.
gdi32: Use get_dc_attr in SetArcDirection.
gdi32: Move color space stubs to objects.c.
gdi32: Store rel abs mode in DC_ATTR.
gdi32: Use get_dc_attr in SetRelAbs.
gdi32: Store poly fill mode in DC_ATTR.
gdi32: Use get_dc_attr in SetPolyFillMode.
gdi32: Store stretch_blt_mode in DC_ATTR.
gdi32: Use get_dc_attr in SetStretchBltMode.
gdi32: Store map mode in DC_ATTR.
gdi32: Remove no longer used driver entry points.
gdi32: Store DC brush color in DC_ATTR.
gdi32: Store DC pen color in DC_ATTR.
gdi32: Store miter limit in DC_ATTR.
gdi32: Use get_dc_attr in SetMiterLimit.
gdi32: Move more functions from dc.c.
gdi32: Use NtGdiSaveDC for SaveDC implementation.
gdi32: Don't use driver entry point for NtGdiSaveDC implementation.
gdi32: Use ntgdi name for CreateCompatibleDC.
gdi32: Use NtGdiGetDeviceCaps for GetDeviceCaps implementation.
Jan Sikorski (2):
wined3d: Track queries started inside/outside of a render pass separately.
wined3d: Do not request device local memory if we also want it to be host visible.
Julien Loir (1):
secur32: Ignore attribute when searching for buffer type.
Lauri Kenttä (1):
po: Update Finnish translation.
Martin Storsjo (10):
ntdll: Fix arm64 call_user_exception_dispatcher with kernel stack for syscalls.
msvcrt: Make the coshf function NAN preserving.
msvcrt: Make the sinhf function NAN preserving.
msvcrt: Make the tanhf function NAN preserving.
msvcrt: Make the cosh function NAN preserving.
msvcrt: Make the sinh function NAN preserving.
msvcrt: Make the tanh function NAN preserving.
msvcrt: Add hyperbolic functions NAN tests.
msvcrt: Fix strtof() error reporting for values out of float range.
msvcrt: Convert double (numerically) to UINT64 via INT64, fixing pow() on arm.
Michael Stefaniuc (1):
dinput: Use SUCCEEDED instead of !FAILED.
Nikolay Sivov (6):
mf/session: Add a helper to send events while completing commands.
mf/session: Fail start requests when no topology was set.
mfmediaengine: Handle Play() when called before topology is set.
mfmediaengine: Handle B8G8R8X8 format for d3d11 texture output.
dpnhupnp: Build with msvcrt.
mfplat/allocator: Handle D3D11 resource sharing mode configuration attributes.
Paul Gofman (10):
mshtml: Do not lock document mode in create_document_event().
mshtml: Default to IE11 for Internet URL zone.
ole32: Move OLEClipbrd_Initialize() before get_ole_clipbrd().
ole32: Do not link OLE clipboard object lifecycle to OLE initialization state.
ntdll: Decrement IO pending count in ioqueue_thread_proc().
ntdll: Only queue IO callback if IO is pending in ioqueue_thread_proc().
ntdll: Clear thread_running flag on exiting ioqueue_thread_proc().
ntdll: Manage TPIO object destruction based on the expected completions.
kernelbase: Don't allow converting thread to fiber more than once.
jscript: Store the head of statement list instead of the list structure.
Piotr Caban (4):
msvcrt: Use _MCW_RC rounding mask in fesetround and fegetround.
msvcrt: Introduce fenv_decode helper in all runtime versions.
msvcrt: Don't set x87 control word in x86_64 fesetenv.
msvcrt: Introduce fenv_encode helper in all runtime versions.
Zebediah Figura (56):
crypt32: Rename "crl" and "cloned" to "dst" and "src" in CRL_clone().
crypt32: Copy the CRL_INFO structure instead of recalculating it.
cryptnet: Use RTL_SIZEOF_THROUGH_FIELD.
cryptnet/tests: Clean up and expand tests for CertDllVerifyRevocation.
cryptnet: Set dwIndex in CertDllVerifyRevocation().
ws2_32/tests: Add more tests for bind() and getsockname().
ws2_32: Validate address length in bind().
ws2_32: Do not translate STATUS_INVALID_PARAMETER to WSAEFAULT.
server: Avoid leaking the ifaddrs structure in bind_to_interface().
server: Support passing to bind a zero sin6_scope_id.
server: Map ENODEV to STATUS_INVALID_ADDRESS_COMPONENT.
winegstreamer: Don't try to convert duration from byte length.
quartz/tests: Add more strict tests for accurate duration retrieval.
cryptnet: Specify half of the remaining timeout for each CRL if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG was specified.
cryptnet: Respect the timeout also if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG is not set.
cryptnet: Check only the first successfully retrieved CRL in verify_cert_revocation_from_dist_points_ext().
cryptnet: Cache the result of revocation checks on disk.
wined3d: Separate a helper to update Vulkan CBV bindings.
wined3d: Separate a helper to update Vulkan SRV bindings.
wined3d: Separate a helper to update Vulkan UAV bindings.
wined3d: Separate a helper to update Vulkan UAV counter bindings.
wined3d: Separate a helper to update Vulkan sampler bindings.
wined3d: Implement constant buffer offsetting for Vulkan.
server: Validate the output size of IOCTL_AFD_BIND against the input address size rather than sizeof(struct sockaddr).
server: Do not accept sizeof(struct WS_sockaddr_in6_old).
ntdll: Do not accept sizeof(struct WS_sockaddr_in6_old).
ws2_32: Do not accept sizeof(struct WS_sockaddr_in6_old).
ws2_32: Dump the flow label and scope ID in debugstr_sockaddr().
server: Also return STATUS_PIPE_DISCONNECTED for shutdown nonblocking sockets.
server: Separate SD_RECEIVE and hangup conditions.
server: Remove the socket from the polling loop if both it and the peer have SHUT_WR.
server: Remove the socket from the polling loop if it was aborted.
ntdll: Fill the I/O status block with the results of the send_socket call in sock_send().
ntdll: Fill the I/O status block with the results of the recv_socket call in sock_recv().
ws2_32: Move the setsockopt(IP_TTL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_UNBLOCK_SOURCE) implementation to ntdll.
ws2_32: Move the getsockopt(IP_UNICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IP_UNICAST_IF) implementation to ntdll.
wined3d: Check for failure from wined3d_device_context_require_space() in wined3d_device_context_emit_unmap().
ws2_32: Move the setsockopt(IPV6_ADD_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_DONTFRAG) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_DONTFRAG) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_DROP_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
wined3d: Use a designated initializer to initialize wined3d_settings.
ws2_32: Move the getsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_UNICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_UNICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_V6ONLY) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_V6ONLY) implementation to ntdll.
Zhiyi Zhang (1):
uxtheme: Fix incorrect part IDs in button class map.
Ziqing Hui (3):
include: Add D2D13DPerspectiveTransform definitions.
include: Add D2D1Composite definitions.
d2d1/tests: Add tests for standard effect properties.
--
Alexandre Julliard
julliard(a)winehq.org