WineHQ

Wine Announcement

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@winehq.org