Software 42770 Published by

The latest development release of Wine features updates to the Unicode 16.0.0 character tables, enhanced window alignment in the Wayland driver, increased support for network sessions in DirectPlay, plug-and-play device change notifications, and a number of bug fixes. The update addresses 11 defects, including Songr 1 installation difficulties, Malus crashes, WordSmith 9.0 error messages, Death to Spies, Quicken WillMaker Plus 2007 requirements, and OpenGL renderer issues.



Wine release 9.19

The Wine development release 9.19 is now available.

What's new in this release:
- Character tables updates to Unicode 16.0.0.
- Better window positioning in the Wayland driver.
- More support for network sessions in DirectPlay.
- Support for plug&play device change notifications.
- Various bug fixes.

The source is available at ( https://dl.winehq.org/wine/source/9.x/wine-9.19.tar.xz)

Binary packages for various distributions will be available from the respective [download sites][1].

You will find documentation [here][2].

Wine is available thanks to the work of many people. See the file [AUTHORS][3] for the complete list.

[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.19/AUTHORS

Wine

### Bugs fixed in 9.19 (total 11):

- #41268 Songr 1 installation fails
- #52208 Malus crashes on unimplemented function WS2_32.dll.WSCGetApplicationCategory
- #56875 WordSmith 9.0 shows error message on start
- #56975 Death to Spies: black screen during video playback
- #57079 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
- #57139 SET changes errorlevel in .bat files
- #57147 exit /B doesn't break for loop
- #57205 FL Studio - ALL RECENT VERSIONS - After Wine 9.17 I cannot drag and drop audio files from file manager into the app, and then file manager crashes
- #57215 cnc-ddraw OpenGL renderer is broken again in 9.18
- #57240 Wine 9.18 - Regression - FL Studio (and probably other apps) don't export correct file formats anymore
- #57242 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z

### Changes since 9.18:
```
Aida Jonikienė (1):
server: Move last_active variable initialization (Valgrind).

Alexandre Julliard (14):
include: Use __readfsdword intrinsic on MSVC.
include: Remove some obsolete MSVC version checks.
widl: Output statements contained inside modules.
gitlab: Add 'build' tag on Linux build jobs.
tools: Upgrade the config.guess/config.sub scripts.
server: Match formatting of the English manpage.
programs: Formatting tweaks in the man pages.
tools: Formatting tweaks in the man pages.
loader: Formatting tweaks in the man pages.
kernel32/tests: Use a different invalid character since u1806 is now valid.
gitlab: Remove make -j options.
documentation: Update URLs to point to the Gitlab Wiki.
appwiz.cpl: Update URLs to point to the Gitlab Wiki.
winedbg: Update URLs to point to the Gitlab Wiki.

Andrew Nguyen (2):
wininet: Add additional tests for handling of user agent configuration in requests.
wininet: Only include non-empty session user agent string in request headers.

Anton Baskanov (36):
dplayx/tests: Test client-side of Open() separately.
dplayx: Check session desc size first in DP_SecureOpen().
dplayx: Return DPERR_NOSESSIONS from DP_SecureOpen() when there are no sessions.
dpwsockx: Store name server address in Open().
dpwsockx: Start listening for incoming TCP connections in Open().
dplayx: Unlink and clean up the reply struct on error paths in DP_MSG_ExpectReply().
dplayx: Return and check HRESULT from DP_MSG_ExpectReply().
dplayx: Allow specifying multiple reply command ids in DP_MSG_ExpectReply().
dplayx: Expect SUPERENUMPLAYERSREPLY in DP_MSG_ForwardPlayerCreation().
dpwsockx: Return DP_OK from CreatePlayer().
dpwsockx: Add a partial SendEx() implementation.
dplayx: Use SendEx() instead of Send().
dplayx: Initialize the unknown field in DP_MSG_ForwardPlayerCreation().
dpwsockx: Set player data in CreatePlayer().
dplayx: Use the documented message layout in DP_MSG_ForwardPlayerCreation().
dplayx: Merge DP_CalcSessionDescSize() into DP_CopySessionDesc().
dplayx: Add a session duplication helper function and use it in DP_SetSessionDesc() and NS_AddRemoteComputerAsNameServer().
dplayx: Return SP message header from NS_WalkSessions() and get rid of NS_GetNSAddr().
dplayx: Set session desc when joining a session.
dplayx/tests: Test Open() with two enumerated sessions.
dplayx: Find the matching session instead of using the first one.
dplayx/tests: Test that players from SUPERENUMPLAYERSREPLY are added to the session.
dplayx: Don't enumerate system players.
dplayx: Add player to the system group in DP_CreatePlayer().
dplayx: Set player data in DP_CreatePlayer().
dplayx: Return HRESULT from DP_CreatePlayer().
dplayx: Inform the SP about player creation in DP_CreatePlayer().
dplayx: Set SP data in DP_CreatePlayer().
dplayx: Return message header from DP_MSG_ExpectReply().
dplayx: Parse SUPERENUMPLAYERSREPLY and add players to the session.
dplayx/tests: Also check the names returned by GetPlayerName() in checkPlayerListCallback().
dplayx: Don't check dwSize in DP_CopyDPNAMEStruct().
dplayx: Add a name copying helper function and use it in DP_IF_GetGroupName() and DP_IF_GetPlayerName().
dplayx: Store the names contiguously.
dplayx: Store the names as both Unicode and ANSI.
dplayx: Pass ANSI name when enumerating through ANSI interface.

Bernhard Kölbl (1):
mscoree: Register mono log handler callback.

Bernhard Übelacker (2):
ntdll: Add warning if dlopen of unixlib failed.
mmdevapi: Add error if no driver could be initialized.

Billy Laws (3):
ntdll: Match the new ARM64 KiUserExceptionDispatcher stack layout.
regsvr32: Explicitly specify the target machine when relaunching.
msi: Disable WOW64 redirection for all 64-bit package archs.

Biswapriyo Nath (9):
include: Add new value in DWRITE_GLYPH_IMAGE_FORMATS in dcommon.idl.
include: Add UI Automation Text Attribute ID definitions.
include: Add UI Automation Landmark Type ID definitions.
include: Add IDWriteFontFace7 definition in dwrite_3.idl.
include: Add ISystemMediaTransportControls2 definition in windows.media.idl.
include: Add DataWriter runtimeclass in windows.storage.streams.idl.
include: Add IRandomAccessStreamReferenceStatics in windows.storage.streams.idl.
include: Add IRandomAccessStreamReference in windows.storage.streams.idl.
include: Add IOutputStream in windows.storage.streams.idl.

Charlotte Pabst (2):
comdlg32: Update current itemdlg filter in SetFileTypeIndex.
comdlg32/tests: Add test for SetFileTypeIndex updating current filter.

Connor McAdams (7):
d3dx9/tests: Add more d3d format conversion tests.
d3dx9/tests: Add format conversion tests for premultiplied alpha DXTn formats.
d3dx9: Clamp source components to unorm range.
d3dx9: Store pixel value range alongside pixel values when reading pixels.
d3dx9: Add support for D3DFMT_Q8W8V8U8.
d3dx9: Add support for D3DFMT_V8U8.
d3dx9: Use format_from_d3dx_color() instead of fill_texture().

Dmitry Timoshkov (1):
msi: Also set "MsiTrueAdminUser" property.

Elizabeth Figura (11):
d3d11: Stub ID3D11VideoDecoder.
d3d11: Stub ID3D11VideoDecoderOutputView.
d3d11: Stub ID3D11VideoContext.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Move geometry_shader_init_stream_output().
wined3d: Call geometry_shader_init_stream_output() from shader_set_function().
wined3d: Remove the redundant "device" parameter to shader_set_function().
wined3d: Merge the rest of vertex_shader_init() into shader_set_function().
wined3d: Merge the rest of pixel_shader_init() into shader_set_function().
win32u: Implement drawing transformed arcs.
win32u: Implement drawing transformed round rectangles.

Eric Pouech (17):
cmd: Rewrite part of WCMD_expand_envvar.
cmd: Fix consecutive ! in variable expansion.
cmd: Add tests for 'EXIT /B' inside FOR loops.
cmd: EXIT /B shall break FOR loops.
cmd/tests: Add tests for running .BAT files.
cmd: Don't always set errorlevel for some builtin commands.
cmd: Extend tests for FOR loop variables.
cmd: Extend the range of usable variables in FOR loops.
cmd: Better detection of %~ as modifier.
cmd: Rewrite parsing of tokens= options in FOR /F loop.
kernel32: Correctly advertize unicode environment for AeDebug startup.
cmd/tests: Add test about external commands with dots.
cmd: Fix searching external commands with dots in their basename.
cmd/tests: Add more tests for SET command.
cmd: Use CRT memory function for environment.
cmd: Free environment strings.
cmd: Fix 'SET =' invocation.

Esme Povirk (2):
comctl32: Implement MSAA events for buttons.
comctl32/tests: Test MSAA events for buttons.

Gabriel Ivăncescu (5):
mshtml: Don't make hidden props enumerable.
mshtml: Move lookup_dispid and get_dispid calls out of get_builtin_id.
mshtml: Fix builtin style translation in removeAttribute for IE9+ modes.
mshtml: Move the hook invocations inside of the builtin_prop* helpers.
mshtml: Add support for host object accessor props.

Georg Lehmann (2):
winevulkan: Avoid empty struct extension conversions.
winevulkan: Update to VK spec version 1.3.296.

Hans Leidekker (11):
winedump: Dump CLR metadata.
fc: Add support for comparing files with default options.
fc/tests: Add tests.
findstr: Support case insensitive search.
findstr: Support search with regular expressions.
crypt32/tests: Fix a test failure.
ntdll: Return success for NtSetInformationProcess(ProcessPowerThrottlingState).
findstr: Preserve line endings.
cmd: Call ReadConsoleW() with standard input handles only.
imagehlp: Add a test to show that ImageGetDigestStream() supports 64-bit images.
wine.inf: Add a couple of NTFS registry values.

Jinoh Kang (1):
win32u: Don't release surface before passing it to create_offscreen_window_surface().

Louis Lenders (1):
kernelbase: Add stub for FindFirstFileNameW.

Matteo Bruni (3):
d3dx9/tests: Handle uncommon test results in test_D3DXCheckTextureRequirements().
d3dx9/tests: Handle lack of support for D3DFMT_A1R5G5B5 in test_D3DXFillCubeTexture().
d3dx9: Clean up color key handling in convert_argb_pixels() and point_filter_argb_pixels().

Nikolay Sivov (1):
unicode: Update to Unicode 16.0.0.

Owen Rudge (2):
odbc32: Wrap dlerror in debugstr_a to avoid potential buffer overflow.
odbc32: Return SQL_NO_DATA from SQLGetDiagRec if no active connection.

Paul Gofman (18):
ntdll: Implement RtlRbInsertNodeEx().
ntdll: Implement RtlRbRemoveNode().
ntdll/tests: Add tests for RTL RB tree.
ntdll: Fill LDR_DATA_TABLE_ENTRY.BaseAddressIndexNode.
ntdll: Use base address tree in get_modref().
ntdll: Use base address tree in LdrFindEntryForAddress().
ntdll/tests: Add more tests for process instrumentation callback.
ntdll: Call instrumentation callback from wine_syscall_dispatcher on x64.
ntdll: Call instrumentation callback for KiUserExceptionDispatcher on x64.
ntdll: Call instrumentation callback for LdrInitializeThunk on x64.
ntdll: Call instrumentation callback for KiUserModeCallback on x64.
ntdll: Support old parameter layout for NtSetInformationProcess( ProcessInstrumentationCallback ).
wow64: Fix length check in wow64_NtSetInformationProcess().
uxtheme: Better detect the presence of default transparent colour in prepare_alpha().
win32u: Call set_active_window() helper directly from handle_internal_message().
win32u: Correctly fill new foreground window TID in WM_ACTIVATEAPP.
kernel32/tests: Add test for finding loaded module when the module file is renamed.
ntdll: Skip dll file search when getting module handle from short name.

Piotr Caban (2):
msvcp70: Export std::getline function.
msvcp70: Add basic_ofstream constructor implementation.

Rémi Bernon (69):
mfplat/tests: Add tests for VIDEOINFOHEADER(2) user data conversion.
mfplat: Fill user data when converting VIDEOINFOHEADER formats.
winedmo: Avoid printing errors on expected statuses.
winedmo: Set the buffer size to zero on read failure.
mfsrcsnk: Send EOS event only when there is no more samples queued.
mfsrcsnk: Fill the stream mapping for unknown stream types too.
winex11: Avoid recreating the offscreen GL window if not necessary.
win32u: Notify drivers of the child surfaces state when their ancestor moves.
winewayland: Use window DPI for the OpenGL client surface size.
winewayland: Call ensure_window_surface_contents with the toplevel window.
winewayland: Keep the toplevel hwnd on the wayland_client_surface.
winewayland: Update the client separately from the window surface updates.
winewayland: Split wayland_win_data_update_wayland_surface helper.
winewayland: Pass the client surface rect to wayland_surface_reconfigure_client.
winewayland: Attach client client surfaces to their toplevel surface.
winewayland: Let the render threads commit changes to client surfaces.
winegstreamer: Pass H264 codec data as streamheader.
mfsrcsnk: Serialize stream sample requests with the state callbacks.
winedmo: Hoist the demuxer input format.
winedmo: Simplify demuxer creation error handling.
winedmo: Allocate a dedicated demuxer structure.
winedmo: Move the last packet to the demuxer struct.
winedmo: Create bitstream filters for demuxer streams.
winedmo: Pass demuxer packets through the bitstream filters.
winedmo: Convert H264 streams to Annex B format.
winex11: Use NtUserGetDpiForWindow when only checking for empty rect.
win32u: Keep per display source monitor DPI values.
win32u: Introduce a new NtUserGetWinMonitorDpi call for drivers.
win32u: Only reuse scaling target surface if it matches the monitor rect.
win32u: Update the window state when display settings changes.
user32: Stub DisplayConfigSetDeviceInfo.
user32/tests: Add more tests for GetDpiForMonitorInternal.
user32/tests: Add more tests with display source DPI scaling.
user32/tests: Add tests with windows and monitor DPI scaling.
winewayland: Move surface title change to wayland_surface_make_toplevel.
winewayland: Call wayland_surface_clear_role in wayland_surface_destroy.
winewayland: Introduce a new wayland_surface role enumeration.
winewayland: Introduce a new wayland_surface_reconfigure_xdg helper.
winewayland: Introduce a new update_wayland_surface_state_toplevel helper.
winewayland: Use subsurfaces for unmanaged windows.
user32/tests: Load more DPI-related functions dynamically.
user32/tests: Move the monitor DPI tests below others.
user32/tests: Use more commonly available resolutions.
mfplat/tests: Test source resolver bytestream interactions.
mfplat: Seek byte stream to the start for URL hint detection.
win32u: Make sure to load drivers when updating the display cache.
win32u: Always write the source current mode to the registry.
win32u: Keep the source depth separately from the current mode.
win32u: Remove now unnecessary GetDisplayDepth driver entry.
win32u: Cache display source current display settings.
win32u: Remove unnecessary GetCurrentDisplaySettings call.
win32u: Add virtual modes when drivers report a single display mode.
win32u: Keep track of the display source physical display mode.
win32u: Use the current display mode as monitor rect.
winemac: Remove unnecessary MoveWindowBits implementation.
win32u: Pass rects in window DPI to MoveWindowBits.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_dpi.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_rect.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetVirtualScreenRect.
win32u: Pass a MONITOR_DPI_TYPE param to get_monitor_from_rect.
win32u: Use the parent window monitor DPI for child windows.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetWinMonitorDpi.
dinput/tests: Add tests for IoReportTargetDeviceChange(Asynchronous).
sechost: Pass individual parameters to I_ScRegisterDeviceNotification.
sechost: Filter the device notifications before copying them.
sechost: Keep device notification temporary copies in a list.
sechost: Get rid of the device_notification_details internal struct.
plugplay: Pass a device path to plugplay notifications.
win32u: Read AppCompatFlags DPI awareness overrides from the registry.

Sergei Chernyadyev (5):
shell32: Move icon related fields in notify_data into separate struct.
shell32: Introduce a new get_bitmap_info helper.
shell32: Cleanup some local variable names.
shell32: Introduce a new fill_icon_info helper.
shell32: Add support for balloon icon copying.

Tim Clem (6):
nsiproxy: Only set the connection count from tcp_conns_enumerate_all when appropriate.
nsiproxy: Only set the endpoint count from udp_endpoint_enumerate_all when appropriate.
advapi32: Use CreateProcessAsUser to implement CreateProcessWithToken.
user32/tests: Test that shell windows are per-desktop and should be set on the default desktop.
server: Make shell, taskman, and progman windows per-desktop.
explorer: Set the shell window when creating the Default desktop.

Vibhav Pant (17):
bluetoothapis: Add stub for BluetoothSdpGetElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetElementData.
bluetoothapis: Implement BluetoothSdpGetElementData.
bluetoothapis: Add stub for BluetoothSdpGetContainerElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetContainerElementData.
bluetoothapis: Implement BluetoothSdpGetContainerElementData.
bluetoothapis: Add stub for BluetoothSdpEnumAttributes.
bluetoothapis/tests: Add tests for BluetoothSdpEnumAttributes.
bluetoothapis: Implement BluetoothSdpEnumAttributes.
bluetoothapis: Add stub for BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add tests for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
ntoskrnl: Add stub for IoReportTargetDeviceChange.
plugplay: Only broadcast WM_DEVICECHANGE for DBT_DEVTYP_DEVICEINTERFACE.
sechost: Add support for DBT_DEVTYP_HANDLE notifications.
user32: Add support for DBT_DEVTYP_HANDLE notifications.
ntoskrnl: Implement IoReportTargetDeviceChange.

Vijay Kiran Kamuju (3):
ws2_32: Add stub WSCGetApplicationCategory().
windows.ui: Add stubs for UIViewSettings class.
windows.ui: Add stub IInputPaneStatics implementation.

Yuxuan Shui (1):
d3d11: Stub ID3D11VideoDevice1.

Zhiyi Zhang (9):
user32/tests: Test that DragDetect() uses client coordinates instead of screen coordinates.
ntdll/tests: Add RtlConvertDeviceFamilyInfoToString() tests.
ntdll: Implement RtlConvertDeviceFamilyInfoToString().
include: Add Windows.ApplicationModel.DesignMode runtime class.
include: Add more Windows.Foundation.IReference<> interfaces.
include: Add windows.ui.xaml.interop.idl.
include: Add windows.ui.xaml.idl.
include: Add Windows.Globalization.ApplicationLanguages runtime class.
windows.ui: Register Windows.UI.Core.CoreWindow.
```