Wine Announcement

The Wine development release 1.9.21 is now available.

What's new in this release (see below for details):
  - Initial version of the HID minidriver.
  - Support for lists in the RichEdit control.
  - System tray improvements.
  - 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.21 (total 18):

  11819  The Longest Journey Demo: characters mostly invisible (broken TransformVertices with D3DVIEWPORT2)
  22317  Motocross madness demo has wrongly projected dirt (d3d_viewport_TransformVertices needs projection matrix + wrong scale)
  36499  Multiple applications need ID2D1Factory::CreateHwndRenderTarget implementation (SciTE 3.5.x, Direct2D .NET example apps)
  37183  Autogenerated programs/cscript/ihost.h is not being removed by make clean
  38530  eSignal 12.1 needs msvcp100.dll.?_Mtx_new@threads@stdext@@YAXAAPAX@Z
  39263  RichEdit should hide selection when it is unfocused
  39471  Elminage Gothic freezes after clicking on "New Game"
  40422  Illustrator CS6: hangs on ESC key press while Text tool is being used
  41142  gcc6: server build warnings
  41231  regedit no longer processes registry input from stdin using "-" as filename
  41405  Hornbill Supportworks Client 7.6.0: crashes with ExtFloodFill when open 'Incident Details' pane
  41409 crashes at launch
  41420  Regression bug: bricscad crashes when copy or cut objects to the clipboard
  41430  Nothing visibly happens when clicking System Info button in Microsoft PowerPoint Viewer 14.0 (msinfo32.exe lacks a GUI)
  41432  Keyboard input code display program (Japanese VB6 application) doesn't run.
  41437  Implement a 64-bit version of __std_type_info_hash
  41455  Failed assertion in ME_SplitByBacktracking causes crash at end of Jupiter 2011 installer
  41511  gray square on tab


Changes since 1.9.20:

Akihiro Sagawa (5):
      kernel32: Implement LCMAP_FULLWIDTH.
      kernel32: Implement LCMAP_HALFWIDTH.
      webservices: Avoid decoding a nul character reference.
      webservices: Add support for decoding decimal numeric character references.
      webservices: Add support for decoding supplementary characters' references.

Alex Henrie (1):
      msinfo32: Display an About dialog when the program is run.

Alexandre Goujon (1):
      msvcrt: Implement 64-bit version of __std_type_info_hash.

Alexandre Julliard (3):
      winex11: Add a helper function to send systray notifications.
      explorer: Add a helper function to send systray notifications.
      ntdll: Prevent importing the Zw functions.

Alistair Leslie-Hughes (1):
      dpnet: Correct GetComponentByName to return the correct buffer size.

Andrey Gusev (3):
      wined3d: Add missing '\n' to FIXME() messages.
      api-ms-win-appmodel-runtime-l1-1-1: Add dll.
      ext-ms-win-kernel32-package-current-l1-1-0: Add dll.

André Hentschel (2):
      shell32/tests: Mark win10 failure as broken.
      advapi32/tests: Don't crash the service test on wow64 Wine.

Aric Stewart (12):
      winebus.sys: Watch for hid raw device addition and removal.
      winebus.sys: Add implementation for device removal.
      hidclass.sys: Minidriver handling for IRP_MN_REMOVE_DEVICE finished the IRP.
      winebus.sys: Implement IOCTL_HID_GET_DEVICE_ATTRIBUTES for hid devices.
      winebus.sys: Implement IOCTL_HID_GET_DEVICE_DESCRIPTOR for hidraw.
      winebus.sys: Implement IOCTL_HID_GET_REPORT_DESCRIPTOR for hidraw.
      winehid.sys: Add HID minidriver.
      winehid.sys: Register as a HID minidriver.
      include: Define IoSkipCurrentIrpStackLocation.
      winehid.sys: Implement handing internal ioctls.
      wine.inf: Add WineHID to the CriticalDeviceDatabase.
      winebus.sys: Implement IOCTL_HID_GET_STRING for hidraw.

Aurimas Fišeras (2):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.

Austin English (1):
      subst: Add stub program.

Carlo Bramini (1):
      winefile: Use StrFormatByteSizeW.

Dmitry Timoshkov (1):
      include/d2d1.idl: Remove duplicate typedefs.

Gerald Pfeifer (2):
      winedbg: Extend buffer in packet_query_monitor_process to avoid avoid overrun/truncation.
      wininet: Increase buffer in _test_status_code to avoid potential potential overflow.

Hadrien Boizard (1):
      winemac.drv: Use EqualRect() instead of memcmp() to compare RECTs.

Hans Leidekker (16):
      ntdll: SzCSDVersion is an empty string on Windows 8 and up.
      advapi32: Add a stub implementation of EnableTraceEx2.
      webservices: Add support for writing WS_DATETIME values.
      webservices: Add support for reading WS_BYTES values.
      webservices: Add support for writing WS_BYTES values.
      wbemprox: Fix the variant type for Win32_SystemEnclosure.ChassisTypes.
      wbemprox: Return NULL for Win32_BIOS.IdentificationCode.
      wbemprox: Get rid of hard-coded OS version numbers.
      include: Avoid redefinition of EVENT_FILTER_DESCRIPTOR.
      webservices: Strip trailing zeros from time fraction.
      webservices/tests: Add more text type tests.
      webservices: Handle nil elements in the reader.
      webservices: WS_FIELD_OPTIONAL takes precedence over WS_FIELD_NILLABLE.
      webservices: Determine field size from write options and type size.
      webservices: Fix node insertion in the reader when the current node is an end element.

Huw D. M. Davies (47):
      riched20: Set the end-of-paragraph run width to that of a space.
      riched20: Add an option to move the cursor to after the final end-of-paragraph.
      riched20: Allow selecting the final end-of-paragraph when using the right arrow key.
      riched20: Allow selecting to the start / end when using the up / down arrow keys.
      riched20: Allow selecting the final end-of-paragraph when using the mouse.
      riched20: Clearing the insert style should not depend on the event mask.
      riched20: Move the wrap context struct into wrap.c .
      riched20: Use the provided style for the end-of-paragraph run.
      riched20: Alter ME_SaveTempStyle() to accept the new style.
      riched20: Set a temporary insert style for the new paragraph.
      riched20: Set the format of the final eop to be that of the last char.
      riched20: Remove an unnecessary call to ME_SaveTempStyle().
      riched20: Don't try to wrap the end-of-paragraph run.
      riched20: Reset the numbering style info after a \pard .
      riched20: Implement parsing of the paragraph numbering destination.
      riched20: Add the ability to create ME_Strings from constants.
      riched20: Maintain a ptr to the end-of-paragraph run.
      riched20: Add support for displaying bulleted lists.
      riched20: Update the paragraph numbering style if the end-of-paragraph style changes.
      wordpad: Improve the indentation of bulleted lists.
      riched20: Add support for arabic number labelled lists.
      riched20: Add support for letter labelled lists.
      riched20: Add support for roman numeral labelled lists.
      wordpad: Add list labelling menu.
      wordpad: Switch the main menu to MENUEX so that the list menu can be given an id.
      wordpad: Remove BTNS_BUTTON from the toolbar style - it's a button style.
      wordpad: Add a dropdown menu to the bullet button.
      wordpad: Keep the list indentation aligned when the margins are changed.
      riched20: The new eop style when typing a list is a copy of the existing eop style.
      riched20: Don't emit paragraph props if they're the same as the previous paragraph's.
      riched20: Don't emit default values.
      riched20: Add a helper to add a font to the font table.
      riched20: Add a helper to add a colour to the colour table.
      riched20: Move the check for cell border colours into the same loop as the other colours.
      riched20: Add any paragraph numbering fonts to the font table.
      riched20: Add a helper to find a font in the font table.
      riched20: Add a helper to find a colour in the colour table.
      riched20: Emit RTF for paragraph numbering.
      riched20: Draw the paragraph numbering text in the correct colour.
      riched20/tests: Add a test to show the insert style is cleared if the selection changes.
      include: Add a padding WORD to ensure that wWeight is at the correct offset.
      riched20: Initialize the remaining CHARFORMAT2 members.
      riched20: Fix the interaction between CFE_UNDERLINE and bUnderlineType.
      riched20: Incrementally update the character format.
      riched20: Simplify call to ME_StreamOutRTFParaProps().
      riched20: Remove the question marks from the generator string.
      riched20: Remove unnecessary spaces before carriage returns.

Jacek Caban (9):
      winhttp: Added WINHTTP_OPTION_CLIENT_CERT_CONTEXT option stub.
      kernel32/tests: Added GetNamedPipeInfo tests.
      mshtml: Fixed leak in get_nsstyle_attr_nsval.
      mshtml: Update binding moniker in handle_redirect.
      rpcrt4: Use NtReadFile in rpcrt4_conn_np_read.
      mshtml: Added support for non-pixel style values in IHTMLStyle::get_pixel* functions.
      ntdll/tests: Added a test of using NtCancelIoEx on iosb associated with pipe listening.
      ws2_32: Pass completion routing to NtDeviceIoControlFile in server_ioctl_sock only if caller provided completion routine.
      server: Create ifchange async queue on socket fd.

Józef Kucia (16):
      wined3d: Use MAX_TEXTURES instead of magic number.
      wined3d: Do not create separate dummy texture for each texture image unit.
      wined3d: Bind dummy textures to all texture image units.
      wined3d: Pass context to create_default_samplers().
      wined3d: Store pointer to device in wined3d_context.
      wined3d: Avoid using "context->swapchain" in context_update_window().
      wined3d: Avoid trying to get backup DC when context is no longer associated with swapchain.
      wined3d: Call context_destroy() directly if context is not associated with swapchain.
      wined3d: Avoid destroying active contexts.
      wined3d: Pass context to destroy_default_samplers().
      wined3d: Pass context to destroy_dummy_textures().
      wined3d: Get wined3d creation flags from d3d_info.
      wined3d: Call GL functions through gl_info.gl_ops in ffp_blit_blit_surface().
      wined3d: Call glGetIntegerv() through gl_info.gl_ops.
      wined3d: Call glFlush() through gl_info.gl_ops.
      wined3d: Call GL functions through gl_info.gl_ops in context_dump_fbo_attachment().

Ken Thomases (1):
      winemac: Post WINDOW_FRAME_CHANGED with the non-fullscreen frame when exiting of fullscreen mode begins.

Kim Malmo (2):
      po: Update Norwegian translation.
      po: Some more updates to Norwegian translation.

Kimmo Myllyvirta (1):
      wined3d: Clear texture flag from correct format when color fixup is not supported.

Marcus Meissner (2):
      webservices: Add error checking (Coverity).
      gdiplus: Assign error return (Coverity).

Matteo Bruni (20):
      wined3d: Add ARB_fragment_coord_conventions extension.
      wined3d: Avoid vpos fixups when ARB_fragment_coord_conventions is supported.
      wined3d: Add core version of the functions introduced by EXT_draw_buffers2.
      wined3d: Add ARB_viewport_array extension.
      wined3d: Add ARB_clip_control extension.
      wined3d: Use ARB_clip_control to avoid vertex position fixups.
      wined3d: Slightly offset the viewport in the ARB_clip_control case.
      wined3d: Account for offscreen rendering in the pixel shader key only if vpos is used.
      wined3d: Flag WINED3D_SHADER_CONST_PS_Y_CORR on framebuffer changes.
      d3d9/tests: Make the window client rect match the d3d swapchain size.
      d3d9/tests: Add a test for the dsy SM3 instruction.
      d3d11/tests: Make the window client rect match the d3d swapchain size.
      d3d11/tests: Add a test for derivative shader instructions.
      d3d10core/tests: Make the window client rect match the d3d swapchain size.
      d3d10core/tests: Add a test for ddy.
      wined3d: Cleanup user clip distances defines and fields a bit.
      wined3d: Recognize a couple of Haswell / Broadwell GPUs on macOS.
      wined3d: Add a bunch of Broadwell and Skylake PCI ids and descriptions.
      wined3d: Ignore driver model if the requested driver model entry is missing.
      wined3d: Store blit quad texture coordinates in a struct wined3d_vec3 array.

Michael Müller (1):
      wmic: Improve cmd line parser and add support for path command.

Michael Stefaniuc (5):
      dmusic/tests: Add basic COM tests for IDirectMusicPort.
      dmusic: Simplify the IDirectMusicPort_QueryInterface implementation.
      dmusic: Move the SynthPortImpl struct to where it is used.
      dmusic: Support the IKsControl interface for the synth port.
      ws2_32: Use debugstr_guid() to trace GUIDs.

Nikolay Sivov (7):
      d2d1: Initial implementation of HWND render target.
      d2d1/tests: Initial tests for bitmap render target.
      include: Update to latest dwrite revision.
      d2d1: Support shared bitmaps created from dxgi surface.
      d2d1: Make some of drawing calls a wrappers over DrawGeometry().
      dwrite: Update to IDWriteFactory4.
      d2d1: Implement GetDesktopDpi().

Piotr Caban (4):
      msvcp110: Fix cin/cout/cerr/clog structure sizes.
      msvcp140/tests: Test virtual base table size exports.
      msvcp110: Fix num_get structure layout.
      msvcp100: Add stdext::threads::_Mtx_* implementation.

Roman Pisl (5):
      shell32: Implement NIM_SETVERSION.
      winex11: Implement NIM_SETVERSION.
      explorer: Implement NIM_SETVERSION.

Sebastian Lackner (13):
      winebus.sys: Spawn a device loop thread and add synchronization.
      kernel32/tests: Add a testcase for CreateFileA with an invalid path.
      ntoskrnl.exe: Return STATUS_INVALID_DEVICE_REQUEST when calling unhandled driver function.
      ntoskrnl.exe: Fix a copy & paste error in dispatch_close.
      ntoskrnl.exe: Remove checks if MajorFunction is NULL.
      ntoskrnl.exe: Fix parameters of IoBuildSynchronousFsdRequest in dispatch_flush.
      ntoskrnl.exe: Use completion routine to transfer result of IRP back to server.
      user32/tests: Fix test failures on 64-bit testbot VMs.
      ntoskrnl.exe: Don't transfer back input buffer for IRP_MJ_WRITE requests.
      ntoskrnl.exe: Add support for async close processing.
      ntoskrnl.exe: Fix management of input/output buffers in dispatch handlers.
      ntoskrnl.exe: Do not abuse UserEvent to store event handle.
      winebus.sys: Add a strdupAtoW implementation.

Stefan Dösinger (6):
      ddraw/tests: Add position tests for D3DPROCESSVERTICES_TRANSFORM.
      ddraw: Store d3d1 projection matrices in device->legacy_projection.
      ddraw/tests: Test d3d2 and 3 drawing with non-standard viewports.
      ddraw: Apply legacy clipspace to d3d2.
      ddraw: Use the clip space matrix in TransformVertices.
      ddraw/tests: Add D3DVIEWPORT2 transform tests.

Vincent Povirk (9):
      gdiplus: Add FIXME for EMF records we need to implement.
      gdiplus/tests: Add test for gdi32 SetWorldTransform record.
      gdiplus: Implement EMR_SETWORLDTRANSFORM playback.
      gdiplus: Implement EMR_EXTSELECTCLIPRGN playback.
      gdiplus: Allow widening a "closed" line segment.
      gdiplus: GdipDrawLine ignores 0-pixel pens.
      gdiplus/tests: Add tests for 0-pixel pens.
      gdiplus: Add non-gdi32 implementation of GdipDrawPath.
      gdiplus: Add a software path for thin line drawing.

Alexandre Julliard