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 julliard@xxxxxxxxxx