The Wine maintenance release 4.0.2 is now available.

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

The source is available from the following locations:

  https://dl.winehq.org/wine/source/4.0/wine-4.0.2.tar.xz
  http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.2.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 4.0.2 (total 66):

  15934  Can't see Worms 2 intro films as they play (mciavi32 missing support to MCI_MCIAVI_PLAY_FULLSCREEN)
  18099  No keyboard response in Super Mario 3 remake
  19098  Regedit randomly crashes when deleting registry keys
  21403  Shiva Editor/Evochron: Mercenary refuse to run with built-in dinput/dinput8.dll
  23455  FileAlyzer 1.6.0.4, Affinity-installer-1.6.5.123 can't load PE images (needs imagehlp.ImageLoad and imagehlp.ImageUnload implementation)
  26445  URLDownloadToFileW does not support FTP URLs
  28847  LabChart Reader 7.x crashes due to missing wmvcore 'IWMProfileManager2', CLSID '{7a924e51-73c1-494d-8019-23d37ed9b89a}'
  33845  Warframe (Steam) updater fails to replace 'Launcher.exe', reports sharing violation
  33904  Face Noir demo crashes on start without native d3dx9_36 ('D3DXLoadSkinMeshFromXof' must return 'ID3DXSkinInfo' interface even with no skinning info present)
  36764  Rogue Squadron 3D 1.3: Unable to setup controller in-game
  37784  wine-mono does not appear in "wine uninstaller" list on a 64-bit prefix
  37871  GOG.com downloader (.NET 3.5 app) wants wininet.GetUrlCacheConfigInfoA/W implementation
  38087  Settlers III: mouse not working on start screen and menu (after fixing raw input bug 33479)
  43356  Mass Effect (1) Steam freezes since Steam Update from 8th of July 2017
  43411  Older directx games (The Sims, Revenant) - Screen not redrawing properly (needs Set/GetClipStatus implementation)
  44423  Office 2007/2010 32bit - links not working
  45429  Inno Setup v5.x based game-installers using 'wintb' plugin fail with: 'Runtime error 229 at <address>' (Win7+ ITaskbarList3 ThumbBar/Thumbnail semi-stubs needed)
  45543  Multiple games and applications crash in dwrite due to invalid index access to cluster array (Rekordbox 5.3.0, SpellForce 3)
  45703  Microsoft Office 365 applications crash on startup (Microsoft AppV ISV virtual filesystem technology requires several native and core API to be hot-patchable)
  45878  Aruba digital signature crashes on missing hid.dll.HidD_FlushQueue
  46019  Multiple NSIS 2.x based installers fail due to invalid module handle passed to 'kernel32.FreeLibrary', causing code dll unmapped as data dll (Adobe Digital Editions 4.5.x, ConceptDraw Office 4)
  46115  Cursor in unity games moving down and to the right one pixel on any mouse interaction
  46187  Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to unhandled trap_no 0 (write watch access causes SIGSEGV)
  46189  Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to ntdll 'set_cpu_context' not restoring Thumb mode during return from exception handling
  46316  Hauppauge Capture version 36187 crashes during install
  46371  FFXI + Ashita random crash ingame
  46579  F.E.A.R. 2: Project Origin screen is completely light grey while playing intro movie
  46626  UPlay fails to start : "Error at hooking API LoadStringA" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
  46706  Eventide H9 Control crashes on unimplemented function bthprops.cpl.BluetoothFindDeviceClose
  46711  Since 3.3 other HID devices than Joysticks not supported anymore
  46712  Atelier Firis config tool crashes with "Unhandled page fault on execute access"
  46713  School days HQ occasional divide by zero
  46721  Two quotes together (in outer quotes) not parsed correctly in argv
  46754  Multiple application installers fail in VBscripts due to IWshEnvironment::Item property returning BSTR with embedded null terminator (PostgreSQL 9.3)
  46761  BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool
  46772  Creo Elements/Direct Modeling Express 6.0 installer fails with VBScript parser error: parser_lex '_' not followed by newline
  46800  LINE (Powered by Naver): LINE v5.12.XXX series crashes after few seconds
  46807  The Sims hangs when opening menus
  46811  Inquisitor: black screen after start in fullscreen mode
  46812  PS4 Remote Play installer 2.8.x fails, claims 'You need the Media Feature Pack' (MsiGetDatabaseState is called from a custom action)
  46845  Freelancer: character glitches in cutscenes after loading a saved game
  46848  PTC Mathcad Prime 3.0 Web installer crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.wctrans
  46863  If prefix contains "windows" drive information not available in 64-bit prefix
  46881  Power World Simulator installer needs unimplemented function msi.dll.MsiSourceListForceResolutionW
  46894  SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails in CoreLib::GetPhysicalMemoryAmountWmi() (missing 'DeviceLocator' property of 'Win32_PhysicalMemory' WMI class)
  46895  SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails due to missing 'OperatingSystemSKU' property of 'Win32_OperatingSystem' WMI class
  46899  SIMATIC WinCC V15.1 Runtime installer: user can't accept license terms (richedit20 ITextRange::ScrollIntoView lacks handling of 'tomEnd')
  46902  SIMATIC WinCC V15.1 Runtime installer: S7Inst64.exe sub-installer crashes on unimplemented function msvcr110.dll._wcsnset_s
  46903  SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext
  46906  SIMATIC WinCC V15.1 Runtime installer: SeCon tool 'SeCon_Win32.exe' crashes due to hnetcfg 'INetFwRules::get__NewEnum' not initializing out parameter
  46908  Support msvcp mtx_init 'mtx_try' flag (0x2) to create a mutex object that supports test and return
  46909  Missing (black) textures in Black & White
  46923  X-Tension, X-Beyond The Frontier: Dynamic light breaks after opening up a menu
  46928  Atelier Firis config tool doesn't show up when launched through Steam
  46939  propvarutil.h: missing extern "C"
  46953  Watch_Dogs crashes after intro
  46971  Multiple Steam games crash with Wine 4.6 (Steam Game Overlay Renderer hook engine requires several API to be hot-patchable) (Sniper Elite V2, Sniper Elite 3, Brawlhalla)
  46989  Grand Prix Legends: Wheel (Wheel, Gas, Brake) axes inputs aren't recognized
  46996  Improvements to the 7.1 and 5.1 to stereo conversion
  47009  msi x64 installation file created by Visual Studio cannot be uninstalled
  47022  Multiple performance monitor applications fail to display system physical/committed virtual memory usage (Sysinternals Process Explorer v16.x, builtin Taskmgr)
  47031  widl generates invalid typelib when importing types from multiple typelibs
  47051  Microsoft Excel 2016 (Office 365) crashes on startup (Microsoft AppV ISV virtual filesystem technology requires kernel32.CreateActCtxW to be hot-patchable)
  47065  Vocaloid 5 (.NET 4.x app) crashes on startup (needs 'Win32_OperatingSystem' WMI class 'SystemDrive' property)
  47183  Grand Prix Legends: Only the first two axes are recognized
  47262  compile error: ‘for’ loop initial declarations are only allowed in C99 mode

----------------------------------------------------------------

Changes since 4.0.1:

Alexandre Julliard (2):
      kernel32: Validate handle before freeing a LOAD_LIBRARY_AS_DATAFILE module.
      ntdll: Check for time conversion error to silence a compiler warning.

Alistair Leslie-Hughes (7):
      regedit: Grow the buffer when modifying a DWORD value.
      urlmon: Pass unescaped URLs to InternetOpenUrl in ftp protocol handler.
      hid: Implement HidD_FlushQueue().
      dinput: Ensure Cursor is visible on config dialog.
      dinput: Allow enumeration of joysticks with DirectX 3.
      dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
      vbscript: Move variable declaration outside of for.

Andrey Gusev (2):
      dxgi: Add DECLSPEC_HOTPATCH to d3d11_swapchain_Present().
      setupapi: Add DECLSPEC_HOTPATCH to SetupDiEnumDeviceInfo().

André Hentschel (5):
      ntdll: Add stub for RtlInstallFunctionTableCallback on ARM/ARM64.
      ntdll: Adjust PC according to THUMB/ARM flag.
      kernel32: Add forward for RtlInstallFunctionTableCallback on ARM/ARM64.
      include: Fix vararg standard call types for ARM.
      ntdll: Translate signal to trap when trap code is 0 on ARM.

Austin English (1):
      propvarutil.h: Add extern "C" if __cplusplus is defined.

Brendan McGrath (1):
      kernel32: Allow double quote style escape in argv.

Bruno Jesus (1):
      mciavi32: Add Support for MCI_MCIAVI_PLAY_FULLSCREEN.

Claudio Fontana (1):
      kernel32: Allow empty profile section and key name strings.

Dmitry Timoshkov (1):
      wininet: Return proper cache path from GetUrlCacheConfigInfo.

Gijs Vermeulen (8):
      wmvcore: Upgrade to IWMProfileManager2.
      ntoskrnl.exe: Add MmBuildMdlForNonPagedPool stub.
      msvcr120: Add [to]wctrans.
      hnetcfg: Initialize INetFwRules::get__NewEnum out parameter.
      msvcrt: Implement _wcsnset_s.
      mssign32: Add SignerSignEx stub.
      mssign32: Implement SignerFreeSignerContext.
      riched20: Handle tomEnd in ITextRange::ScrollIntoView.

Hans Leidekker (3):
      wbemprox: Implement Win32_PhysicalMemory.DeviceLocator.
      wbemprox: Implement Win32_OperatingSystem.OperatingSystemSKU.
      wbemprox: Implement Win32_OperatingSystem.SystemDrive.

Henri Verbeet (1):
      wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.

Józef Kucia (1):
      dxgi: Do not forward d3d11_swapchain_Present() to d3d11_swapchain_Present1().

Louis Lenders (8):
      bthprops.cpl: Add BluetoothFindDeviceClose stub.
      explorerframe: Return S_OK in ITaskbarList3 SetThumbnailTooltip method.
      explorerframe: Return S_OK in ITaskbarList3 ThumbBarAddButtons.
      explorerframe: Return S_OK in ITaskbarList3 ThumbBarUpdateButtons method.
      msi: Add MsiSourceListForceResolution{A,W} stub.
      ntdll: Add DECLSPEC_HOTPATCH to NtQueryDirectoryFile.
      ntdll: Add DECLSPEC_HOTPATCH to NtQueryValueKey.
      kernel32: Add DECLSPEC_HOTPATCH to CreateActCtx.

Mark Jansen (1):
      imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.

Matteo Bruni (8):
      d3d9: Release system memory wined3d buffer only after the draw buffer is destroyed.
      d3d8: Release system memory wined3d buffer only after the draw buffer is destroyed.
      d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats.
      d3d8: Return failure in CheckDeviceFormat() for unsupported adapter formats.
      wined3d: Set display mode to a suitable adapter format.
      d3d9: Validate vertex stride in Draw[Indexed]PrimitiveUP().
      d3d8: Validate vertex stride in Draw[Indexed]PrimitiveUP().
      wined3d: Avoid a GCC 8 warning.

Michael Müller (2):
      imagehlp: Implement ImageLoad and cleanup ImageUnload.
      d3dx9/tests: Add initial tests for dummy skin info interface.

Nikola Pavlica (2):
      dsound: Revised 5.1 to stereo downmix.
      dsound: Added 7.1 to stereo downmix.

Nikolay Sivov (4):
      user32: Do not touch some of the values on 64-bit with SetWindowLong().
      user32: Make GetWindowLong() fail for some values on 64-bit.
      wshom.ocx: Fix string length returned from Check returned BSTR length.
      dwrite/layout: Fix invalid index access to cluster array.

Paul Gofman (4):
      ddraw: Deny adding the same light to viewports multiple times.
      ddraw: Fix ddraw[1-4] light activation / deactivation.
      ddraw: Improve d3d_device7_GetClipStatus() stub.
      xaudio2_7: Also preserve %ebx in call_on_voice_processing_pass_start().

Piotr Caban (5):
      msvcrt: Don't detect overflow in atol implementation.
      msvcrt: Use correct locale when comparing strings in getenv.
      msvcp90: Add support for more creation flags in _Mtx class.
      msvcp140: Don't forward __ExceptionPtrDestroy to msvcr120.
      msvcr110: Fix __crtGetShowWindowMode implementation.

Sebastian Lackner (4):
      server: Improve handling of cursor position clipping for empty rectangle.
      winex11: Forward all clipping requests to the right thread.
      dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.
      dinput: Avoid deadlock when CS are acquired in different order.

Thomas J. Moore (1):
      ntdll: Also try to stat() the drive root.

Tim Schumacher (2):
      winejoystick: Add support for wheel axes.
      dinput: Map wheel, gas, and brake axes as well.

Vijay Kiran Kamuju (3):
      d3dx9: Generate ID3DXSkinInfo in D3DXLoadSkinMeshFromXof() when needed.
      ntdll: Report system information SystemPerformanceInformation info class.
      wpcap: Fix compile warnings for redefinition of PCAP_OPENFLAG_PROMISCUOUS.

Vincent Povirk (1):
      uninstaller: Re-exec as 64-bit in wow64.

Vlad Bespalov (1):
      user32: Make LoadString[AW] patchable.

Zebediah Figura (12):
      mshtml: Open pages in the native browser in HlinkTarget_Navigate().
      vbscript: Handle carriage return in more places.
      hid: Fix length argument to GetOverlappedResult().
      msi/tests: Test calling more functions from custom actions.
      msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
      msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
      winebus.sys: Retrieve hidraw device strings from the parent USB device.
      hid: Implement HidD_GetIndexedString().
      devenum: Return S_FALSE from CreateClassEnumerator() if no devices exist.
      d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
      d3d8/tests: Port test_draw_primitive() from d3d9.
      widl: Correctly set the import library offset for all imported types.

Zhiyi Zhang (2):
      kernel32: Open replaced file without GENERIC_WRITE in ReplaceFileW().
      dinput: Fix a possible deadlock at exit.

--
Michael Stefaniuc
mstefani@winehq.org
