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
The Wine development release 6.13 is now available.
What's new in this release (see below for details):
- Proper scrollbar theming.
- More work towards WinSock PE conversion.
- Preparation work for the GDI syscall interface.
- Some progress on the IPHLPAPI PE conversion.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.13.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.13.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.13 (total 31):
15381 CoFreeUnusedLibraries will crash COM server or cause 0x800703E6/I_RpcReceive error 0x3e6
28326 CDBurnerXP's audio player is missing some visual elements
28795 ExeInfoPE v0.0.3.0: PE protection schemes that abuse %gs won't run (breaks glibc TLS selector)
32517 installer of QQMusic 8.6 hangs
34966 Academagia (WPF game) dialog windows are invisible until alt-tabed out
35611 A lot of user32:msg tests fail in the Japanese locale
35921 Multiple games and applications need IDirectXVideoProcessorService via DXVA2CreateVideoService (DXVA Checker 3.x/4.x, Perfect World, Kodi)
37370 Doom 3 (CD version) installer: 'cancel' button does nothing in 'Please insert: DOOM 3 Disk x' dialog
39377 Add support for 'msidbControlAttributesFormatSize' in static text controls to format and label properties such as 'PrimaryVolumeSpaceRequired' (SkySaga installer)
41703 Workaround LdrUnloadDll() for C libraries that do not support the dlclose() function
43173 Far Cry 4 sound stops
45198 Project CARS 2 shows only a black screen (requires constant buffer offsetting)
45620 Dishonored 2 Demo crashes at launch
45807 Incorrect toolbar background in MFC apps, when visual theming enabled
50374 pCon.planner doesn't finish installation and doesn't open
50404 Sims 4 crashes on startup with builtin msvcrt
51152 The 64-bit ntdll:exception test fails in Wine
51262 Since 308a5e7 no 32bit program starts
51277 Multiple games become unresponsive with plugged in controller (INSIDE, The Hong Kong Massacre, Sniper Elite 3)
51281 C:\users\<user>\appdata\local not created on prefix update
51295 ntoskrnl.exe:ntoskrnl occasionally hangs in test_overlapped()
51329 Windows PC Health Check requires api-ms-win-core-featurestaging-l1-1-0.dll
51331 Battle.net client unusable, reports "The Battle.net Update Agent went to sleep. Attempting to wake it up..."
51340 d3d10core:d3d10core, d3d11:d3d11 test_texture_compressed_3d() fails on Nvidia (cw-gtx560)
51348 uxtheme.SetWindowTheme should use SendMessage to send WM_THEMECHANGED
51366 several wine-mono network tests fail with timeout
51368 World of Warcraft : undefined d3d state
51381 Battlefield 4 cannot find online matches
51382 NetEase Cloud Music crashes on zh_CN.UTF-8 locale.
51416 deferred context memory leak
51425 Mathearbeit G 5.6 installer reports null pointer exception in module 'shell32.dll' starting with Wine 6.9-142-g98d43c5dcfb
----------------------------------------------------------------
Changes since 6.12:
Aaron Hill (1):
crypt32: Implement CNG_RSA_PUBLIC_KEY_BLOB encoding/decoding.
Adrian Thiele (1):
mfplat: Use D3DFORMAT for dxgi buffer copy function.
Alex Henrie (1):
api-ms-win-core-featurestaging-l1-1-0: Add DLL.
Alexandre Julliard (26):
ntdll: Implement SystemEmulation* information classes.
ntdll: Implement NtWow64GetNativeSystemInformation().
ntdll: Forward RtlGetNativeSystemInformation() to NtWow64GetNativeSystemInformation() on 32-bit.
ntdll: Get rid of the almost empty nt.c.
ntdll: Get rid of the almost empty directory.c.
ntdll: Get rid of the almost empty virtual.c.
wow64: Add stub dll.
wow64win: Add stub dll.
ntdll: Store the pthread TEB value on thread init.
ntdll: Allocate a 32-bit %fs selector on Linux in Wow64 mode.
ntdll: Switch back to the pthread %fs register in signal handlers.
winebuild: Add a specific platform id for Linux.
winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
ntdll: Make the ntdll exports and relocations processing more generic.
ntdll: Also load the Wow64 ntdll for the main exe target machine.
ntdll: Add support for LdrSystemDllInitBlock.
ntdll: Fix iosb handling in NtCancelIoFile().
ntdll: Pass a length pointer instead of an IO_STATUS_BLOCK to the async callbacks.
ntdll: Add a helper function to open a file object.
ntdll: Avoid calling NtOpenFile() from the Unix side.
ntdll: Avoid calling NtCreateFile() from the Unix side.
ntdll: Avoid calling NtReadFile() from the Unix side.
ntdll/tests: Add tests for IO_STATUS_BLOCKs in Wow64 mode.
ntdll: Don't restore %fs selector on nested signals.
ntdll: Use the 32-bit RtlUserThreadStart as initial Eip in the 32-bit context.
server: Don't generate dll load event for native binaries on Wow64.
Alistair Leslie-Hughes (3):
secur32: Set error flag on pull callback.
include: Update _IMAGEHLP_MODULEW64 stucture.
dbghelp: Initialize new structure members.
Andrew Eikum (1):
shell32: Fix unused knownfolder definition.
Arkadiusz Hiler (1):
dinput: Don't add 'default value 0' entries to the data transform.
Bernhard Übelacker (1):
hhctrl.ocx: Handle only the number of bytes given in html_fragment_len.
Biswapriyo Nath (2):
include: Add some function declarations in propvarutil.h.
winecrt0: Add missing members in _JUMP_BUFFER for SJLJ.
Brendan Shanks (1):
ntdll: Fix locale detection on Mac.
Damjan Jovanovic (3):
wininet: InternetGetLastResponseInfoW() returns wide chars, not ASCII.
wininet: Return the required buffer size from InternetGetLastResponseInfo() when it's too small.
wininet: The buffer is returned from InternetGetLastResponseInfo() even when the error is 0.
Dmitry Timoshkov (1):
winex11.drv: Don't free cached DnD data after informing an application about the drop event.
Eric Pouech (2):
dbghelp: Correctly initialize the module_pair structure in SymGetTypeFromName.
dbghelp/tests: Try to fix failure in current dbghelp tests.
Esdras Tarsis (3):
bthprops.cpl: Add BluetoothFindNextRadio stub.
api-ms-win-core-console-l3-2-0: Add stub dll.
api-ms-win-core-kernel32-legacy-l1-1-5: Add stub dll.
Esme Povirk (1):
rundll32: Only call LoadLibrary16 on x86.
François Gouget (24):
user32/tests: Use WineTest contexts to simplify test_mdi().
user32/tests: Fix the wording of an ok() message.
shell32/test: Fix an ok() message.
shell32/tests: Use WineTest contexts to simplify shellpath.
shell32/tests: Fix the PathResolve() tests on Windows 8.1, early 10.
winetest: Report GetLastError() when CreateProcess() fails.
ntdll/tests: TZinfo sometimes does not get a MUI string.
ntdll/tests: Improve the RtlWaitOnAddress() timeout checks.
kernel32: Fix the formatting of an NLS_IsUnicodeOnlyLcid() trace.
mlang/tests: Fix the check for non-English locales in test_GetCodePageInfo().
oleaut32: Fix a trace containing a null character.
oleaut32/tests: Allow testing VarParseNumFromStr() using Unicode strings.
oleaut32/tests: Add more VarParseNumFromStr() tests.
oleaut32: Fix the Var*FromStr() prototypes.
user32/tests: Fix the keyboard layout id in an ok() message.
kernel32/tests: Use WineTest contexts to simplify test_Loader().
winetest: Create the -d directory if it does not exist already.
oleaut32/tests: Use EQ_DOUBLE() in vartype too.
oleaut32: Update the VarDateFromStr() Y2K cutoff.
oleaut32: Update the SystemTimeToVariantTime() Y2K cutoff.
kernel32/tests: Allow failure when loading the 268 bytes minimal PE image.
oleaut32/tests: Report the error when VarParseNumFromStr() fails.
oleaut32: Fix VarParseNumFromStr()'s support for two-character currencies.
oleaut32: VarParseNumFromStr() accepts trailing currency symbols.
Georg Lehmann (3):
winevulkan: Fix pointer typedef base types.
winevulkan: Update to VK spec version 1.2.185.
winevulkan: Enable VK_HUAWEI_subpass_shading.
Gerald Pfeifer (1):
nsiproxy: Include netinet/in.h before if_ether.h.
Giovanni Mascellani (2):
winegstreamer: Set MF_MT_ALL_SAMPLES_INDEPENDENT for audio types.
mf/sar: Allow requesting more than a sample per period.
Henri Verbeet (10):
d3d11: Only complain once about d3d10 interface emulation in d3d11_device_context_SwapDeviceContextState().
d2d1: Do not clear the device context state in d2d_device_context_draw().
wined3d: Use wined3d_mask_from_size() in state_stencil().
wined3d: Use wined3d_mask_from_size() in wined3d_context_vk_apply_draw_state().
wined3d: Use wined3d_mask_from_size() in wined3d_render_pass_vk_init().
winex11: Request VK_KHR_external_memory_capabilities in get_gpu_properties_from_vulkan().
winex11: Request VK_KHR_display in get_gpu_properties_from_vulkan().
wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
Hugh McMaster (8):
reg/tests: Split 'import' syntax tests into a separate function.
reg/tests: Test use of registry views when importing keys and values.
reg: Support use of registry views in the 'import' command.
reg/tests: Add registry view syntax tests for the 'import' operation.
reg/tests: Test use of registry views when exporting registry data.
reg/tests: Split 'export' syntax tests into a separate function.
reg/tests: Use correct file and line arguments with delete_file().
reg: Support use of registry views when exporting registry data.
Huw D. M. Davies (30):
maintainers: Add a Network Store Interface section.
mountmgr.sys: Move dhcp lookup to a worker thread.
iphlpapi: Implement ConvertInterfaceIndexToLuid() on top of nsi.
iphlpapi: Implement ConvertInterfaceLuidToIndex() on top of nsi.
iphlpapi: Implement ConvertInterfaceGuidToLuid() on top of nsi.
iphlpapi: Implement ConvertInterfaceLuidToGuid() on top of nsi.
iphlpapi/tests: Run the interface conversion tests on all interfaces.
dhcpcsvc: Pass a luid instead of the adapter name.
iphlpapi: Implement ConvertInterfaceAliasToLuid().
iphlpapi: Implement ConvertInterfaceLuidToAlias().
mountmgr: Retrieve the unix-name from the alias.
iphlpapi: ConvertInterfaceLuidToNameW/NameToLuidW use names based on the luid's type and index.
iphlpapi: Implement GetIfTable2Ex() on top of nsi.
iphlpapi: Implement IfGetEntry2Ex() on top of nsi.
iphlpapi: Implement GetNumberOfInterfaces() on top of nsi.
iphlpapi: Implement ConvertGuidToString[AW]().
iphlpapi: Implement ConvertStringToGuidW().
iphlpapi: Use ConvertGuidToStringA() where possible.
iphlpapi: Implement GetInterfaceInfo() on top of GetIfTable().
iphlpapi: Implement GetAdapterIndex() on top of GetIfTable().
iphlpapi: Implement GetIfTable() on top of nsi.
iphlpapi: Implement GetIfEntry() on top of nsi.
iphlpapi: Implement AllocateAndGetIfTableFromStack() on top of nsi.
iphlpapi: Return the TCPIP device name in MIB_IFROW.
iphlpapi: Remove unused function getInterfaceStatsByName().
nsiproxy: Implement IP unicast enumerate_all.
nsiproxy: Implement IP unicast get_all_parameters.
iphlpapi: Implement GetUnicastIpAddressTable() on top of nsi.
iphlpapi: Implement GetUnicastIpAddressEntry() on top of nsi.
netapi32: Default to CP_UTF8 when WINEUNIXCP is not set.
Jacek Caban (32):
gdi32: Introduce NtGdiExtGetObjectW.
gdi32: Reimplement GetObjectA on top of GetObjectW.
gdi32: Implement CreatePenIndirect on top of CreatePen.
gdi32: Introduce NtGdiCreatePen.
gdi32: Implement CreateBitmapIndirect on top of CreateBitmap.
gdi32: Introduce NtGdiCreateBitmap.
gdi32: Use ntgdi names for bitmap functions.
gdi32: Move CreateDiscardableBitmap implementation to objects.c.
gdi32: Introduce NtGdiDeleteObjectApp.
gdi32: Introduce NtGdiExtCreateRegion.
gdi32: Use ntgdi names for region constructors.
gdi32: Use ntgdi names for region functions.
gdi32: Move region helper functions to objects.c.
gdi32/tests: Remove workarounds for old Windows versions.
gdi32/test: Add more handle table tests.
gdi32: Store ntgdi object types in handle table.
gdi32: Rename gdi_private.h to ntgdi_private.h.
gdi32: Use NtGdiCreateClientObj for metafile objects.
gdi32: Use NtGdiCreateClientObj for enhmetafile objects.
include: Fix C++ InitPropVariantFromGUIDAsBuffer implementation.
include: Declare NTSTATUS in propvarutils.h.
gdi32: Introduce NtGdiLineTo.
gdi32: Introduce NtGdiMoveTo.
gdi32: Use NtGdiArcInternal for Arc implementation.
gdi32: Use NtGdiArcInternal for ArcTo implementation.
gdi32: Use NtGdiArcInternal for Chord implementation.
gdi32: Use NtGdiArcInternal for Pie implementation.
gdi32: Handle metafiles directly in LineTo implementation.
gdi32: Handle metafiles directly in MoveToEx implementation.
gdi32: Handle metafiles directly in Chord and Pie implementations.
gdi32: Handle metafiles directly in Arc implementation.
gdi32: Introduce DC_ATTR struct and use it to store current position.
Jactry Zeng (1):
gdi32: Fix a typo in unix_face_create().
Julian Rüger (1):
po: Update German translation.
Nikolay Sivov (8):
mf/evr: Query d3d device manager via MR_VIDEO_RENDER_SERVICE service.
evr/mixer: Set MF_MT_INTERLACE_MODE for the mixer output types.
mf/session: Forward MR_POLICY_VOLUME_SERVICE service requests to the SAR node.
mf/session: Use better failure code for rendering node service requests.
winegstreamer: Use consistent trace format for MF objects.
mfplat: Add some Video Processor attributes to tracing.
mfmediaengine: Handle shutdown state in SetSource().
mfmediaengine: Update network state when loading the media source.
Paul Gofman (11):
mshtml: Move assert.h include to mshtml_private.h.
mshtml_private.tlb: Add private typelib.
mshtml: Export requestAnimationFrame() through a private interface.
mshtml: Add console object stub implementation.
ntdll: Add SystemKernelDebuggerInformationEx info class to NtQuerySystemInformation().
ntdll: Add stub for ProcessInstrumentationCallback info class in NtSetInformationProcess().
mshtml: Add stub for HTMLElement classList property.
mshtml: Add stub object for HTMLElement classList.
mshtml: Implement IWineDOMTokenList_add() method.
mshtml: Implement IWineDOMTokenList_remove() method.
ntdll: Comment out stubs for Nt and Zw functions.
Piotr Caban (1):
msvcrt: Update round_limb on first limb length change in printf.
Rémi Bernon (15):
ntoskrnl.exe/tests: Only count test driver load notify.
ntoskrnl.exe/tests: Sync test utils with wine/test.h.
ntoskrnl.exe/tests: Add more tests for button array caps.
ntoskrnl.exe/tests: Add some HidD_GetInputReport tests.
ntoskrnl.exe/tests: Add some HidD_GetFeature tests.
ntoskrnl.exe/tests: Add some HidD_SetFeature tests.
ntoskrnl.exe/tests: Add some HidD_SetOutputReport tests.
ntoskrnl.exe: Send IRP_MN_SURPRISE_REMOVAL to the device stack first.
ntoskrnl.exe/tests: Return STATUS_PENDING from IOCTL_HID_READ_REPORT.
ntoskrnl.exe/tests: Add HID driver test in polled mode.
hidclass.sys: Return error on invalid write buffer size.
ntoskrnl.exe/tests: Add some IOCTL_HID_WRITE_REPORT tests.
hidclass.sys: Return error on invalid read buffer size.
ntoskrnl.exe/tests: Add some IOCTL_HID_READ_REPORT tests.
wine.inf: Consistently quote shell open and print commands.
Steve Lhomme (1):
include: Add AV1 support to dxva.h.
Tim Clem (3):
wininet/tests: Test InternetCrackUrl when given a bogus length.
wininet: Make heap_strndupAtoW stop at the first null.
wininet: Treat dwUrlLength as a maximum in InternetCrackUrlW.
Zebediah Figura (64):
server: Don't check the user data for NULL in async_terminate().
server: Call the close_handle callback and release_object_from_handle() in the same loop.
server: Explicitly return whether a select request was immediately signaled.
server: Remove special handling of STATUS_MORE_PROCESSING_REQUIRED.
ws2_32/tests: Fix some connection timeout tests.
ws2_32/tests: Add more tests for connection failure.
server: Return a Win32 error code from IOCTL_AFD_WINE_GET_SO_ERROR.
server: Separate a poll_single_socket() helper.
server: Report AFD_POLL_CONNECT_ERR if a previous connection attempt failed.
wined3d: Factor out most of the execute_command_list callback to a common function.
wined3d: Pass a wined3d_cs pointer to wined3d_not_from_cs().
wined3d: Set an array of constant buffers as a single CS operation.
wined3d: Set an array of shader resource views as a single CS operation.
wined3d: Set an array of samplers as a single CS operation.
server: Clear the connection error after a successful connection.
ws2_32/tests: Add more tests for invalid calls to connect() and ConnectEx().
server: Explicitly forbid connecting a listening or connected socket.
ws2_32: Move the setsockopt(IP_DROP_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the setsockopt(IP_DROP_SOURCE_MEMBERSHIP) implementation to ntdll.
wined3d: Introduce a wined3d_bound_range() helper.
wined3d: Set an array of UAVs as a single CS operation.
ws2_32: Move the getsockopt(IP_HDRINCL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_HDRINCL) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IP_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
include: Fix a byte offset in a comment.
wined3d: Move the uploads array in wined3d_deferred_context_record_command_list().
wined3d: Fix some memory leaks when destroying command lists.
wined3d: Fix some memory leaks when destroying deferred contexts.
ws2_32: Move the setsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_TTL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_MULTICAST_TTL) implementation to ntdll.
ws2_32: Move the getsockopt(IP_OPTIONS) implementation to ntdll.
ws2_32: Move the setsockopt(IP_OPTIONS) implementation to ntdll.
ws2_32: Move the getsockopt(IP_PKTINFO) implementation to ntdll.
ws2_32: Move the setsockopt(IP_PKTINFO) implementation to ntdll.
ws2_32: Move the getsockopt(IP_TOS) implementation to ntdll.
ws2_32: Move the setsockopt(IP_TOS) implementation to ntdll.
ws2_32: Move the getsockopt(IP_TTL) implementation to ntdll.
qasf: Switch to the quartz debug channel.
qcap: Switch to the quartz debug channel.
qedit: Switch to the quartz debug channel.
qdvd: Switch to the quartz debug channel.
amstream: Switch to the quartz debug channel.
winegstreamer: Avoid using WARN_ON from a GStreamer callback.
winegstreamer: Factor out create_element().
winegstreamer: Avoid using Wine debugging functions at all in the Unix library.
winegstreamer: Switch to the quartz debug channel.
strmbase: Switch to the quartz debug channel.
wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().
wined3d: Set the entire stream output state as a single CS operation.
wined3d: Set both the stream source and frequency for a given index as a single CS operation.
d3d11: Fail IASetVertexBuffers() if any of the offsets are unaligned.
wined3d: Set an arary of stream sources as a single CS operation.
d3d11: Fail OMSetRenderTargets() if any of the views have the wrong binding flags.
wined3d: Set an array of rendertarget views as a single CS operation.
d3d11: Implement constant buffer offsetting for OpenGL.
d3d11/tests: Add tests for constant buffer offsetting.
ntdll: Use a separate +unwind debug channel for unwinding on x86-64.
quartz: Factor out more of AdviseTime() and AdvisePeriodic().
quartz: Use a condition variable to wake up the system clock advise thread.
quartz/tests: Check that system clock measurements are in sequence instead of comparing absolute time.
quartz: Free outstanding advise requests when destroying a system clock.
Zhiyi Zhang (17):
user32: Avoid unnecessary scroll bar drawing.
user32: Remove SCROLL_DrawInterior_9x().
user32: Modify SCROLL_MovingThumb outside of SCROLL_DrawMovingThumb().
user32: Introduce a SCROLL_DrawNCScrollBar() to draw scroll bars in non-client area.
user32: Call SCROLL_DrawScrollBar() to draw arrows in SCROLL_HandleScrollEvent().
uxtheme: Avoid memory leaks.
user32: Call SCROLL_DrawScrollBar() to draw moving thumb in SCROLL_HandleScrollEvent().
user32: Call SCROLL_DrawScrollBar() to draw tracks in SCROLL_HandleScrollEvent().
user32: Pass a scroll bar tracking info parameter to SCROLL_DrawScrollBar().
user32: Separate scroll bar drawing calculation from actual drawing.
user32: Separate scroll bar window checks from actual drawing.
user32: Draw scroll bar size box and size grip in a single function.
uxtheme: Move themed scroll bar to uxtheme.
uxtheme: Move themed dialog to uxtheme.
uxtheme: Support drawing themed standard scroll bars.
uxtheme: Support pressed state for themed scroll bars.
uxtheme: Support scroll bar state tracking in non-client areas.
Ziqing Hui (4):
include: Add the D2D12DAffineTransform definitions.
d2d1/tests: Add an effects test.
d2d1: Add a ID2D1Image interface for effects.
d2d1: Implement d2d_effect_GetOutput().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.12 is now available.
What's new in this release (see below for details):
- Builtin "Blue" and "Classic Blue" themes.
- More work towards WinSock PE conversion.
- Beginnings of the NSI (Network Store Interface) implementation.
- Support for 32/64-bit registry views in reg.exe.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.12.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.12.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.12 (total 42):
8606 No network-support in the game Joint Operations Typhoon Rising
21259 Visual C++ 2005 Trial build hangs on first run after a reboot
24501 wine-mono does not support WPF
27133 WiX 3.5 with Mono 2.10 generates broken MSI packages when 2 files of identical size are added to the same installer
28393 WiX Toolset v3.x: light.exe can't find files in deeply-nested directories
33421 Cypress PSoC Creator 3.0 installer fails with Wine-Mono ('System.SystemException: Error running C:\windows\mono\mono\mini\mono.exe: File not found.')
34045 Provide Managed DirectX replacement assemblies for Mono (Gray Matter demo)
34643 The Bureau XCOM Declassified (.NET 4.0 managed C++/CLI game) crashes with Wine-Mono
42191 Multiple games require d3d11 deferred contexts (Diablo 3, Dark Souls 3, The Evil Within, Elex, Alien: Isolation, Assassin's Creed III)
46592 Heroes III Horn of the Abyss 1.5.4 TCP/IP issue
46595 Rainbow Six Siege hangs on Uplay splash screen
46960 Mono's interactive C# shell crashes when typing a character
47791 Inconsistent %ERRORLEVEL% after setting env var value in cmd.exe
48000 Multiple installers call 'reg.exe' with unhandled 'copy' command (CDBurnerXP 4.1.x - 4.4.x, Windows PowerShell 2.0)
48530 DWScript Http.sys 2.0 Web Application Server demo crashes on startup (needs support for httpapi.HttpSetUrlGroupProperty 'HttpServerLoggingProperty' property)
49315 Sid Meier’s Civilization® VI remains stuck on a grey screen after the introduction video.
49395 Multiple Direct2D applications stopped working after upgrade to Wine 5.10 which removed advertising of ID3D10Device interface on d3d11 devices (Altium Designer 20, T-Force Alpha Plus VST2 64bit plugin, MSDN-Direct2D-Demo)
49935 mismatch behavior in API function GetOpenFileName
50113 Total Commander 9.51: when using a third-party theme with Windows XP, the drive buttons and function buttons at the bottom of the window (F5 Copy) are not displayed
50209 S.T.A.L.K.E.R.: Call of Pripyat needs D3DX10CreateTextureFromMemory implementation
50506 WM_INPUT messages are not received for HID devices registered with RegisterRawInputDevices
50603 WiX Toolset v3.11 installer crashes when loading update feed XML
50735 MSBuild fails to launch FileTracker
50793 Regression: Far Cry crashes on launch
51052 6.4 regression: 32-bit Cheat Engine attaching its debugger leads to the target process crashing
51214 rundll.exe and winoldap.mod crash
51223 Wine 6.10 regression, dinput broken in certain situations?
51225 regression - Warframe colors messed up - wine staging
51244 Frostpunk doesn't launch with builtin msvcr120
51257 Wine 6.10 regression, crash after "_Locinfo__Locinfo_ctor_cat_cstr" message in CLI
51258 Timespinner controller input stopped working in wine 6.10
51264 GUI exe receives invalid StdOutput HANDLE if launched via ShellExecuteEx
51266 S.T.A.L.K.E.R. Anomaly 1.5.1: AI Targeting Is Broken
51278 wine packages for ubuntu have dependency glitch
51291 Youkoso! Sukebe Elf no Mori e (demo) doesn't show thumbnail image in monitor settings.
51303 Metal Gear Solid V: Ground Zeroes needs d3d11_swapchain_GetLastPresentCount implementation
51322 Clang-cl 12 fails on unimplemented function KERNEL32.dll.GetProcessGroupAffinity
51324 Imperium Great Battles of Rome can't play videos
51328 DWScript Http.sys 2.0 Web Application Server demo crashes on startup (needs httpapi.HttpSetServerSessionProperty)
51335 Multiple applications require tbs.dll (Windows PC Health Check, TrouSerS, readpcr)
51347 QQ 2021 installer: have no permission for the installation path.
51375 SCM erroneously tries to start 64-bit kernel drivers as 32-bit service due to incorrect handling of 'IMAGE_FILE_DLL' image characteristics in 'kernel32.dll.GetBinaryTypeW' (Protect DiSC 'acedrv11.sys')
----------------------------------------------------------------
Changes since 6.11:
Akihiro Sagawa (3):
ntdll/tests: Expand path name tests with path + device name.
ntdll: Validate directory path when the path name ends with a dos device name.
ntdll: Fix null pointer dereference in RtlDosPathNameToNtPathName_U_WithStatus.
Alex Henrie (4):
include: Add tbs.h.
include: Add TBS_E_* to winerror.h.
tbs: Add stub dll.
tbs: Add Tbsi_Context_Create stub.
Alexander Fischer (1):
winhttp: Added stubs to function request_set_option.
Alexandre Julliard (36):
ntdll: Go through the syscall return path for syscall faults.
ntdll: Simulate a syscall return when starting a thread.
winecrt0: Use multiple load/store instructions in setjmp() on ARM.
ntdll/tests: Add more tests for segment registers in 64-bit mode.
ntdll/tests: Add more tests for Wow64 contexts.
server: Add a native_machine global variable.
server: Use separate handles for thread and context in get_thread_context.
server: Simplify the naming of the YMM regs.
server: Trace extended registers as 128-bit entities.
ntdll: Initialize the RealClientId field in the TEB.
ntdll/tests: Move Wow64 tests to a separate file.
ntdll: Support converting server contexts from one machine to another.
server: Support both native and wow64 register contexts.
ntdll: Only update the data that was requested in the destination context.
ntdll: Avoid crash on shutting down partially initialized thread.
ntdll: Implement NtWow64Read/WriteVirtualMemory64().
ntdll: Implement NtWow64AllocateVirtualMemory64().
ntdll: Don't rely on get_thread_context() updating the context flags.
server: Remove the no longer used pid/tid fields in the init_thread request.
ntdll/tests: Add tests for 64-bit modules in Wow64 mode.
ntdll/tests: Add tests for RtlWow64GetCurrentCpuArea().
ntdll: Implement RtlWow64GetCurrentCpuArea().
configure: Disable nsiproxy.sys for the Windows build.
ntdll: Implement RtlWow64GetThreadSelectorEntry().
ntdll: Clear the 32-bit TLS for ZeroTlsCell in Wow64 mode.
ntdll: Add a helper function to retrieve the CPU area context on the Unix side.
ntdll: Initialize the Wow64 context on x86-64.
ntdll: Use the CPU area to get/set the Wow64 context on x86-64.
kernel32: Fix the DLL check in GetBinaryTypeW().
server: Store session id in the process and return it at process init time.
ntdll: Implement NtQueryInformationProcess(ProcessSessionInformation).
ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
server: Store the session id in the process token.
ntdll: Implement NtQueryInformationToken(TokenSessionId).
kernelbase: Implement ProcessIdToSessionId().
ntdll/tests: Retrieve the actual segment registers for RtlWow64GetThreadSelectorEntry test.
Alistair Leslie-Hughes (1):
include: Add ICommandWithParameters interface.
Andrey Gusev (1):
msvcr120: Add version.rc file.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (2):
winedbg: Try to load debug symbols for executable in gdb mode.
ntdll: Allow 16-bit executables to be loaded from build directory.
Brendan McGrath (1):
kernelbase: Don't pass StdHandles with CREATE_NEW_CONSOLE.
Connor Abbott (4):
winegcc: Recognize .obj files as objects.
winegcc: Pass through -pthread.
winegcc: Support -Wl,--start-group and -Wl,--end-group.
winegcc: Support -Wl,foo=... style linker options.
Damjan Jovanovic (3):
msxml3: Return S_FALSE from IXMLDOMNamedNodeMap::nextNode() when there are no attributes.
wininet: Improve InternetGetLastResponseInfo() logging.
wininet: Validate InternetGetLastResponseInfo() parameters.
Dmitry Timoshkov (1):
oleaut32: ICreateTypeInfo2::AddVarDesc() should handle failure of allocation and initialization of a variant description.
Eric Pouech (4):
winedbg: Accept hex values in command line.
winedbg: Fix crash when no process attached in 'info wnd' command.
winedbg: Correct mapping read/write/execute information.
winedbg: Add helper in gdbproxy mode to get proper address width information.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (6):
pdh: Update PdhAddEnglishCounterA/W() to match Windows 10 >= 2004.
pdh/tests: Skip a test that crashes on Windows 10 >= 2004.
d3d10core/tests: Increase the tolerance in test_texture_compressed_3d().
d3d11/tests: Increase the tolerance in test_texture_compressed_3d().
msvcr120/tests: Wcstof() depends on the system locale.
shell32/tests: Fix the known folder relative path check for multiple CD drives.
Georg Lehmann (7):
winevulkan: Update to VK spec version 1.2.182.
winevulkan: Unwrap params with objecttype.
winevulkan: Automatically generate vkSetPrivateDataEXT.
winevulkan: Automatically generate vkGetPrivateDataEXT.
winevulkan: Automatically generate vkDebugReportMessageEXT.
winevulkan: Unwrap struct members with objecttype.
winevulkan: Fix bit field struct members.
Gijs Vermeulen (2):
amstream/tests: Clarify flags passed to IAMMultiMediaStream::OpenFile().
amstream: Handle AMMSF_RENDERALLSTREAMS in IAMMultiMediaStream::OpenFile().
Giovanni Mascellani (1):
mf/sar: Query for current padding before requesting sample buffer.
Hans Leidekker (1):
secur32: Use blocking mode for DTLS sessions.
Haoyang Chen (1):
ole32: Request the needed memory blocks at once.
Henri Verbeet (11):
wined3d: Add decompression information for BC4_UNORM.
wined3d: Only invalidate valid state IDs in wined3d_cs_exec_reset_state().
wined3d: Use wined3d_mask_from_size() in arbfp_blitter_blit().
wined3d: Use wined3d_mask_from_size() in glsl_blitter_blit().
wined3d: Use wined3d_mask_from_size() in wined3d_context_gl_enable_clip_distances().
wined3d: Use wined3d_mask_from_size() in find_draw_buffers_mask().
dxgi/tests: Add a test for swapchain present counts.
dxgi: Implement d3d11_swapchain_GetLastPresentCount().
dxgi: Implement d3d12_swapchain_GetLastPresentCount().
wined3d: Only set valid render states in wined3d_device_context_set_state().
wined3d: Only set valid transform states in wined3d_device_context_set_state().
Hugh McMaster (12):
reg/tests: Modify delete_tree() to support the use of registry views.
reg/tests: Remove duplicate test from test_registry_view_wow64().
reg/tests: Test deletion of keys and values using registry views.
reg: Support use of registry views when deleting registry values.
reg: Support use of registry views when deleting registry keys.
reg/tests: Split 'query' syntax tests into a separate function.
reg/tests: Test use of registry views with the 'query' operation.
reg/tests: Verify key opening and key deletion in delete_tree().
reg/tests: Don't verify key deletion after calling delete_tree().
reg/tests: Test use of registry views when querying registry values.
reg/tests: Check all error codes in delete_tree() before returning.
reg: Support use of registry views in the 'query' operation.
Huw D. M. Davies (30):
include: Add netiodef.h.
uuid: Add a few NPI module ids.
nsi: Add a stub dll.
nsi: Add stub implementations of NsiAllocateAndGetTable() and NsiFreeTable().
nsi/tests: Add tests for the NDIS ifinfo table.
nsi: Add a stub implementation of NsiGetAllParameters().
nsi: Add a stub implementation of NsiGetParameter().
nsi: Add a stub implementation of NsiEnumerateObjectsAllParameters().
nsi: Add a stub implementation of NsiEnumerateObjectsAllParametersEx().
nsi: Add a stub implementation of NsiGetAllParametersEx().
nsi: Add a stub implementation of NsiGetParameterEx().
nsiproxy: Create the nsi device.
loader: Add tag ids to ensure nsiproxy.sys starts before ndis.sys.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ENUMERATE_ALL.
nsi: Implement NsiEnumerateObjectsAllParameterEx().
iphlpapi: Fill out a few more MIB_IF_ROW2 entries.
iphlpapi: For unknown interface types set the physical address length to zero.
nsiproxy: Implement NDIS ifinfo enumerate_all.
nsi: Implement NsiAllocateAndGetTable() and NsiFreeTable().
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_GET_ALL_PARAMETERS.
nsi: Implement NsiGetAllParametersEx().
nsiproxy: Implement NDIS ifinfo get_all_parameters.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_GET_PARAMETER.
nsi: Implement NsiGetParameterEx().
nsiproxy: Implement NDIS ifinfo get_parameter for a few parameters.
nsiproxy: Implement NDIS index to luid get_parameter.
iphlpapi: Use ConvertInterfaceIndexToLuid() where possible.
iphlpapi: Implement if_nametoindex() using the ConvertInterface* functions.
iphlpapi: Implement if_indextoname() using the ConvertInterface* functions.
iphlpapi: Rewrite ConvertInterfaceLuidToNameA/NameToLuidA() to call their unicode equivalents.
Jacek Caban (19):
include: Add proofofpossessioncookieinfo.idl file.
conhost: Silence FIXME in console_input_ioctl.
gdi32/tests: Add metafile file creation tests.
gdi32: Delay writing metafile file until CloseMetaFile is called.
gdi32: Remove no longer used disk-based metafile special-cases.
gdi32: Delay writing to enhanced metafile file until CreateEnhMetaFile is called.
gdi32: Introduce gdi_obj_header and use it to store gdi_obj_funcs.
gdi32: Move more fields from gdi_handle_entry to gdi_obj_header.
include: Add ntgdi.h file.
gdi32: Use handle layout compatible with GdiSharedHandleTable to store handles.
gdi32: Initialize GdiSharedHandleTable in PEB.
gdi32: Introduce NtGdiSelectPen.
gdi32: Introduce NtGdiSelectBitmap.
gdi32: Introduce NtGdiSelectBrush.
gdi32: Introduce NtGdiSelectFont.
gdi32: Reimplement SelectObject on top of ntgdi interface.
gdi32: Use get_object_type for GetObjectType implementation.
gdi32: Directly use ntgdi interface to select objects.
gdi32/tests: Add more SelectObject tests.
Jan Sikorski (1):
wined3d: Avoid ending the renderpass when issuing a query.
Nikolay Sivov (8):
include: Add MFP_POSITIONTYPE_100NS symbol.
mfplay: Keep start/stop positions for items.
mfplay: Set start/stop position on source nodes.
mf/session: Send failed event when clearing topologies from closed state.
mf/session: Fix pause command handling from invalid states.
mf/session: Complete start command when called from invalid state.
mf/session: Treat only started/paused/stopped as valid states for start command.
mf/session: Fix typo in a trace message.
Paul Gofman (6):
jscript: Don't list LexicalDeclaration in Statement.
jscript: Initialize variable flags in new_variable_declaration().
jscript: Factor out compiler statement push and pop functions.
jscript: Implement 'let' declaration in 'for' statement.
ntdll/tests: Do not write to fs, gs when testing cleared segment regs on x64.
mshtml: Handle NULL nsstyle in HTMLWindow7_getComputedStyle().
Piotr Caban (2):
msvcrt: Match native sinf results in -Pi/4 - Pi/4 range.
msvcrt: Match native cosf results in -Pi/4 - Pi/4 range.
Qian Hong (4):
ntdll/tests: Test deleting files with an open mapping.
server: Forbid deleting files with an open mapping.
ntdll: Truncate files through the server.
server: Forbid shrinking files which are mapped to memory.
Roman Pišl (2):
kernel32: Implement GetProcessGroupAffinity stub.
ntdll: Don't pretend that the whole address space is reserved on non-i386.
Rémi Bernon (54):
d2d1: Query ID3D11Device1 interface in d2d_device_context_init.
d2d1: Query ID3D11Resource interface in d2d_bitmap_init.
d2d1: Use D3D11 interfaces in CopyFromMemory.
d2d1: Use D3D11 interfaces in d2d_bitmap_init.
d2d1: Use D3D11 interfaces in d2d_device_context_get_surface.
d2d1: Use D3D11 interfaces in d2d_bitmap_create.
mf/session: Complete session_start command even if already started.
hidclass.sys: Support parsing of explicit usage page.
hidclass.sys: Compute report sizes during parsing.
hidclass.sys: Build an alternate value array.
hid: Rewrite HidP_Get*Caps using HidP_GetSpecific*Caps.
hid: Introduce new get_value_caps_range helper for HidP_InitializeReportForID.
hid: Introduce new enum_value_caps helper for HidP_GetSpecificButtonCaps.
d2d1: Use D3D11 interfaces in d2d_bitmap_create_shared.
d2d1: Accept ID3D11Resource in d2d_bitmap_init.
d2d1: Remove pointer indirections in d2d_gradient_create.
d2d1: Use D3D11 interfaces in d2d_gradient_create.
hid: Rewrite HidP_GetSpecificValueCaps using enum_value_caps.
hid: Rewrite HidP_MaxUsageListLength using enum_value_caps.
hid: Rewrite HidP_SetUsages using enum_value_caps.
hid: Rewrite HidP_GetUsages using enum_value_caps.
hid: Rewrite HidP_GetUsagesEx using enum_value_caps.
hid: Introduce new copy_bits helper for HidP_SetUsageValueArray.
hid: Rewrite HidP_GetUsageValueArray using enum_value_caps.
hid: Rewrite HidP_SetUsageValue using enum_value_caps.
hid: Rewrite HidP_GetUsageValue using enum_value_caps.
hid: Rewrite HidP_GetScaledUsageValue using enum_value_caps.
d2d1: Use D3D11 interfaces to create buffers.
d2d1: Use D3D11 interfaces to create input layout.
d2d1: Use D3D11 interfaces to create vertex shader.
d2d1: Use D3D11 interfaces to create pixel shader.
hid: Return HIDP_STATUS_INCOMPATIBLE_REPORT_ID when id mismatches.
hid: Rewrite HidP_MaxDataListLength using enum_value_caps.
hid: Rewrite HidP_GetData using enum_value_caps.
hid: Build link collection nodes in HidP_GetLinkCollectionNodes.
hid: Always return node count in HidP_GetLinkCollectionNodes.
d2d1: Use D3D11 interfaces to create rasterizer state.
d2d1: Use D3D11 interfaces to create blend state.
d2d1: Use D3D11 interfaces to create sampler states.
d2d1: Use D3DDeviceContextState instead of D3D10 state block.
d2d1: Remove unused D3D10 interfaces.
ntoskrnl.exe/tests: Retry timer wait to address spurious failures.
include: Declare KeInitializeSpinLock as static FORCEINLINE.
ntoskrnl.exe/tests: Add some pending / remove tests.
winebus.sys: Introduce new remove_pending_irps helper.
winebus.sys: Handle IRP_MN_SURPRISE_REMOVAL and set removed flag.
ntoskrnl.exe: Implement Ke(Initialize|Insert|Remove)DeviceQueue.
winebus.sys: Add missing keyboard free_device callback.
hidclass.sys: Disable the keyboard device interface on removal.
wineusb.sys: Introduce new remove_pending_irps helper.
wineusb.sys: Handle IRP_MN_SURPRISE_REMOVAL and set removed flag.
wineusb.sys: Return STATUS_DELETE_PENDING when device is removed.
hidclass.sys: Stop accepting IRPs after device removal.
crypt32: Grow item size buffer by more than 1 at a time.
Tim Clem (2):
quartz/tests: Test IGraphBuilder::RenderFile() cleanup on failure.
quartz: Remove the source filter on failure in IGraphBuilder::RenderFile().
Zebediah Figura (83):
ws2_32/tests: Avoid some more test failures on Vista.
ws2_32: Use IOCTL_AFD_POLL in WSAPoll().
ws2_32: Reimplement select() on top of IOCTL_AFD_POLL.
server: Introduce IOCTL_AFD_WINE_GET_INFO.
ws2_32: Use IOCTL_AFD_WINE_GET_INFO.
server: Remove the no longer used get_socket_info request.
wined3d: Do not call wined3d_buffer_get_memory() in wined3d_buffer_init_data().
wined3d: Remove the now redundant "locations" parameter from wined3d_buffer_get_memory().
wined3d: Handle WINED3D_LOCATION_DISCARDED in wined3d_buffer_get_memory().
wined3d: Factor out wined3d_buffer_copy_bo_address().
wined3d: Do not use a staging buffer if discarding a mappable buffer in adapter_vk_copy_bo_address().
ws2_32: Use Win32 getsockname() and getpeername() in SO_BSP_STATE.
ws2_32/tests: Test setting SO_ACCEPTCONN.
ws2_32: Explicitly forbid setting SO_ACCEPTCONN.
ws2_32/tests: Test setting SO_TYPE.
ws2_32: Explicitly forbid setting SO_TYPE.
server: Introduce IOCTL_AFD_WINE_GET_SO_ACCEPTCONN.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_ACCEPTCONN.
ws2_32: Move the getsockopt(SO_BROADCAST) implementation to ntdll.
ws2_32: Move the setsockopt(SO_BROADCAST) implementation to ntdll.
ws2_32/tests: Add some tests for SO_DEBUG.
ws2_32: Make getsockopt(SO_DEBUG) into a stub.
server: Introduce IOCTL_AFD_WINE_GET_SO_ERROR.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_ERROR.
server: Remove the no longer used get_socket_event request.
ws2_32: Explicitly stub setsockopt(SO_ERROR).
ws2_32: Move the getsockopt(SO_KEEPALIVE) implementation to ntdll.
ws2_32: Move the setsockopt(SO_KEEPALIVE) implementation to ntdll.
ntdll/tests: Fix AVX tests on processors that don't support XSAVEOPT.
ntdll/tests: Fix a failure in test_thread_context() under Wine.
ntdll/tests: Mark a test as conditionally succeeding under Wine.
ws2_32: Move the getsockopt(SO_LINGER) implementation to ntdll.
ws2_32: Move the setsockopt(SO_LINGER) implementation to ntdll.
ws2_32: Implement getsockopt(SO_DONTLINGER) on top of Win32 getsockopt(SO_LINGER).
ws2_32: Implement setsockopt(SO_DONTLINGER) on top of Win32 setsockopt(SO_LINGER).
ws2_32: Move the getsockopt(SO_OOBINLINE) implementation to ntdll.
ws2_32: Move the setsockopt(SO_OOBINLINE) implementation to ntdll.
wined3d: Use a wined3d_resource operation to retrieve the resource dimensions in wined3d_device_context_update_sub_resource().
wined3d: Always pass a non-NULL box to context->ops->map().
wined3d: Return the map pitch in wined3d_device_context_map().
qcap/vfwcapture: Set the correct allocator properties when connecting.
wined3d: Pass a wined3d_resource and sub-resource index to wined3d_texture_check_box_dimensions().
wined3d: Move box validation to wined3d_device_context_map().
server: Introduce IOCTL_AFD_WINE_SET_SO_RCVBUF.
server: Introduce IOCTL_AFD_WINE_GET_SO_RCVBUF.
ws2_32: Use IOCTL_AFD_WINE_SET_SO_RCVBUF.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_RCVBUF.
kernel32/tests: Add some tests for SetEndOfFile().
wined3d: Create buffers with a format of WINED3DFMT_R8_UNORM.
wined3d: Use wined3d_buffer_copy_bo_address() in wined3d_cs_exec_update_sub_resource().
wined3d: Pass a wined3d_const_bo_address to wined3d_cs_exec_update_sub_resource().
ws2_32: Handle SO_RCVTIMEO in the server.
ws2_32: Move the getsockopt(SO_REUSEADDR) implementation to ntdll.
ws2_32: Move the setsockopt(SO_REUSEADDR) implementation to ntdll.
winegstreamer: Change the formatting of error and warning messages a bit.
quartz: Do not print an incorrect state warning in MediaFilter_GetState() if a filter has been run asynchronously.
server: Introduce IOCTL_AFD_WINE_SET_SO_SNDBUF.
server: Introduce IOCTL_AFD_WINE_GET_SO_SNDBUF.
ws2_32: Use IOCTL_AFD_WINE_SET_SO_SNDBUF.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_SNDBUF.
ws2_32: Handle SO_SNDTIMEO in the server.
advapi32/tests: Test the type and impersonation level of a linked token.
server: Create linked tokens as impersonation tokens.
ws2_32: Reimplement getsockopt(SO_TYPE) on top of ws_protocol_info().
ws2_32: Use ws_protocol_info() in getsockopt(SO_LINGER).
ws2_32/tests: Add tests for options which can only be set.
ws2_32: Explicitly return WSAENOPROTOOPT for IP membership options in getsockopt().
ws2_32: Move the setsockopt(IP_ADD_MEMBERSHIP) implementation to ntdll.
server: Use a separate request to retrieve the object name.
server: Return STATUS_KEY_DELETED when trying to retrieve the full name of a deleted key.
ntdll/tests: Add more tests for deleted keys.
wined3d: Introduce a prepare_upload_bo device context operation and use it to upload sub-resource data.
wined3d: Implement wined3d_deferred_context_prepare_upload_bo().
d3d11: Forbid map types other than DISCARD and NOOVERWRITE on a deferred context.
wined3d: Use context->ops->prepare_upload_bo() in wined3d_device_context_map() if possible.
wined3d: Implement NOOVERWRITE maps in wined3d_deferred_context_prepare_upload_bo().
wined3d: No longer queue WINED3D_CS_QUEUE_MAP operations through wined3d_device_context_ops.
include: Add a helper macro to define wine AFD control codes.
ws2_32: Move the setsockopt(IP_ADD_SOURCE_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the setsockopt(IP_BLOCK_SOURCE) implementation to ntdll.
ws2_32: Move the getsockopt(IP_DONTFRAGMENT) implementation to ntdll.
ws2_32: Move the setsockopt(IP_DONTFRAGMENT) implementation to ntdll.
wined3d: Print a message when forcing CS serialization.
Zhiyi Zhang (35):
winex11.drv: Cache the current mode for detached outputs.
uxtheme/tests: Test SetWindowTheme() with a non-existent subclass.
uxtheme: Fall back to default class if the specified subclass is not found.
uxtheme: Set last error code for OpenThemeDataEx().
uxtheme: Check window handle for GetWindowTheme().
uxtheme: Check window handle for SetWindowTheme().
comctl32/tests: Add UDS_SETBUDDY tests.
winecfg: Set buddy window for the size up-down control only once.
comctl32/theme_scrollbar: Draw parent background before drawing control parts.
comctl32/treeview: Draw parent background before drawing control parts.
comctl32/toolbar: Remove a redundant theme handle check in TOOLBAR_NCCreate().
comctl32/toolbar: Test that toolbar shouldn't use outside theme handles.
comctl32/toolbar: Don't use outside theme handles.
comctl32/trackbar: Update control parts when style changed.
light.msstyles: Add Classic Blue visual style.
light.msstyles: Add Blue stub visual style.
light.msstyles: Add Button parts.
light.msstyles: Add ComboBox parts.
light.msstyles: Add Edit parts.
light.msstyles: Add List Box parts.
light.msstyles: Add Scroll Bar parts.
light.msstyles: Add Spin parts.
light.msstyles: Add Toolbar parts.
light.msstyles: Add Rebar parts.
light.msstyles: Add Status parts.
light.msstyles: Add ListView parts.
light.msstyles: Add TreeView parts.
light.msstyles: Add Header parts.
light.msstyles: Add Progress parts.
light.msstyles: Add Tab parts.
light.msstyles: Add TrackBar parts.
light.msstyles: Add Tooltip parts.
uxtheme/tests: Test that SetWindowTheme() should send WM_THEMECHANGED instead of posting it.
uxtheme: Send WM_THEMECHANGED instead of posting it in SetWindowTheme().
winecfg: Don't convert font height to points when saving system font metrics.
Ziqing Hui (4):
d3dx10/tests: Test texture returned by D3DX10CreateTextureFromMemory on failure.
d3dx10: Introduce initial D3DX10CreateTextureFromMemory() implementation.
d3dx10: Handle format conversion in D3DX10CreateTextureFromMemory().
d3dx10: Support block compressed formats in D3DX10CreateTextureFromMemory().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.11 is now available.
What's new in this release (see below for details):
- Theming support in all builtin programs.
- All remaining CRT math functions imported from Musl.
- MP3 support requires libmpg123 also on macOS.
- Support for codepage 720 (Arabic).
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.11.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.11.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.11 (total 33):
24172 Microsoft SyncToy 2.1 doesn't start with Wine-Mono
29184 Hogs of War: ground is missing somewhere
30244 Might & Magic Clash of Heroes: fails to start
36165 msvcrt/string tests fail under valgrind
37149 python 3.1.1: test_cmath failed
37858 WHO Anthro (.NET app) installer fails, reporting 'FATAL UNHANDLED EXCEPTION: The specified table does not exist.'
39142 Roblox Client/Server connection is dropped with error "This server has shut down."
40505 PDF Eraser Shows False File Names in File Open dialog with wine-mono
41048 Roller Coaster Rampage fails to start: 'Failed to init XACT' - {0aa000aa-f404-11d9-bd7a-0010dc4f8f81} xactengine2_0.dll
41292 Nexton LC-ScriptEngine freezes, possibly bad dsound notifications
41403 Ri-li 2.0.1 shows black screen instead of actual game content
42215 Pendulumania: Black screen (needs to emulate 8bpp mode in winex11)
42928 EmuMovies Sync 2.x fails login with Wine-Mono
44511 Winecfg - Only partially shows new theme after clicking apply
45202 Stories: The Path of Destinies - multicolored textures
45940 Missing CLSID e018945b-aa86-4008-9bd4-6777a1e40c11 (CLSID_WICPngDecoder2 ?)
46043 Notepad++ v7.5.9 x86 'MarkdownViewer++' v0.8.2 plugin (.NET 4.0 based) causes abnormal program termination with Wine-Mono 4.7.3
47812 Cygwin's strace.exe crashes due to custom TLS corruption
48891 Bash from Cygwin/msys2 terminates after first command
49459 Memu installer fails: wine: Call from 0x7b00f0b7 to unimplemented function wuaueng.dll.DllRegisterServer, aborting
49668 Two Worlds Epic Edition needs {cd0d66ec-8057-43f5-acbd-66dfb36fd78c}, xactengine2_7 to play audio
50041 Amnesia: Rebirth crashes with builtin vcomp140
50520 Multiple applications need WSAIoctl(SIO_BASE_HANDLE) (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
50592 ZynAddSubFX 3.0.3 Demo can't load/open/save presets
50595 Foxit Reader 5.1 crashes on unimplemented function 'msdrm.dll.DRMRegisterContent' when exiting
50615 Excel 2007 needs ICreateTypeInfo2::DeleteFuncDesc()
51184 test_font_metrics() fails in gdi32:font for bitmap fonts on Windows 10 >= 1709
51192 GnuTLS error: Error in the pull function/ Login to Teamspeak, Blizzard... not possible.
51222 Multiple games have rendering issues caused by import of logf from musl (Kingdom Come: Deliverance, Just Cause 4, Wizard101)
51224 Otvdm can't start any Win16 application
51231 WeChat can't display QR code in login dialog.
51262 Since 308a5e7 no 32bit program starts
51273 Starcraft 2 64 bit .exe not starting since 25b093f384
----------------------------------------------------------------
Changes since 6.10:
Akihiro Sagawa (4):
quartz/tests: Introduce commit_allocator helper in vmr7.c.
quartz/tests: Test the close button of the video window.
quartz: Hide video window on WM_CLOSE.
quartz: Notify EC_USERABORT event when closing video window.
Alexandre Julliard (28):
ntdll: Validate the extended context before modifying the other registers.
ntdll: Only restore the modified parts of the syscall frame on x86-64.
ntdll: Only restore the modified parts of the syscall frame on i386.
ntdll: Create a thread to run the ctrl-C routine instead of raising an exception.
ntdll: Fix some exception test failures on ARM.
ntdll: Fix some exception test failures on ARM64.
kernel32: Don't export __chkstk() on ARM64.
ntdll: Allow the dispatcher functions to return to the caller.
ntdll: Always allocate extra stack space for the kernel stack.
ntdll: Switch to the kernel stack for syscalls on i386.
ntdll: Switch to the kernel stack for syscalls on x86-64.
ntdll: Switch to the kernel stack for syscalls on ARM64.
ntdll: Switch to the kernel stack for syscalls on ARM.
ntdll: Simplify the platform-specific dispatcher interface.
ntdll: Don't update cached registers if NtGetContextThread() fails.
ntdll: Move the XSTATE definitions to the platform-specific files.
ntdll: Also pass the TEB to signal_exit_thread().
ntdll: Always use the TEB that was passed to signal_start_thread().
ntdll: Store the current PEB in a global variable.
ntdll: Store the debug info in the TEB block after the 32-bit TEB.
ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side.
ntdll: Don't allow single-stepping through syscalls.
ntdll: Copy the implementation of __wine_dbg_output to the PE side.
ntdll: Add a helper to get the Wow64 TEB.
ntdll: Remove special case for setting permissions on stack pages.
ntdll: Support growing both 32- and 64-bit stacks.
ntdll: Ignore faults caused by alignment check on x86-64.
ntdll/tests: Adapt some of the i386 tests to run on x86-64 as well.
Alistair Leslie-Hughes (6):
msado15/test: Remove Reference count tests.
msado15/tests: Add Field tests.
msado15: Correct field reference value.
msado15: Support VT_I4/I2 for Fields Item property.
msado15: Convert to Integer for field index.
dpnhupnp: Stub DirectPlayNATHelpCreate and DllGetClassObject.
Andrew Eikum (3):
advapi32/tests: Avoid gcc 11 misleading-indentation warning.
comctl32: Avoid gcc 11 maybe-uninitialized warning.
shell32: Always create default known folder directories.
Austin English (1):
dpnhupnp: Add stub dll.
Brendan Shanks (2):
configure: Work around Xcode 12's ld assuming 16KB page sizes.
winecoreaudio: Remove workarounds for Mac OS X 10.4 and 10.5.
Connor McAdams (1):
d3dx9: Remove unnecessary call to D3DXMatrixTranspose.
Damjan Jovanovic (1):
server: The owner of a securable object should have all the standard access rights.
Derek Lesho (2):
mfplat: Fix max buffer length for IMC2/IMC4 formats.
mfplat: Copy all image planes in buffer copies.
Dmitry Timoshkov (3):
gdi32/tests: Test otmEMSquare only for Truetype fonts.
mshtml: Fix typos in traces.
include: Add IAuthenticateEx interface definition.
Esme Povirk (5):
sppc: Stub SLPersistApplicationPolicies.
advapi32: Fix typo.
sechost: Reject string SIDs with too many characters.
sechost: SID strings are case-insensitive.
sechost: Implement hexadecimal SID parsing.
Florian Eder (1):
cmd: Do not change errorlevel when setting environment variables.
François Gouget (9):
urlmon/tests: Fix a typo in a comment.
wininet/tests: Fix an InternetQueryOptionA/W mixup in test_secure_connection().
user32/tests: Use winetest contexts to simplify set_clipboard_data_process().
make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
wined3d: Avoid an unneeded NULL cast.
gdi32/tests: Add a context to the testJustification() failure message.
gdi32/tests: Use a winetest context for test_font_metrics().
user32/tests: Preserve the initial GetLastError() value for test_ClipboardOwner().
user32/tests: Use the caller line number for open_clipboard() & co.
Gijs Vermeulen (3):
vcomp: Implement omp_get_num_procs().
ntdll: Avoid declaration-after-statement warning.
secur32: Default to building with GnuTLS support on macOS, if present.
Giovanni Mascellani (5):
mf/session: Fix computing fastest and slowest presentation rates.
winex11.drv: Allow keyboard layout score to be negative.
winex11.drv: Do not pollute logs with misencoded bytes.
mf/session: Reset END_OF_PRESENTATION flags when stopped.
winegstreamer: Expose the MF_MT_VIDEO_ROTATION attribute.
Haidong Yu (2):
shell32: Fix a memory leak.
shell32: Fix a memory leak.
Hans Leidekker (4):
winhttp: Fix a buffer size check.
winhttp: Remove redundant parentheses.
winhttp: Use CRT memory allocators.
secur32: Translate errors from push/pull callbacks.
Henri Verbeet (6):
d3d11/tests: Add a test for image UAV clears.
wined3d: Introduce wined3d_mask_from_size().
wined3d: Implement OpenGL image UAV clears using ARB_clear_texture.
d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat().
wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation.
wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation.
Hiroki Awata (1):
dsound: Notify DSBPN_OFFSETSTOP earlier.
Hugh McMaster (11):
regedit: Allow deletion of selected values without focus.
reg/tests: Test how values are overwritten when copying.
reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
reg/tests: Update reg_open() and reg_open_() definitions.
reg/tests: Modify verify_key() to support opening of registry views.
reg/tests: Modify verify_key_nonexist() to support registry views.
reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
reg/tests: Modify add_key() to support key creation in registry views.
reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
reg: Support the use of registry views during the 'add' operation.
reg/tests: Move 'delete' syntax tests into a separate function.
Jacek Caban (2):
gdi32: Fix SetPixel error return value.
win32u: Add stub DLL.
Jactry Zeng (3):
riched20/tests: Lock hGlobal before use.
riched20: Allow to insert OLE object at specified offset.
riched20/tests: Add more tests for testing EM_GETTEXTEX with OLE objects.
Jan Sikorski (2):
wined3d: Fix typo in wined3d_texture_vk_prepare_texture().
wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan.
Kalen Alwardt (1):
ntdll: Export ZwFilterToken().
Nguyễn Chính Hữu (1):
wined3d: Add GPU information for NVIDIA GT 1030.
Nikolay Sivov (17):
dxva2: Accept AYUV as input format.
dxva2: Check input stream format in GetVideoProcessorDeviceGuids().
mfplat/buffer: Fix maximum length for YV12 format.
dxva2/tests: Remove a test failing on system with hw dxva devices support.
d2d1: Cache sampler state objects at device context.
d2d1: Remove unused argument from constant buffer initialization helper.
d2d1: Reuse PS constant buffer object.
d3d11: Fix freed memory access when releasing device context (Coverity).
d2d1: Reuse VS constant buffer object.
winegstreamer: Let async command handle request token.
mf: Move presentation clock implementation to a separate file.
mf/session: Reset per-node end of stream flags when stopped.
mf/session: Reset topology status back to READY when stopped.
mf: Use CRT allocation functions.
include: Add IMFWorkQueueServicesEx definition.
mfplay: Create media item on player creation, when url is specified.
mfplay: Start playback on player creation automatically, when enabled.
Paul Gofman (8):
jscript: Parse 'let' and 'const' variable declarations.
shell32: Don't specify the startup directory for CreateProcessW() in SHELL_ExecuteW().
jscript: Factor local_ref_scopes_t structure out of function_code_t.
jscript: Enumerate with and block scopes.
jscript: Support block scope variables.
jscript: Support nested scopes for functions defined inside.
mshtml/tests: Add test for multiple JS scope instances.
mshtml/tests: Add a test for JS functions scope.
Piotr Caban (11):
msvcrt: Fix logf implementation.
msvcrt: Import tgamma implementation from musl.
msvcrt: Import tgammaf implementation from musl.
msvcrt: Import fmaf implementation from musl.
msvcrt: Import exp2f implementation from musl.
msvcrt: Import expf implementation from musl.
msvcrt: Import powf implementation from musl.
msvcrt: Import exp2 implementation from musl.
msvcrt: Import exp implementation from musl.
msvcrt: Fix math error arguments in powf.
msvcrt: Import pow implementation from musl.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Roman Pišl (1):
ntdll: Allow loading of native libraries for Win16.
Rémi Bernon (41):
hid/tests: Don't print buttons after HidP_GetUsages failed.
hidclass.sys: Handle failures when parsing descriptor.
hidclass.sys: Remove Delim member from struct caps.
hidclass.sys: Use HIDP_VALUE_CAPS instead of struct caps.
hidclass.sys: Factor all HIDP_VALUE_CAPS debug helpers.
hid: Use caps.BitSize to differenciate buttons from values.
include: Add HID haptics usage page.
hidclass.sys: Don't crash when no buffer was provided.
xinput1_3: Use msvcrt allocation functions.
xinput1_3: Check for HID failures and print warnings.
xinput1_3: Store HIDP_CAPS in hid_platform_private struct.
xinput1_3: Use input report length from HIDP_CAPS.
xinput1_3: Allocate output report buffer on the heap.
hidclass.sys: Fix incorrect feature report debug print.
hidclass.sys: Dump HID descriptor with 16 byte columns.
hidclass.sys: Use realloc instead of HeapReAlloc.
ntoskrnl.exe/tests: Silent a todo_wine failing test after a while.
ntoskrnl.exe/tests: Use HID helper macros to write report descriptors.
ntoskrnl.exe/tests: Add some buttons and hatswitch controls.
hid: Check preparsed data magic in HidP_GetLinkCollectionNodes.
ntoskrnl.exe/tests: Add some HidP_Get(Specific)ButtonCaps tests.
ntoskrnl.exe/tests: Add some HidP_Get(Specific)ValueCaps tests.
ntoskrnl.exe/tests: Add some HidP_GetLinkCollectionNodes tests.
ntoskrnl.exe/tests: Add some HidP_InitializeReportForID tests.
ntoskrnl.exe/tests: Don't call CertFreeCertificateContext on cleanup.
hid: Implement HidP_SetUsageValueArray stub.
ntoskrnl.exe/tests: Add tests with and without report IDs.
ntoskrnl.exe/tests: Add more reports with complex HID syntax.
ntoskrnl.exe/tests: Add some HidP get/set values tests.
ntoskrnl.exe/tests: Add some HidP get/set usages tests.
ntoskrnl.exe/tests: Add some HidP_GetData tests.
hidclass.sys: Simplify signed / unsigned item value parsing.
hidclass.sys: Use a single switch to parse all item types.
hidclass.sys: Introduce new hid_parser_state struct.
hidclass.sys: Add a stack to parser_state to store global items.
hidclass.sys: Use the stack to store collection items.
hidclass.sys: Set BitField item to current value.
hidclass.sys: Create link collection caps during parsing.
hidclass.sys: Remove unused struct feature members.
hidclass.sys: Remove unused struct collection members.
hidclass.sys: Split feature parsing to separate helper.
Stefan Dösinger (2):
user32: Release the icon frame in CopyImage.
user32: Delete info.hbmColor and hbmMask after copying.
Torge Matthies (1):
winex11.drv: Avoid race condition in X11 error handling.
Vijay Kiran Kamuju (2):
msdrm: Add stub DRMRegisterContent function.
windowscodecs: Add initial support for WICPngDecoder2.
Yeshun Ye (1):
iphlpapi: Fix the field 'AdapterName' of IP_ADAPTER_INFO returned by GetAdaptersInfo.
Zebediah Figura (67):
configure: Always warn on missing GStreamer if --with-gstreamer was specified.
configure: Also warn on missing GStreamer if --without-quicktime was specified.
ws2_32: Use getifaddrs() and if_nametoindex() directly in interface_bind().
ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ADDRESS_LIST_QUERY.
server: Don't rely on async_is_blocking() to determine whether IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE should block.
ws2_32: Wait for synchronous ioctl completion in server_ioctl_sock().
ws2_32/tests: Test passing an output buffer to FIONBIO.
ws2_32: Explicitly ignore the output buffer in FIONBIO.
ntdll: Introduce IOCTL_AFD_WINE_GET_INTERFACE_LIST.
ws2_32: Use IOCTL_AFD_WINE_GET_INTERFACE_LIST.
ntdll: Introduce IOCTL_WINE_AFD_KEEPALIVE_VALS.
ws2_32: Use IOCTL_WINE_AFD_KEEPALIVE_VALS.
ws2_32: Fix the indentation of SIO_ROUTING_INTERFACE_QUERY.
ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ROUTING_INTERFACE_QUERY.
ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC for unimplemented ioctls.
ws2_32: Return WSAEOPNOTSUPP in SIO_FLUSH.
ws2_32: Return WSAEOPNOTSUPP in FIOASYNC.
l3codeca.acm: Remove the Mac OS AudioToolbox backend.
l3codeca.acm: Call mp3_horse() directly.
l3codeca.acm: Simplify error handling in MPEG3_StreamOpen().
l3codeca.acm: Store the mpg123 handle directly as the ACM driver data.
ws2_32/tests: Add more tests for calling functions on a connecting socket.
server: Return STATUS_INVALID_PARAMETER when trying to call connect() on a socket with an active ConnectEx() async.
server: Fail with WSAEINVAL or WSAEALREADY when trying to connect a socket that is already connecting via nonblocking connect().
ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC in SIO_UDP_CONNRESET.
ws2_32: Implement SIO_BASE_HANDLE.
server: Do not return the socket state from get_socket_event.
server: Make FD_WINE_NONBLOCKING into a separate field.
server: Use separate fields to track socket shutdown state.
server: Use an enum to store socket connection state.
server: Do not bother clearing events in IOCTL_AFD_WINE_CONNECT.
server: Do not bother clearing events in IOCTL_AFD_LISTEN.
server: Free the old process image name if a second process image is mapped (Valgrind).
server: Use AFD_POLL_* flags internally.
server: Store the socket errors as an array of Unix errno values.
server: Implement IOCTL_AFD_EVENT_SELECT.
ws2_32: Use IOCTL_AFD_EVENT_SELECT.
ws2_32/tests: Add some tests for IOCTL_AFD_EVENT_SELECT.
ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data.
qcap/tests: Add some tests for filter state on the video capture filter.
qcap/tests: Add tests for allocator management by the video capture filter.
qcap/vfwcapture: Do not fail vfw_capture_init_stream() if IMemAllocator::SetProperties() fails.
server: Implement IOCTL_AFD_GET_EVENTS.
server: Do not poll sockets for POLLPRI unless we are selecting for AFD_POLL_OOB.
ws2_32: Use IOCTL_AFD_GET_EVENTS in WSAEnumNetworkEvents().
ws2_32/tests: Add some tests for IOCTL_AFD_GET_EVENTS.
server: Introduce IOCTL_AFD_WINE_MESSAGE_SELECT.
ws2_32: Use IOCTL_AFD_WINE_MESSAGE_SELECT.
server: Remove the no longer used set_socket_event request.
ws2_32/tests: Add a couple more tests for getsockname().
server: Partially implement IOCTL_AFD_BIND.
server: Implement IOCTL_AFD_GETSOCKNAME.
server: Return the socket address from IOCTL_AFD_BIND.
ws2_32/tests: Add some tests for IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME.
server: Return STATUS_ADDRESS_ALREADY_ASSOCIATED from IOCTL_AFD_BIND if the socket is already bound.
ws2_32: Reimplement bind() and getsockname() on top of IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME respectively.
server: Correctly access the sir_lsap_sel field.
ws2_32: Check if the socket is bound in listen() in the server.
ws2_32: Pass a Win32 socket address to IOCTL_AFD_WINE_CONNECT.
ws2_32: Check if the socket is bound in ConnectEx() in the server.
ws2_32: Move the getpeername() implementation to ntdll.
ntdll/tests: Relax tests for RtlWaitOnAddress() timeout.
ws2_32: Remove some unused declarations.
ws2_32: Make the indentation in WSAAccept() consistent with the rest of the file.
server: Introduce IOCTL_AFD_WINE_DEFER.
ws2_32: Use IOCTL_AFD_WINE_DEFER.
server: Remove the no longer used set_socket_deferred request.
Zhiyi Zhang (27):
gdi32: Return correct color depth for display DCs in GetDeviceCaps().
gdi32: Implement MFDRV_SetLayout().
gdi32: Use a common helper for emf StretchBlt and AlphaBlend.
gdi32: Add more emf StretchBlt tests.
write: Use correct wordpad.exe path.
control: Enable visual styles.
dxdiag: Enable visual styles.
explorer: Enable visual styles.
extrac32: Enable visual styles.
msiexec: Enable visual styles.
msinfo32: Enable visual styles.
notepad: Enable visual styles.
oleview: Enable visual styles.
regedit: Enable visual styles.
taskmgr: Enable visual styles.
view: Enable visual styles.
wineboot: Enable visual styles.
winefile: Enable visual styles.
winemine: Enable visual styles.
winevdm: Enable visual styles.
winver: Enable visual styles.
wordpad: Enable visual styles.
gdi32: Partially implement HALFTONE stretch mode.
clock: Enable visual styles.
uninstaller: Enable visual styles.
winedbg: Enable visual styles.
winetest: Enable visual styles.
Ziqing Hui (4):
d3dx10/tests: Check more members of texture descriptor.
d3dx10/tests: Use winetest_push_context.
d3dx10/tests: Test subresource data for created texture.
windowscodecs/tests: Use winetest_push_context for DDS tests.
--
Alexandre Julliard
julliard(a)winehq.org