Wine release 7.13
The Wine development release 7.13 is now available.
What's new in this release:
- Gecko engine updated to version 2.47.3.
- USB driver converted to PE.
- Some theming improvements.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.13 (total 16):
43167 Witcher 3 will not start
47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
51129 Function name conflict (ldap_connect) with OpenLDAP 2.5
51462 SnowRunner crashes when changing settings
51842 include/winnt.h:403:50: error: size of unnamed array is negative
52391 Multiple games are missing sound effects since FAudio import (Hyperdimension Neptunia Re;Birth 1, Skyrim Legendary Edition)
53104 Wireshark can't start capturing packets
53133 uiautomationcore:uiautomation - test_uia_prov_from_acc_properties() crashes on Windows 8
53157 --without-mingw builds on Mac can't unwind exceptions
53231 d2d1:d2d1 - test_shared_bitmap() crashes on the TestBot VMs
53298 Check boxes don't scale properly in Qt application with light theme
53309 Wizard101 launcher window takes over a minute to appear
53335 Crash when converting an rich text editor already containing text into a password input
53341 uxtheme:system depends on GetDpiForSystem() which is missing on Windows 10 1507 and earlier
53343 The 64-bit itss:protocol fails in Wine
53344 HPLOCONS (legacy TLS applications): GnuTLS priority string overrides are ignored in schan_create_session() (patch included)
----------------------------------------------------------------
Changes since 7.12:
Akihiro Sagawa (1):
mciqtz32: Fix thread handle leak if a second play.
Alexander Wilms (1):
ntoskrnl: Add KeQueryPriorityThread stub.
Alexandre Julliard (24):
ntdll: Use proper absolute paths for registry keys.
advapi32/tests: Remove some workarounds for older Windows versions.
ntdll/tests: Remove some workarounds for older Windows versions.
ntdll/tests: Add a few more tests for registry path names.
ntdll: Fix returned error for NtCreateKey with empty name.
server: Fix access check for NtQueryKey.
server: Return the standard status code when the key exists in NtCreateKey.
server: Avoid potential NULL dereference in create_named_object().
server: Prevent infinite symlink recursion in lookup_named_object().
ntdll/tests: Remove todo from tests that succeed now.
ntdll: Fix the return value of NtQueryKey for a short buffer.
win32u: Add missing terminating null on a GUID string.
server: Store a pointer to the Wow6432Node subkey.
server: Use the standard object name for registry keys.
server: Store the key parent in the standard object name structure.
server: Implement unlink_name() for registry keys.
ntdll: Make all registry lookups case-insensitive.
server: Move some functions to avoid forward declarations.
server: Implement link_name() for registry keys.
server: Implement lookup_name() for registry keys.
server: Use standard named object functions for registry keys.
ntdll/tests: Add some more tests for shared Software\Classes key.
server: Create new keys in the parent of a shared key.
include: Remove wine/unicode.h.
Brendan Shanks (1):
ntdll: Add ".globl" for asm labels referenced from C.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Claire Girka (8):
winepulse: Store device-specific format and periods.
winepulse: Return device-specific values for GetMixFormat.
winepulse: Return device-specific values for GetDevicePeriod.
winepulse: Remove unused pulse_config.
winepulse: Fix memory leak in pulse_create_stream in some error cases.
winepulse: Store and use device period on stream creation.
winepulse: Use stream-specific period in pulse_get_latency.
winepulse: Don't probe default devices twice.
David Kahurani (2):
oleaut32: Handle DATE in string form in VarFormat.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (6):
combase: Use file system redirection path only for an opposite architecture in a WoW64 setup.
combase: Execute local server for correct architecture in a WoW64 setup.
d2d1/tests: Fix compilation with clang.
sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
include: Fix a typo in _InterlockedXor64() intrinsic declaration.
winspool.drv: Implement OpenPrinter2.
Eric Pouech (8):
d3dx10/tests: Build without -DWINE_NO_LONG_TYPES.
dbghelp: Silence a couple of FIXMEs in SymGetTypeInfo().
mscvpdb.h: Use bitfield for defrange's variable flag.
dbghelp: Don't include global & static variables from S_LOCAL* records.
dbghelp: Create lexical relationship between global vars and symt_module.
dbghelp: Only reply to offset requests on symt_data in SymGetTypeInfo() for locals and parameters.
dbghelp: Member's lexical parent is module (not parent UDT).
dbghelp: Set constants lexical parent to module when no compiland is present.
Floris Renaud (2):
inetcpl.cpl: Fix typo.
po: Update Dutch translation.
Gabriel Ivăncescu (7):
mshtml: Set the channel's content type when parsing the header.
mshtml: Respect LOAD_CALL_CONTENT_SNIFFERS when using detected mime type.
mshtml: Check for valid XML Content-Type for responseXML in IE10+ modes.
mshtml: Implement overrideMimeType for XMLHttpRequest.
mshtml: Use the private interface to expose onload for XMLHttpRequest.
mshtml: Only default to IE11 mode for Internet URL Zones when the app is IE.
mshtml: Parse X-UA-Compatible correctly.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.221.
Hans Leidekker (11):
winhttp: Always reset the second input buffer in netcon_secure_connect().
wininet: Always reset the second input buffer in netcon_secure_connect_setup().
secur32: Validate input buffers in schan_InitializeSecurityContextW().
mscms: Merge the profile and transform handle tables.
include: Fix a typo.
msv1_0: Add support for SECPKG_ATTR_KEY_INFO.
secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_KEY_INFO).
secur32/tests: Add more context attributes tests.
secur32: Simplify nego_AcquireCredentialsHandleA() and fix an invalid free.
secur32: Simplify lsa_AcquireCredentialsHandleA().
secur32: Fix GnuTLS system priority file override.
Hugh McMaster (4):
regedit: Remove unneeded valueDataLen override for DWORD values.
regedit: Correctly calculate REG_MULTI_SZ size before reading from the buffer.
regedit: Directly use RegQueryValueExW() instead of a helper function.
regedit: Replace heap_x*() functions with malloc(), realloc() and free().
Jacek Caban (33):
win32u: Move NtUserShowScrollBar implementation from user32.
win32u: Partially move ScrollBarWndProc implementation from user32.
win32u: Move set_standard_scroll_painted implementation from user32.
win32u: Move scroll bar WM_CREATE implementation from user32.
win32u: Move scroll bar WM_SETFOCUS and WM_KILLFOCUS implementation from user32.
win32u: Move scroll tracking implementation from user32.
user32: Pass scroll enable flags to ScrollBarDraw.
win32u: Support undocumented SIF_RETURNPREV flag in set_scroll_info.
user32: Use SIF_RETURNPREV for SetScrollPos implementation.
win32u: Move scroll bar proc implementation from user32.
user32: Use GetScrollInfo for GetScrollPos implementation.
user32: Use GetScrollInfo for GetScrollRange implementation.
win32u: Move get_scroll_info_ptr implementation from user32.
win32u: Move WM_NCCREATE scroll handling from user32.
wow64win: Sort user syscall thunks.
win32u: Implement input context object.
imm32: Use win32u to manage input context handles.
imm32: Move default IMM window proc implementation from user32.
imm32: Use a separated struct for COM initialization spy.
imm32: Use default IME window WM_DESTROY to call imm_couninit_thread.
imm32: Store message spy pointer in TEB.
win32u: Move window input context handling from imm32.
imm32/tests: Add NtUserAssociateInputContext tests.
imm32/tests: Add more tests for disabling IME.
imm32: Don't allow disabling other thread's IME by thread ID.
win32u: Move default IME window management from imm32.
win32u: Use KeUserModeCallback for ImmProcessKey and ImmTranslateMessage calls.
win32u: Use KeUserModeCallback interface for DDE message callbacks.
mshtml: Wine Gecko 2.47.3 release.
imm32: Select default IME when creating its data.
win32u: Move default window proc to IME window forwarding implementation from user32.
wined3d: Don't use vulkan_driver.h.
wined3d: Don't use __wine_get_wgl_driver.
Jan Sikorski (2):
wined3d: Add missing copy offset in wined3d_texture_vk_upload_data().
wined3d: Defer destroying Vulkan compute pipelines.
Jeremy White (1):
maintainers: Add trailing slashes to directories.
Jinoh Kang (13):
loader: Fix return type of get_auxiliary().
riched20/tests: Test for ITextDocument::Undo and ITextDocument::Redo.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
ntdll: Set r11 on exit from syscall dispatcher on x64.
include: Move WIN32_MEMORY_RANGE_ENTRY from winnt.h to winbase.h.
include: Add definition for NtSetInformationVirtualMemory.
ntdll/tests: Add tests for NtSetInformationVirtualMemory.
ntdll: Implement NtSetInformationVirtualMemory (intra-process case).
kernel32/tests: Add tests for PrefetchVirtualMemory.
kernelbase: Implement PrefetchVirtualMemory.
riched20: Factor out undo-ignored status check.
riched20: Add undo control state variable to ME_TextEditor.
riched20: Implement ITextDocument::Undo and ITextDocument::Redo.
Julian Klemann (2):
http.sys: Add support for relative URLs.
http.sys: Do not add URLs with query parameters to queue.
Matteo Bruni (1):
d3dx10/tests: Add a couple D3DX10CreateAsyncTextureInfoProcessor() parameter tests.
Nikolay Sivov (21):
xmllite/reader: Use correct byte length when updating utf16 buffer contents marker.
d2d1/effect: Support parsing vector2 property values.
d2d1/effect: Support parsing vector3 property values.
d2d1/effect: Support parsing vector4 property values.
d2d1/effect: Support parsing int32 property values.
d2d1/effect: Support parsing matrix poperty values.
d2d1/tests: Add missing return value check (Coverity).
d2d1/effect: Check that "Inputs" property was specified in the description.
d2d1: Implement GetRegisteredEffects().
d2d1/tests: Use CRT allocation functions.
rpcss: Use CRT memory allocation functions.
wscript: Use CRT memory allocation functions.
wordpad: Use CRT allocation functions.
winepath: Use CRT allocation functions.
winemsibuilder: Use CRT allocation functions.
mf/evr: Consistently check for shutdown flag within a lock.
mf/sar: Consistently check for shutdown flag within a lock.
mf/samplegrabber: Consistently check for shutdown flag within a lock.
wmic: Handle properly list for GET verb.
d3d10: Use CRT allocation functions.
xolehlp: Use CRT allocation functions.
Paul Gofman (3):
msvcp140_2: Add stub dll.
server: Allow IOCTL_AFD_POLL for sockets without unix fd.
crypt32: Support MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG.
Piotr Caban (10):
d3dx10/tests: Fix texture leak in check_resource_data.
d3dx10: Add D3DX10CreateThreadPump stub.
d3dx10: Add ID3DX10ThreadPump:AddWorkItem implementation.
d3dx10: Add ID3DX10ThreadPump:GetWorkItemCount implementation.
d3dx10: Add ID3DX10ThreadPump:ProcessDeviceWorkItems implementation.
d3dx10: Add ID3DX10ThreadPump:WaitForAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetQueueStatus implementation.
d3dx10: Add ID3DX10ThreadPump:PurgeAllItems implementation.
d3dx10/tests: Add D3DX10CreateThreadPump tests.
ntdll: Fix x64 single step exception detection on macOS.
Roman Pišl (2):
wpcap: Translate device identifier in pcap_create.
wpcap: Implement pcap_dispatch.
Rémi Bernon (26):
winegstreamer: Fix Resampler transform GetCurrent(Input|Output)Type.
winegstreamer: Fix ColorConvert transform GetCurrent(Input|Output)Type.
mf/tests: Add more MFGetTopoNodeCurrentType tests.
mf: Add error cases for MFGetTopoNodeCurrentType.
win32u: Add invisible winstation virtual monitor outside of nulldrv.
win32u: Move default UpdateDisplayDevices implementation out of nulldrv.
win32u: Set generic DEVMODEW fields in NtUserEnumDisplaySettings.
mf/tests: Add todo_wine for newer FFmpeg versions.
winegstreamer: Release requested samples if they are too small.
winegstreamer: Use an atomic queue for wg_transform input buffers.
win32u: Fix NtUserChangeDisplaySettings comment.
win32u: Move reading mode from registry out of graphics drivers.
win32u: Move NtUserChangeDisplaySettings mode validation to a separate helper.
win32u: Move writing mode to registry out of graphics drivers.
dinput/tests: Avoid window activation race conditions with Wine.
dinput/tests: Remove racy IForceFeedbackEffect reference count checks.
widl: Fix missing support for struct / union parameterized type replacement.
widl: Support namespaces for union declarations.
winegstreamer: Implement H264 SetOutputType by reconfiguring the pipeline.
winegstreamer: Use H264 input media type frame size when specified.
winegstreamer: Check H264 ProcessOutput sample against actual image size.
mf/tests: Simplify topology loader tests.
mf/tests: Add more topology loader media types tests.
mf/tests: Add more topology loader connect method tests.
mf: Move and rename topology_loader_get_node_type_handler.
mf: Use topology_node_get_type_handler in MFGetTopoNodeCurrentType.
Stefan Dösinger (1):
wined3d: Don't transition GENERAL layouts for blits.
Stefan Rentsch (1):
wbemprox: Provide more accurate system information.
Tim Clem (1):
mountmgr.sys: Always set the return size from dhcp_request implementations.
Torge Matthies (8):
msvcr120/tests: Add test for canceling running chores.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Add _StructuredTaskCollection::_RunAndWait stub.
msvcr100: Add _StructuredTaskCollection::_Cancel stub.
msvcr100: Add _StructuredTaskCollection::_IsCanceling stub.
msvcr120/tests: Add missing newlines to messages.
Yoshiji Emoto (1):
ntdll: Add SJIS charset.
Zebediah Figura (57):
d3d10core/tests: Build without -DWINE_NO_LONG_TYPES.
wineusb.sys: Spawn a separate thread to consume Unix library events.
wineusb.sys: Remove devices through the event thread.
wineusb.sys: Report new devices through the event thread.
wineusb.sys: Complete IRPs through the event thread.
d3d9/tests: Make getPixelColor() checks into actual ok() calls.
d3d9/tests: Build without -DWINE_NO_LONG_TYPES.
d3d8/tests: Make getPixelColor() checks into actual ok() calls.
d3d8/tests: Build without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build d3d.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddrawmodes.c without -DWINE_NO_LONG_TYPES.
ntdll: Fix the calling convention for runtime 64-bit shift functions.
ntdll/tests: Add tests for runtime 64-bit shift functions.
ntdll: Avoid depending on compiler support for 64-bit shift functions.
ntdll: Correctly handle shift greater than the type width in 64-bit shift functions.
ddraw/tests: Build dsurface.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build refcount.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build visual.c without -DWINE_NO_LONG_TYPES.
wineusb.sys: Fully initialize the device before adding it to the device list.
ntoskrnl/tests: Test asynchronicity of device PnP events.
ntoskrnl/tests: Also test that IoInvalidateDeviceRelations() during device enumeration doesn't deadlock.
ntoskrnl: Enumerate child devices on a separate thread.
wineusb.sys: Queue pending IRPs after submitting the URB.
wineusb.sys: Move the event handling loop to the Unix library.
wineusb.sys: Move the event threads to IRP_MN_START_DEVICE.
wineusb.sys: Move the event queue and device list to the Unix library.
ddraw/tests: Build ddraw1.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddraw2.c without -DWINE_NO_LONG_TYPES.
wined3d: Introduce a wined3d_streaming_buffer helper.
d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
ddraw/tests: Build ddraw4.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddraw7.c without -DWINE_NO_LONG_TYPES.
ntoskrnl/tests: Fix a test failure.
wineusb.sys: Move the libusb_init() and libusb_exit() calls to the Unix library.
wineusb.sys: Pass the device descriptor as part of the event data.
wineusb.sys: Create separate unix devices for each interface.
wineusb.sys: Build with msvcrt.
d3d8: Upload sysmem vertex buffers into the streaming buffer in d3d8_device_DrawPrimitive().
d3d8/tests: Use a nonzero start index in test_sysmem_draw().
d3d9: Upload sysmem vertex buffers into the streaming buffer in d3d9_device_DrawPrimitive().
d3d9/tests: Use a nonzero start index in test_sysmem_draw().
wined3d: Trace the chunk pointer instead of the GL buffer ID in wined3d_device_gl_allocate_memory().
wined3d: Clear the BO map_ptr in wined3d_bo_gl_unmap() even if the chunk is still mapped.
wined3d: Respect the client map count even for suballocated BOs.
wined3d: Pause transform feedback in wined3d_context_gl_draw_shaded_quad().
wined3d: Pause transform feedback in wined3d_context_gl_draw_textured_quad().
wined3d: Do not pause transform feedback after every draw call.
ws2_32/tests: Add some tests for NtReadFile() and NtWriteFile() on sockets.
ntdll: Use the recv_socket request for NtReadFile() on a socket.
ntdll: Use the send_socket request for NtWriteFile() on a socket.
server: Remove the no longer used sock_queue_async() function.
server: Remove the unused "flags" field from struct sock.
server: Do not set the socket state in complete_async_connect().
server: Set the connection time if connect() returns 0.
Zhiyi Zhang (23):
uxtheme/tests: Add more GetThemePartSize() tests in different DPI.
uxtheme: Use system DPI for OpenThemeData() without valid window handles.
atl110: Add importlib.
atl: Avoid NULL pointer reference in AtlComModuleGetClassObject().
atl: Avoid NULL pointer reference in AtlComModuleRegisterClassObjects().
atl: Avoid NULL pointer reference in AtlComModuleRevokeClassObjects().
uxtheme/tests: Use the GetDpiForSystem() function pointer.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Lock display when expecting error events.
winex11.drv: Don't compare error event serial if it's zero.
opengl32/tests: Test wglCopyContext().
explorer: Fix memory leaks.
comctl32/button: Pass the destination rectangle to GetThemePartSize() when painting check boxes.
cryptui: Use 10 DLUs for check box height.
winecfg: Use 10 DLUs for check box height.
winefile: Use 10 DLUs for check box height.
shell32: Correctly check SVSI_EDIT.
shell32: Correctly apply SVSI_FOCUSED.
shell32: Add LVS_SHOWSELALWAYS to the list view in shell views.
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
Ziqing Hui (5):
d2d1/effect: Keep builtin effects in the same list as the custom once.
d2d1/tests: Add tests for ID2D1TransformGraph.
d2d1/tests: Add tests for ID2D1OffsetTransform.
d2d1/tests: Test ID2D1BlendTransform.
d2d1/tests: Test ID2D1BorderTransform.
Alexandre Julliard has announced the release of Wine 7.13 with Gecko engine updated to version 2.47.3, USB driver converted to PE, some themeing improvements, and various bug fixes.