Wine Announcement

The Wine stable release 7.0.2 is now available.

What's new in this release:
  - Various bug fixes

The source is available at:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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.0.2 (total 43):

 - #36711  Sid Meier's Civilization IV crashes while loading saved game ( complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
 - #39346  Lego Rock Raiders crashes on startup (d3drm_device_init doesn't handle device version 3 case)
 - #40444  Find doesn't jump to a found item in WinSCP when editing a file
 - #42751  Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
 - #42857  Can't select a fixture in FreeStyler's fixture editor
 - #44814  cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
 - #46822  Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
 - #47375  Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
 - #48487  MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
 - #48600  Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
 - #49285  PNotesPortable crashes inside WritePrivateProfileStructW
 - #50948  taskmgr.exe: wrong memory usage unit (GB => MB)
 - #51788  windowscodecs:wmpformat test_decode() fails randomly
 - #51842  include/winnt.h:403:50: error: size of unnamed array is negative
 - #52457  CNG Encryption Failure (BCryptEncrypt)
 - #52534  ListView: multi select never sends LVN_ODSTATECHANGED
 - #52545  ACE rights parser should allow octal and decimal formats
 - #52686  DateAdd not implemented
 - #52831  Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
 - #52841  Leverless arcade controller SOCD cleaning does not work
 - #52972  wineusb.sys: add_usb_device erroneously releases critical section on failure path
 - #52975  VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll" failed to initialize, aborting
 - #53003  XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices (MIDI running status isn't supported in the MIDI mapper)
 - #53005  quartz:systemclock Fails after timeGetTime() wraps
 - #53027  Port Royale 4 crashes with wined3d_texture*
 - #53032  winedevice.exe segfaults on exit when built with GCC
 - #53051  Kvaser software crashes on unimplemented function ntoskrnl.exe.ExNotifyCallback
 - #53123  ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
 - #53169  Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
 - #53170  Rich edit control becomes unstable or trips assertion after changing TextFont properties
 - #53234  nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
 - #53310  Roblox Fails With HttpSendRequest
 - #53335  Crash when converting an rich text editor already containing text into a password input
 - #53455  shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
 - #53569  postgresql installer 9.3 needs correct string length returned from fso.GetTempName
 - #53587  comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
 - #53614  KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
 - #53645  AIMP 3 causes memory leaks
 - #53706  NtDeviceIoControlFile() is quite slow when called with and invalid handle
 - #53714  SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
 - #53800  CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType
 - #53821  winbase.h: ReOpenFile declaration missing (and not available in any other header)
 - #53832  wbemprox: where-clause seems to be case-sensitive


Changes since 7.0.1:

Akihiro Sagawa (2):
      midimap: Handle MIDI running status.
      mciqtz32: Fix thread handle leak if a second play.

Alex Henrie (3):
      ntoskrnl: Add ExNotifyCallback stub.
      ntdll: Don't hard-code the battery and AC adapter names on Linux.
      user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).

Alexandre Julliard (5):
      shell32: Don't return an uninitialized pointer on error in enum_trash_items().
      urlmon/tests: Fix race condition in abort test.
      mountmgr: Don't crash if connecting to dbus fails.
      gdiplus: Get the compositing mode directly from the graphics object.
      gitlab: Add workaround for more strict git ownership check.

Alistair Leslie-Hughes (8):
      d3drm: Support IDirect3D3 when creating device.
      ntdll: Check return parameter before use.
      ntdll: RtlFirstFreeAce only return FALSE on error.
      ntdll/tests: Add RtlFirstFreeAce tests.
      dsdmo: Add Echo FX Support.
      dsdmo: Add Compressor FX Support.
      odbc: SQLGetInfoW allow NULL parameter InfoValue.
      crypt32: Only report Unimplemented decoder when not found in external dll.

Angelo Haller (9):
      comctl32/tests: Add hold_key and release_key functions.
      comctl32/tests: Add multi select tests for ownerdata listviews.
      comctl32/tests: Add change sequence for ownerdata listviews.
      comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
      comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
      comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
      comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
      comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
      comctl32/tests: Add more ownerdata listview tests.

Claire Girka (1):
      winepulse: Fix memory leak in pulse_create_stream in some error cases.

Daniel Lehman (1):
      kernelbase: Pass va_list copy to internal RtlFormatMessage.

David Curtiss (1):
      ws2_32: Allow getsockname after AcceptEx.

David Kahurani (2):
      win32u: Use allocator mechanism to allocate DC attributes.
      ieframe: Fix memory leak in open_dde_url.

Dmitry Timoshkov (2):
      comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED context.
      sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.

Eric Pouech (2):
      wldap32: Fix compilation in 32-bit.
      winedbg: Fix retrieving integral values.

Esme Povirk (1):
      wmphoto: Zero user buffer before calling jxrlib Copy.

Fabian Maurer (1):
      kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.

Gijs Vermeulen (2):
      dbghelp: Add SymSrvGetFileIndexInfo stub.
      msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.

Hans Leidekker (4):
      wininet: Remove assertion that is no longer valid in Windows 10.
      wininet: Always reset the second input buffer in netcon_secure_connect_setup().
      bcrypt: Force symmetric key reset if necessary.
      wbemprox: WQL string comparisons are case insensitive.

Hugh McMaster (1):
      conhost: Set correct face name when the specified font is not available.

Huw D. M. Davies (1):
      nsi: Use the correct members for the error and discard counts.

Jeff Smith (2):
      d3drm/tests: Clean up some magic values.
      d3drm: Fix components of palette built when loading texture from file.

Jinoh Kang (3):
      wineusb.sys: Remove erroneous call to LeaveCriticalSection() in add_usb_device.
      riched20: Commit and wrap paragraphs after changing text properties.
      riched20: Ensure MEPF_COMPLEX is unset when in password input mode.

Kevin Puetz (2):
      winecrt0: Remove free_delay_imports.
      vbscript: Don't abort when trying to TRACE() functions with many arguments.

Limstash Wong (1):
      taskmgr: Fix the unit in memory usage graph on performance tab.

Louis Lenders (1):
      msvcr80: Update manifest resource.

Martin Storsjö (2):
      include: Add declarations of _alloca and alloca for MSVC mode.
      ntdll: Add SEH unwind info in ARM assembly functions/trampolines.

Mihail Ivanchev (1):
      include: Add prototype for ReOpenFile().

Nikolay Sivov (2):
      vbscript: Implement DateSerial().
      vbscript: Implement DateAdd().

Paul Gofman (3):
      msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
      crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
      winhttp/tests: Avoid race condition on closing connection in server_thread().

Piotr Caban (4):
      msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
      msvcrt: Fix _wputenv_s return value on error.
      msvcrt: Fix _putenv_s return value on error.
      msvcrt: Fix _wputenv_s invalid argument handling.

Robert Wilhelm (4):
      scrrun: Added DateCreated property for IFile.
      scrrun: Add test for correct string length returned from GetTempName.
      scrrun: Correct string length returned from GetTempName.
      scrrun: Avoid memory leak in error case.

Rémi Bernon (2):
      winebus.sys: Implement SOCD neutral cleaning for hatswitches.
      server: Avoid using pointer value after realloc.

Santino Mazza (3):
      riched20/tests: When selection is out of view, the scrollbar should move.
      riched20: Ensure that cursor is visible when selecting text.
      jscript: Return ParseProcedureText when compile fails.

Sebastian Lackner (1):
      ntdll: Improve stub of NtQueryEaFile.

Tim Clem (1):
      kernelbase: Don't assume the length of the process image name.

Torge Matthies (8):
      msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
      msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
      msvcr100: Add _StructuredTaskCollection::_Schedule stub.
      msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
      msvcr100: Implement invalid_multiple_scheduling exception.
      msvcr100: Factor out the mapping of a context to a scheduler.
      msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
      msvcp90: Fix segfault in bad_alloc exception default constructor.

Zebediah Figura (7):
      quartz/systemclock: Use timeGetTime() to retrieve the current time.
      wined3d: Correctly handle 3D textures in wined3d_view_{load, invalidate}_location().
      ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
      xslt: Use win32config.h from the correct directory.
      ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
      msvcrt: Add SEH annotations for sse2_memcpy().
      libwine: Avoid comparing the result of pointer arithmetic to zero.

Zhiyi Zhang (14):
      shell32: Correct SHOpenFolderAndSelectItems() prototype.
      include: Add SHOpenFolderAndSelectItems() declaration and flags.
      shell32/tests: Add SHOpenFolderAndSelectItems() tests.
      shell32: Implement SHOpenFolderAndSelectItems().
      comctl32/tests: Add GetWindowSubclass() tests.
      comctl32: Check reference data pointer before using it.
      comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
      comctl32/edit: Don't repaint immediately when getting focus.
      winex11.drv: Handle X errors from glXCopyContext().
      winex11.drv: Don't compare error event serial if it's zero.
      winegstreamer: Always check the return value from mf_media_type_from_wg_format().
      gdi32/tests: Add more tests for GetTextMetrics().
      win32u: Choose a smaller ppem to avoid exceeding the requested font height.
      win32u: Fix a memory leak.