Wine Announcement

The Wine development release 1.9.19 is now available.

What's new in this release (see below for details):
  - Initial version of a udev bus driver for HID.
  - Various improvements in joystick support.
  - Initial implementation of DC rendering in Direct2D.
  - Improved metafile support in GDI+.
  - 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 1.9.19 (total 19):

  10643  WinUAE settings window reappears after being dismissed
  17351  PDF Export problem on Delphi 7 applications
  19998 installer hangs
  27415  The Geometer's Sketchpad 5.03 does not display pictures. "fixme:gdiplus:GdipGetMetafileHeaderFromMetafile not implemented"
  29916  ElsterFormular cannot make use of default PDF viewer (e. g. Okular)
  34489  Can't use VSTi altiverb fst.exe crashes
  37259  Multiple Direct2D applications need ID2D1DCRenderTarget::BindDC implementation
  37628  KORG Legacy Collection - MS-20 v1.3.0 'Authorizer' app crashes, No Limits 2 help system does not render ('d2d_factory_CreateDCRenderTarget' is a stub)
  39246  user32:edit fails in Japanese and Korean locales
  40325  Captvty v3 (.Net4.5) crashes at start
  40533  Microsoft PowerPoint Viewer 14.0 shows error dialog when clicking System Info button (msinfo32.exe unimplemented)
  40746  Microsoft Expression Web 4 crashes when opening site, needs rpcrt4.dll.NdrAsyncServerCall
  41085  Unimplemented function msvcp140.dll._Thrd_id needed by
  41217  Xebra ALSA underrun occurred
  41224  WineD3D8 crashes on Windows with GTAVC and i915-class video
  41274  QQ Lite version called unimplemented function vcomp100.dll._vcomp_reduction_r8, aborting
  41284  dbghelp_dwarf: parse_cie_details unknown CIE version 4 (clang/mesa/valgrind)
  41287  2050 IP Softphone - UI does not render correctly
  41296  World of Tanks (9.16) crashes with unimplemented function vcruntime140.dll.__std_type_info_hash


Changes since 1.9.18:

Akihiro Sagawa (1):
      imm32: Set the default IME window title and styles as in native.

Alexandre Julliard (21):
      user32: Implement GetUpdatedClipboardFormats.
      user32/tests: Add a few more tests for synthesized formats rendering.
      user32: Synthesize text clipboard formats on the user32 side.
      user32: Synthesize metafile clipboard formats on the user32 side.
      user32: Synthesize bitmap clipboard formats on the user32 side.
      winex11: Remove support for synthesizing clipboard formats.
      user32: Clear last error in EnumClipboardFormats.
      user32/tests: Make the clipboard sequence tests more strict.
      user32/tests: Add more tests for GDI and private clipboard formats.
      kernel32: GMEM_FIXED blocks cannot be 0 size.
      kernel32: Avoid getting the heap lock inside an exception handler block.
      user32/tests: Add more tests for clipboard data storage.
      user32/tests: Comment out a test that crashes on 64-bit Vista.
      user32: Fix GetClipboardFormatName behavior for integer formats.
      user32: Clean up clipboard debug traces.
      server: Return the owner window in the release_clipboard request.
      server: Return the owner window in the close_clipboard request.
      user32/tests: Add some tests for the contents of the clipboard data.
      user32: Use GetDIBits to retrieve the bitmap header when synthesizing a DIB.
      winex11: Merge named formats into the builtin clipboard formats table.
      winex11: Get rid of the X11DRV_CLIPBOARD_SerializeMetafile helper.

Alistair Leslie-Hughes (3):
      ws2_32: Accept shouldn't fail when addrlen32 is NULL.
      comdlg32: Clear the filename text on OPEN_BROWSE.
      comdlg: Select all text when enter is pressed.

Andrey Gusev (16):
      api-ms-win-core-shlwapi-obsolete-l1-1-0: Add dll.
      api-ms-win-core-localization-obsolete-l1-2-0: Add dll.
      api-ms-win-core-privateprofile-l1-1-1: Add dll.
      api-ms-win-core-registryuserspecific-l1-1-0: Add dll.
      api-ms-win-core-sidebyside-l1-1-0: Add dll.
      api-ms-win-core-stringansi-l1-1-0: Add dll.
      api-ms-win-core-versionansi-l1-1-0: Add dll.
      api-ms-win-core-atoms-l1-1-0: Add dll.
      api-ms-win-core-kernel32-private-l1-1-1: Add dll.
      api-ms-win-core-apiquery-l1-1-0: Add dll.
      api-ms-win-core-realtime-l1-1-0: Add dll.
      api-ms-win-core-localization-l2-1-0: Add dll.
      api-ms-win-shell-shellcom-l1-1-0: Add dll.
      api-ms-win-core-winrt-errorprivate-l1-1-1: Add dll.
      api-ms-win-core-windowserrorreporting-l1-1-0: Add dll.
      api-ms-win-core-localization-private-l1-1-0: Add dll.

André Hentschel (5):
      kernel32/tests: Allow ERROR_ACCESS_DENIED for GetThreadContext.
      setupapi/tests: Also check for ERROR_CALL_NOT_IMPLEMENTED at the second call to SetupDiCreateDeviceInfoListExW.
      loader/wine.inf: Open pdf files using winebrowser.
      kernel32/tests: Don't test CloseHandle.
      setupapi/tests: Try to delete pre-existing key.

Aric Stewart (7):
      winebus.sys: Add stub driver.
      ntoskrnl.exe: Implement IoGetAttachedDevice and IoGetAttachedDeviceReference.
      winebus.sys: Add initial udev stub driver.
      winebus.sys: Implement udev device enumeration.
      winebus.sys: Create bus devices.
      winebus.sys: Implement IRP_MN_QUERY_ID.
      ntoskrnl.exe: Implement loading plug and play devices.

Austin English (2):
      msinfo32: Add stub program.
      api-ms-win-core-threadpool-l1-1-0: Add dll.

Bruno Jesus (15):
      ws2_32: Debug the ioctl code name whenever possible.
      dinput: Only complain for unsupported effect envelope if it really is useful.
      ws2_32/tests: Add non-interactive SIO_ADDRESS_LIST_CHANGE tests.
      winejoystick.drv: Test for new joysticks in intervals of 2 seconds.
      ws2_32: Use correct WS_ prefixed family.
      xinput1_4: Remove XInputGetDSoundAudioDeviceGuids and add XInputGetStateEx to spec file.
      xinput1_3: Test every xinput DLL version.
      xinput1_3: Test proper no new data error from XInputGetKeystroke.
      dinput: Handle NULL effect envelope before testing its parameters.
      dinput: Remove trailing space from debug string.
      po: Update Brazilian Portuguese translation.
      ws2_32/tests: Add more SIO_ADDRESS_LIST_CHANGE tests.
      ws2_32: Fix handling of POLLHUP in WSAPoll.
      dinput: Fix phase conversion on periodic effects.
      dinput: Improve linux effect debugging.

Daniel Lehman (1):
      msvcp140: Add _Thrd_id.

David Keijser (1):
      kernel32: Forward CAL_RETURN_GENITIVE_NAMES to GetLocaleInfo().

Dmitry Timoshkov (10):
      gdiplus: Implement GdipCreateMetafileFromStream.
      gdiplus: Implement GdipGetMetafileHeaderFromMetafile.
      gdiplus: Implement GdipCreateMetafileFromFile.
      gdiplus: Implement GdipGetMetafileHeaderFromWmf.
      gdiplus: Implement GdipGetMetafileHeaderFromStream.
      gdiplus: Implement GdipGetMetafileHeaderFromFile.
      windowscodecs: Avoid extra conversion step BGR->RGB when converting 32bpp BGRA to 24bpp RGB.
      windowscodecs: Add support for 32bppGrayFloat format.
      windowscodecs: Add support for converting to 8bpp grayscale format.
      windowscodecs: Add support for converting 32bpp grayscale float to 24bpp BGR format.

Hans Leidekker (7):
      webservices: Implement WsWriteArray.
      webservices: Add support for optional and nillable fields in the reader.
      webservices/tests: Add another repeating element test.
      include: Fix aligment of some Web Services structures.
      msi: Use proper return types in msi_table_apply_transform.
      msi: Use proper return types in MSI_RecordSetStreamFromFileW.
      qmgr: Job error codes are HRESULT values.

Henri Verbeet (1):
      d3drm/tests: Fix some reference leaks.

Huw D. M. Davies (9):
      user32/tests: ValidateRect(NULL, &rect) on >= Win 8 no longer invalidates all windows.
      user32/tests: On Win 8 and later, moving a window off-screen doesn't crop its update region.
      webservices/tests: Initialise dictionary to NULL.
      rpcrt4/tests: Win 8 and 10 do not correctly unmarshal a ranged enum16.
      winmm/tests: Pass the full size of MIDIHDR to midiOutPrepareHeader().
      winmm/tests: Call CoInitialize() to enable tests to run on Win 10.
      winmm/tests: Add a small Sleep() to prevent a notification test from failing.
      winmm/tests: Remove a test that can crash on Win 8 and 10.
      user32/tests: Add space for the mask data to prevent failures on Win 8 and 10.

Jacek Caban (8):
      dbghelp: Removed no longer needed wine_rb_destroy call.
      msctf: Added IID_ITfThreadFocusSink support to AdviseSink.
      taskschd: Added ITaskDefinition::get_Triggers implementation.
      taskschd/tests: Fixed tests on win10.
      rbtree.h: Take wine_rb_entry as wine_rb_remove argument type and add new wine_rb_remove_key helper using key.
      mshtml: Use rb tree instead of list to map nsIDOMWindowProxy to HTMLOuterWindow.
      mshtml: Use IUnknownVtbl in wrapper_vtbl.

Kai Blaschke (1):
      bcrypt/tests: Show that BCryptGetFipsAlgorithmMode checks a registry key.

Michael Stefaniuc (11):
      mshtml: Avoid using the COM method implementations directly.
      d3d9: Avoid a cast from a COM object to an interface.
      sti: Standardize COM aggregation in StillImage.
      msdaps: Use the proper COM method wrappers.
      oleaut32: Avoid casts from COM objects to interfaces.
      urlmon: Avoid a cast from a COM object to an iface.
      mscoree: Use the proper COM method wrappers.
      mscoree: There can be only one QI implementation in a COM object.
      msi: Use CONTAINING_RECORD() to get from a field to a struct.
      quartz: Use the proper COM method wrappers.
      oleaut32/tests: Avoid casts from COM object to interface.

Nikolay Sivov (8):
      d2d1/tests: A DC target test for switching from one HDC to another.
      dbghelp: Support CIE version 4 in parse_cie_details().
      d3d11/tests: Extend GetDC() tests.
      d2d1/tests: Test that target properties are kept during BindDC().
      d3d11: Enabled GetDC() capability for 2D textures.
      dxgi: Added partial implementation of GetDC()/ReleaseDC().
      d2d1: Initial implementation of DC render target.
      mshtml: Use proper constants as HRESULT return values.

Piotr Caban (3):
      user32: Fix DefWindowProc(WM_NCRBUTTONDOWN) tests on Win 8 and 10.
      ucrtbase: Add __std_type_info_hash implementation.
      msvcp140: Fix locale class structure.

Sebastian Lackner (41):
      jscript: Simplify jsstr_release implementation.
      jscript: Fix definition of JSSTR_MAX_LENGTH.
      vcomp: Implement _vcomp_reduction_{u,i}4 and add tests.
      vcomp: Implement _vcomp_reduction_{u,i}2 and add tests.
      vcomp: Implement _vcomp_reduction_{u,i}1 and add tests.
      server: Do not store unix_pid in process_snapshot struct.
      jscript: Change prototype of jsstr_alloc_buf and fix some error handling issues.
      jscript: Do not include terminating \0 in result returned by Date_toLocale{Date,Time}String.
      user32: Only call GlobalUnlock when GlobalLock was successful.
      user32: Add missing calls to GlobalUnlock in render_synthesized_dib.
      user32: Add missing call to GlobalUnlock in render_synthesized_enhmetafile.
      shell32/tests: Fix incorrect usage of broken() function.
      comctl32/tests: Fix incorrect usage of broken() function.
      oledb32/tests: Fix incorrect usage of broken() function.
      vcomp: Implement _vcomp_reduction_{u,i}8 and add tests.
      vcomp: Implement _vcomp_reduction_r4 and add tests.
      vcomp: Implement _vcomp_reduction_r8 and add tests.
      mshtml/tests: Fix incorrect usage of broken() function.
      jscript/tests: Remove an invalid win2k broken() check.
      jscript: Properly handle \0 characters in String to{Lower,Upper}Case methods.
      jscript: Properly handle \0 characters in String indexOf method.
      jscript: Allocate string of correct size in Date toTimeString method.
      configure: Fix a typo in the udev help message.
      jscript: Properly handle \0 characters in Array join method.
      jscript: Allocate string of correct size in Date toLocaleDateString method.
      jscript: Simplify date_to_string and add basic tests.
      jscript: Simplify create_utc_string and add basic tests.
      hidclass.sys: Do not return last error / HRESULT values in NTSTATUS functions.
      oledlg: Properly use SUCCEEDED macro to check HRESULT.
      wbemprox: Do not return error in HRESULT functions.
      advapi32: Use variable of correct type to store LSTATUS result.
      dinput: Use variable of correct type to store HRESULT value.
      joy.cpl: Use variable of correct type to store LSTATUS value.
      user32: Fix definition of DeregisterShellHookWindow.
      dxva2: Return E_NOTIMPL from GetPhysicalMonitorsFromIDirect3DDevice9 stub.
      include: Fix declaration of DwmDefWindowProc.
      shlwapi: Return E_NOTIMPL for unknown types in StrRetToBuf{A,W}.
      uxtheme: Return E_NOTIMPL in HRESULT stub functions.
      taskschd: Do not return ERROR_* constant in HRESULT function.
      kernel32: NtOpenFile returns STATUS_SUCCESS on success.
      msi: Do not return ERROR_* constant in HRESULT function.

Vincent Povirk (2):
      gdiplus: Add more tests for GdipGetMetafileHeaderFromMetafile.
      windowscodecs/tests: Add a helper function for comparing bits.

Alexandre Julliard