Wine Announcement

The Wine maintenance release 4.0.4 is now available.

What's new in this release (see below for details):
  - Various bug fixes

The source is available from the following locations:

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 4.0.4 (total 65):

  11998  NEXON client installers using embedded IE browser control: buttons don't respond to click (Lunia Senki, Combat Arms, War Rock)
  12406  Microsoft Document Explorer 2008 crashes when using MS Help 2 URL from command line (ieframe's WebBrowser COM object doesn't support aggregation)
  16808  Password Safe crashes with page fault when renaming entries
  20465  Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
  22030  LegoLand: crashes at main menu without native directmusic
  24529  TSDoctor 1.0.58 fails to run
  25264  treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file)
  25728  UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
  30506  GdipGraphicsClear() needs to overwrite pixels, not alpha blend (Text misrendered in Brain Workshop)
  34041  Skyrim (Steam) hangup on quit
  34666  In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
  36388  Problems with Russian localization in page setup dialog
  38300  using winegcc with stdin passes arguments in the wrong position to gcc
  38817  FXCM Trading Station II installer reports 'OLE error 80004001' when running as 'Windows Vista' or higher ('ITaskbarList3::ThumbBarSetImageList' is a stub)
  39692  64-bit dlls/msdaps/row_server_p.c generates build warnings (discarded "const" qualifier)
  40364  Broken geometry in Indiana Jones and the Emperor's Tomb
  40740  Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
  40777  The Moment of Silence launcher unusable (displays only black)
  41639  Wine with freetype 2.7 causes font rendering issues
  41936  The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
  42046  VSDC Video Editor. Crashes in ole32 when opening.
  43368  HashMyFiles: Drag & Drop from native File Managers (Dolphin, Nautilus, ...) does not work
  43817  Multiple .NET applications (Chime, DxO Photolab 2 trial) crash, need  RegisterApplicationRecoveryCallback  to return S_OK
  44408  Tetris for Windows has wrong colors for the game pieces and the score box
  45031  HotS - taking screenshot causes client crash, needs d3dx11_42.dll.D3DX11SaveTextureToFileW
  45732  Far Cry 5 Cannot Steer Land Vehicles
  46279  Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
  46404  Shed installer - text overflow in browse-for-folder dialog
  46417  Abiword 2.6.8 comboboxes should have a white background color
  46421  μTorrent has squares in its update dialog
  46560  Smoke not rendering properly in Castlevania: Lords of Shadow 2
  46578  IVMU Social Network Client (500 series) crashes when selecting menu / settings
  46972  Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
  46981  winetricks -q --verify dotnet461 crashes under win64
  46983  type command in cmd.exe with two files and stdout redirect, behavior is different
  47049  boolean type defined as 'unsigned char' rather than 'char'
  47075  32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
  47101  Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
  47427  Glide wrapper - Configuration buttons misbehaving
  47433  Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
  47459  ListBox LB_SETSEL doesn't scroll to newly selected item
  47615  _putws outputs NULs, other wchar.h functions don't
  47693  ExHIBIT (Sample Project): Can't select menu item in the title screen
  47709  Zoom Edit&Share installer crashes starting with wine-3.19
  47752  commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
  47779  iCloud refuses to install: "Your computer is missing Media features."
  47790  putty.exe displays an error at startup when placed in a path with accented characters.
  47820  Magic: The Gathering Arena installer needs powershell.exe (cannot find it)
  47832  FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer
  47833  FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
  47880  Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
  47918  Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
  47935  Nextiva: Logging in fails with "Client is unable to connect to the server."
  47956  IGMP source specific multicast does not create join requests for source
  47979  NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
  47986  R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
  47991  motec i2 pro v1.0 data logger fails to start
  48016  Multiple applications need shcore.dll.GetScaleFactorForMonitor stub (Karafun player, Sync)
  48077  UPlay fails to start : "Error at hooking API NtProtectVirtualMemory" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
  48082  Visual C++ Express 2005 needs shell32.PathResolveW implementation (or fake success)
  48088  Wrong color mapping with client-side graphics on 256-color X server
  48242  IXMLDOMDocument_load() paths aren't URL-unescaped (Microsoft Document Explorer 2008 startup error)
  48314  Building wine on CentOS7 fails due to lack of libkrb5
  48358  Dell Latitude E6440 BIOS updater crashes on unimplemented function ntoskrnl.exe.KeSetImportanceDpc
  48549  Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6


Changes since 4.0.3:

Akihiro Sagawa (5):
      comctl32/tests: Add tests to show no NM_RELEASEDCAPTURE notifications in the updown control.
      comctl32/updown: Suppress the NM_RELEASEDCAPTURE notification.
      msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
      msvcrt: Fix _mbsspn implementation.
      msvcrt: Reimplement _mbsspnp using _mbsspn.

Alex Henrie (2):
      ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
      ntoskrnl: Add KeSetImportanceDpc stub.

Alexandre Julliard (7):
      ntdll: Always add path separator when looking for a relative path name.
      winex11: Use the default color table for window surfaces on 8bpp displays.
      configure: Disable gssapi also when linking with kerberos doesn't work.
      msi: Use %define api.pure instead of %pure-parser.
      msxml3: Use %define api.pure instead of %pure-parser.
      vbscript: Use %define api.pure instead of %pure-parser.
      wbemprox: Use %define api.pure instead of %pure-parser.

Alistair Leslie-Hughes (6):
      dsound: Primary buffer doesn't support flag DSBCAPS_CTRLFX.
      kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
      dmloader: Stop after find first matching object.
      dmstyle: Add GUID_IDirectMusicStyle support in Style Track GetParam.
      dmime: IDirectMusicSegment8 SetLoopPoints support zero start/end.
      dinput: Cap the buffer size to 20.

Andrew Eikum (1):
      winex11.drv: Throttle calls to XResetScreenSaver.

Andrew Sheldon (1):
      wined3d: Add Navi 10 PCI id and device description.

Bernhard belacker (1):
      cmd.exe: Command type with multiple files should print filenames to stderr.

Byeong-Sik Jeon (2):
      gdi32: Add a helper macro for FreeType version check.
      gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.

Charles Davis (2):
      ntdll: Implement RtlCaptureStackBackTrace() for x86_64.
      winemac.drv: Pass the CAMetalLayer to MoltenVK.

Damjan Jovanovic (12):
      comctl32: Test the treeview edit control EM_LIMITTEXT.
      comctl32: Implement treeview edit control EM_SETLIMITTEXT.
      comctl32: Test treeview text trimming after label editing is complete.
      comctl32: Test text buffer passed to TVN_ENDLABELEDIT is always MAX_PATH chars long.
      comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.
      comctl32: Test overwriting of pszText pointer in TVN_ENDLABELEDIT.
      comctl32: Implement treeview edit control text trimming and overwriting.
      comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply.
      ieframe: Implement COM aggregation in WebBrowser.
      msxml3: All string passed to IXMLDOMDocument_load() need to be URL-unescaped.
      gdiplus: GdipGraphicsClear() should overwrite pixels, not alpha blend.
      winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.

Dmitry Timoshkov (2):
      gdiplus/tests: Add some tests for GdipInitializePalette.
      mshtml: Add support for DIID_HTMLDocumentEvents2 connection point sink.

Ethan Lee (1):
      wined3d: Add Intel HD 615 PCI id and device description.

Fabian Maurer (7):
      comctl32/syslink: Properly handle '\r'.
      shell32: Prevent text truncation inside the old "browse folder" dialog.
      ws2_32: Handle more IGMP socket options.
      comctl32/tests: Add combo tests for WM_CTLCOLOR*.
      comctl32/combo: Properly handle WM_CTLCOLOR* messages.
      user32/tests: Add combo tests for WM_CTLCOLOR*.
      user32/combo: Properly handle WM_CTLCOLOR* messages.

Felix Hädicke (1):
      msvcrt: Use memmove() instead of memcpy() puts_clbk_str().

Gijs Vermeulen (2):
      msvcrt: Add Concurrency::details::_Context::_Yield stub.
      shell32: Implement PathResolve.

Isira Seneviratne (1):
      jscript: Replace '%pure-parser' with '%define api.pure'.

Jacek Caban (2):
      kernel32: Terminate process in unhandled exception handler.
      include: Add roerrorapi.h header.

Jeff Smith (3):
      kernelbase: Fix PathAllocCanonicalize handling segments that contain dots.
      kernel32: Quote first command line arg in process paramenters.
      user.exe16: Releasing DC does not disable it.

Joseph Kogut (1):
      iphlpapi: Report success in NotifyIpInterfaceChange.

Ken Thomases (1):
      winemac: Only manipulate an NSOpenGLContext's view on the main thread.

Kevin Puetz (1):
      winegcc: Correctly pass the '-' file name (stdin) to the compiler.

Liam Middlebrook (1):
      d3dx11: Add D3DX11SaveTextureToFileA/W() stub.

Louis Lenders (5):
      wine.inf: Add value for DigitalProductId.
      kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
      wine.inf: Install powershell.exe in WindowsPowerShell/v1.0/.
      include: Add restrictederrorinfo.idl.
      combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.

Matteo Bruni (1):
      d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().

Michael Müller (3):
      wine.inf: Create the WindowsMediaVersion key and set its default value.
      ole32: Fix property name handling for dictionary entries in CP_UNICODE case.
      setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.

Myah Caron (1):
      kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.

Nikolay Sivov (4):
      po: Fix Russian strings for page setup dialog.
      comctl32/rebar: Fix invalid band index access.
      explorerframe: Return success from ThumbBarSetImageList().
      user32/listbox: Update caret index on LB_SETSEL.

Patrick Hibbs (1):
      wtsapi32: Make WTSRegisterSessionNotificationEx's return consistent with WTSRegisterSessionNotification.

Paul Gofman (7):
      wined3d: Allow loading buffers mapped through system memory.
      ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
      ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
      d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
      user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
      ntdll: Add DECLSPEC_HOTPATCH to NtProtectVirtualMemory().
      d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.

Piotr Caban (4):
      wbemdisp: Handle NULL signatures in init_members.
      msvcrt: Fix _putws implementation.
      msi: Fix component Action for shared components in CostFinalize.
      ntdll: Work around futimens weak linking problem in set_file_times.

Richard Pospesel (1):
      widl: Use FC_CHAR rather than FC_BYTE for boolean typedef to match midl.exe output.

Rémi Bernon (3):
      widl: Cast freed pointers to void* to fix discarded-array-qualifiers warning.
      dinput: Increase device buffer size to 1024.
      opencl: Define CL_TARGET_OPENCL_VERSION 220 to fix a header warning.

Vijay Kiran Kamuju (1):
      shcore: Add stub for GetScaleFactorForMonitor.

Vincent Povirk (1):
      regsvr32: Re-exec as 32-bit or 64-bit if necessary.

Zebediah Figura (2):
      winex11: Track the client colormap separately.
      qedit/mediadet: Check for failure from IEnumPins::Next().

Zhiyi Zhang (1):
      kernelbase/tests: Add more PathAllocCanonicalize tests.

Michael Stefaniuc