Wine release 9.22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The Wine development release 9.22 is now available.

What's new in this release:
  - Support for display mode virtualization.
  - Locale data updated to Unicode CLDR 46.
  - More support for network sessions in DirectPlay.
  - Wayland driver enabled in default configuration.
  - Various bug fixes.

The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.22.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.22/AUTHORS

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

### Bugs fixed in 9.22 (total 19):

 - #42606  wine doesn't *fully* respect locale settings in some corner cases
 - #52105  Cygwin setup hangs (handle to \Device\NamedPipe\ used as the RootDirectory for NtCreateNamedPipeFile)
 - #53019  MusicBee: inconsistent CJK/non-Latin support with Tahoma, no support on any other font.
 - #53321  snakeqr: Unhandled page fault on write access in A_SHAFinal (needs NtdllDefWindowProc_A)
 - #56466  Dark souls remastered crashing with winewayland when trying to open "pc settings" in game
 - #56790  wine binds dedicatedServer.exe to "lo" adapter
 - #56833  Installer of LabOne 24.04 stops with error  " ... setup wizard ended prematurely ..."
 - #57072  Window is flashing when painting transluent effects
 - #57277  Wine 9.19 fails to compile
 - #57290  String Substitution not working
 - #57325  MS Office 2007 and MS Office 2013 setup fails
 - #57334  FL Studio - huge graphical glitch when moving windows inside the app
 - #57341  Heidisql  7.0 crashes
 - #57370  The Steam systray icon does not respond to mouse clicks.
 - #57382  World Of Warcraft no longer start
 - #57388  Major perf loss with blocking ReadFile() & OVERLAPPED
 - #57391  FSCTL_DISMOUNT_VOLUME does not work on drives with spaces in path
 - #57407  Windows Movie Maker hangs in Win7 mode (regression)
 - #57423  Active window no longer receives keyboard input after losing and regaining focus (only in virtual desktop)

### Changes since 9.21:
```
Agustin Principe (1):
      d2d1: Accept DXGI_FORMAT_R8G8B8A8_UNORM format for WIC targets.

Alexandre Julliard (63):
      user32: Add an ANSI version of the desktop window proc.
      user32: Add an ANSI version of the icon title window proc.
      user32: Add an ANSI version of the menu window proc.
      user32: All builtin window procs are now dual A/W.
      ntdll/tests: Use the function pointer for NtWow64QueryInformationProcess64.
      server: Fix a thread reference leak.
      ntdll: Add support for the builtin window procs table.
      user32: Use the ntdll definitions for builtin windows procs.
      user32: Use the ntdll function table for builtin window procs.
      user32: Make the builtin window procs table layout compatible with Windows.
      ntdll/tests: Add tests for the builtin window procs table.
      user32/tests: Add tests for ntdll builtin window procs.
      user32/tests: Remove some obsolete winproc tests.
      kernel32/tests: Add some tests for EnumSystemFirmwareTables().
      ntdll: Implement BIOS table enumeration.
      kernelbase: Implement EnumSystemFirmwareTables().
      tools: Download all Unicode data files before generating anything.
      nls: Update locale data to CLDR version 46.
      mpg123: Import upstream release 1.32.9.
      fluidsynth: Import upstream release 2.4.0.
      rundll32: Don't bother cleaning up at process exit.
      rundll32: Use crt allocation functions.
      rundll32: Rewrite command line parsing.
      rundll32: Restart itself if the dll is for a different architecture.
      ntdll: Always return 0 length on failure in SystemFirmwareTableInformation.
      ntdll/tests: Fix a test failure on 64-bit Windows.
      server: Print a warning if page size isn't 4k.
      server: Move the generated part of request.h to a separate header.
      server: Move the generated part of trace.c to a separate header.
      server: Simplify updating the protocol version.
      server: Use an explicit union instead of a typedef for APC calls.
      server: Use an explicit union instead of a typedef for APC results.
      server: Use an explicit struct instead of a typedef for user APCs.
      server: Use an explicit struct instead of a typedef for async I/O data.
      server: Use an explicit union instead of a typedef for message data.
      server: Use an explicit union instead of a typedef for hardware input.
      server: Use an explicit union instead of a typedef for debug event data.
      server: Use an explicit union instead of a typedef for IRP params.
      server: Use an explicit union instead of a typedef for select operations.
      win32u: Implement NtUserBuildPropList().
      win32u: Implement NtUserBuildNameList().
      user32: Move PostQuitMessage() implementation to win32u.
      user32: Move support for posting a DDE message to win32u.
      user32: Don't use server data types in clipboard.c.
      win32u: Implement NtUserQueryWindow().
      server: Use an explicit struct instead of a typedef for generic access mappings.
      server: Use an explicit struct instead of a typedef for process startup info.
      server: Use an explicit struct instead of a typedef for PE image info.
      server: Use an explicit struct instead of a typedef for window property data.
      server: Use an explicit struct instead of a typedef for cursor positions.
      win32u: Implement the remaining arguments of NtUserBuildHwndList().
      user32: Reimplement the enum window functions using NtUserBuildHwndList().
      user32: Reimplement GetDlgItem() using NtUserBuildHwndList().
      user32: Reimplement WIN_ListChildren() using NtUserBuildHwndList().
      user32: Move GetLastActivePopup() implementation to win32u.
      user32: Move GetLastInputInfo() implementation to win32u.
      server: Add a new request to find sibling windows by class name.
      win32u: Reimplement list_window_children() using NtUserBuildHwndList().
      server: Use an explicit union instead of a typedef for TCP connections.
      server: Use an explicit union instead of a typedef for UDP endpoints.
      server: Use an explicit struct instead of a typedef for object locators.
      server: Use an explicit struct instead of a typedef for register contexts.
      server: Use an explicit struct instead of a typedef for rectangles.

Alistair Leslie-Hughes (1):
      user32: Implement GetDpiAwarenessContextForProcess.

Anton Baskanov (27):
      dplayx/tests: Add missing pragma pack directives.
      dplayx/tests: Check that groups from SUPERENUMPLAYERSREPLY are added to the session.
      dplayx: Add group to the parent group in DP_CreateGroup().
      dplayx: Set group data in DP_CreateGroup().
      dplayx: Return HRESULT from DP_CreateGroup().
      dplayx: Inform the SP about group creation in DP_CreateGroup().
      dplayx: Add groups from SUPERENUMPLAYERSREPLY to the session.
      dplayx: Respect enumeration flags in EnumGroups().
      dplayx: Always set the data size in GetGroupData().
      dplayx: Factor out a function for adding player to a group.
      dplayx: Add group players from SUPERENUMPLAYERSREPLY to the group.
      dplayx/tests: Test client side of AddPlayerToGroup() separately.
      dplayx: Queue DPSYS_ADDPLAYERTOGROUP in DP_AddPlayerToGroup().
      dplayx: Send ADDPLAYERTOGROUP in AddPlayerToGroup().
      dplayx/tests: Test that group data is updated from GROUPDATACHANGED.
      dplayx: Enter the critical section when accessing the group list.
      dplayx: Handle GROUPDATACHANGED, update the group data and queue DPSYS_SETPLAYERORGROUPDATA.
      dplayx: Factor out a function for reading service providers.
      dplayx: Convert connection name to UNICODE when enumerating through UNICODE interface.
      dplayx/tests: Test UNICODE version of EnumSessions().
      dplayx: Convert session name and password to UNICODE when enumerating through UNICODE interface.
      dplayx: Forward IDirectPlay3A to IDirectPlay4A.
      dplayx: Cache connections.
      dplayx: Read connection name from descriptionW and descriptionA when available.
      dplayx: Use DP_GetRegValueW() to read SP GUID.
      dplayx: Reimplement DirectPlayEnumerateAW() using DP_GetConnections().
      dplayx: Reimplement DP_LoadSP() using DP_GetConnections().

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

Bernhard Übelacker (4):
      msvcrt: Do not create a separate heap in newer msvcrt versions.
      kernel32/tests: Remove todo_wine from now succeeding heap test.
      include: Add ucrt _sprintf_l declaration.
      wineps.drv: Use locale aware variants _sprintf_l and _sscanf_l (ASan).

Billy Laws (1):
      msi: Also set x64 properties for arm64 hosts.

Biswapriyo Nath (1):
      include: Add UI Automation Annotation Type ID definitions.

Brendan McGrath (2):
      mf: Retry PROCESSINPUTNOTIFY if TRANSFORM_TYPE_NOT_SET is returned.
      mf: Send MEError when IMFStreamSink_ProcessSample fails.

Brendan Shanks (1):
      Add .gitattributes file to mark generated files.

Charlotte Pabst (2):
      jscript: Handle star and opt operators while matching global regex properly.
      jscript/tests: Add tests for star and opt operators in global regex.

Connor McAdams (6):
      d3dx9/tests: Include ddraw.h in surface.c for DDS header flag definitions.
      d3dx9: Don't attempt to save palettized surfaces in D3DXSaveSurfaceToFileInMemory().
      d3dx9/tests: Add more tests for saving surfaces as DDS files.
      d3dx9: Improve save_dds_surface_to_memory().
      d3dx9: Set the DDSCAPS_ALPHA flag when saving DDS files with a pixel format containing an alpha channel.
      d3dx9: Add support for saving paletted surfaces to DDS files.

Daniel Lehman (2):
      kernel32/tests: Add some tests for Thai and Mongolian codes.
      nls: Set alpha bit on some Thai and Mongolian codes.

Elias Norberg (4):
      wintrust: Implement CryptCATAdminAcquireContext2().
      wintrust/tests: Add CryptCATAdminAcquireContext2() tests.
      wintrust: Implement CryptCATAdminCalcHashFromFileHandle2().
      wintrust/tests: Add CryptCATAdminCalcHashFromFileHandle2() tests.

Elizabeth Figura (17):
      winevulkan: Use extend() instead of passing two separate roots to functions.
      winevulkan: Use the correct logger method.
      wined3d: Do not clamp fog in the VS.
      wined3d: Calculate the texture matrix solely from the vertex declaration.
      wined3d: Rewrite the comment in compute_texture_matrix().
      wined3d: Clear caps to zero in shader caps query functions.
      wined3d: Initialize max_blend_stages in the SPIRV fragment pipe.
      wined3d: Move shader_trace().
      wined3d: Move shader parsing to shader_set_function().
      wined3d: Create stub FFP pixel shaders.
      wined3d: Create stub FFP vertex shaders.
      wined3d: Account for HLSL FFP shaders in find_ps_compile_args().
      wined3d: Allow using the HLSL FFP replacement with GL.
      wined3d: Use the FFP HLSL pipeline for pretransformed draws as well.
      wined3d: Beginnings of an HLSL FFP vertex shader implementation.
      include: Add dxvahd.idl.
      dxva2: Stub DXVAHD_CreateDevice().

Eric Pouech (17):
      kernel32/tests: Don't hardcode page size in buffer size.
      advapi32/tests: Fix typo in manifest constant.
      advapi32: Test some other cases of process access rights mapping.
      server: Amend process rights mapping.
      cmd/tests: Add tests about substring substitution in variable expansion.
      cmd: Fix substring substitution in variable expansion.
      cmd: Implement 'touch' equivalent in COPY builtin.
      cmd/tests: Add test about IF EXIST.
      cmd: Modifiers in tilde variable expansion are case insensitive.
      cmd: Fix 'IF EXIST DIRECTORY' test condition evaluation.
      dbghelp: Don't try to load PDB for a RSDS debug directory in .buildid section.
      dbghelp: Only WARN on stripped PE images.
      dbghelp/tests: Improve SymSrvGetFileIndexInfo tests.
      dbghelp: Fill-in data in SymSrvGetFileIndexIndo if BAD_EXE_FORMAT.
      dbghelp/tests: Add retry wrapper around SymRefreshModuleList().
      dbghelp/tests: Add tests for SymRefreshModuleList().
      dbghelp: Implement SymRefreshModuleList().

Etaash Mathamsetty (1):
      explorer: Enable the Wayland driver.

Fabian Maurer (9):
      net/tests: Add test for stopping non existing service.
      net: Correct error code for stopping non existing service.
      msi/tests: Add more tests for MsiSummaryInfoPersist.
      msi: Make MsiGetSummaryInformationW open database as direct instead of transacted.
      ieframe: Add IERefreshElevationPolicy stub.
      comctl32/listbox: Close a few leaked window handles.
      comctl32/combo: Add tests for keypresses showing search functionality.
      comctl32/listbox: Add tests for keypresses showing search functionality.
      msxml3: Undo removal of xmlThrDefTreeIndentString.

Floris Renaud (1):
      po: Update Dutch translation.

Gabriel Ivăncescu (18):
      mshtml: Reset builtin function props to their default values when deleted.
      mshtml: Throw invalid action for IE8 window prop deletion.
      jscript: Add basic semi-stub implementation of GetMemberProperties.
      mshtml: Use BSTR to store global prop's name.
      mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR.
      mshtml: Check if window global prop still exists before returning its id.
      mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object.
      jscript: Delete external props before redefining them.
      jscript: Make most builtin global objects configurable.
      mshtml: Use actual referenced prop flags for window script props.
      mshtml: Don't use cycle collection for nsChannel.
      mshtml: Enumerate all own builtin props from host object's NextProperty.
      mshtml/tests: Add initial tests for prototype chain props.
      mshtml: Expose ownerDocument from NodePrototype.
      mshtml: Don't expose removeNode from NodePrototype.
      mshtml: Don't expose replaceNode from NodePrototype.
      mshtml: Don't expose swapNode from NodePrototype.
      mshtml: Set the name of the non-function constructors to the same as the object.

Georg Lehmann (1):
      winevulkan: Update to VK spec version 1.3.302.

Gerald Pfeifer (3):
      dpwsockx: Don't use true as a variable name.
      msi: Don't use bool as a variable name.
      jscript: Don't use bool as a variable name.

Hans Leidekker (3):
      wininet: Accept UTC as the equivalent of GMT.
      wininet: Use InternetTimeToSystemTimeW() to convert header values.
      iphlpapi: Sort adapters by route metric in GetAdaptersAddresses().

Haoyang Chen (5):
      winhttp/tests: Add some tests for WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_{put,get}_Option.
      winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_put_Option.
      winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_get_Option.
      winex11: Fix URL encoding for non-ASCII characters.
      wined3d: Fix a memory leak.

Jacek Caban (6):
      configure: Use -ffunction-sections for PE targets.
      winegcc: Pass -fms-hotpatch to the linker.
      configure: Use -fms-hotpatch when available.
      configure: Preserve original CFLAGS when adding LLVM flags.
      ntdll: Use proper format string for ULONG type.
      windowscodecs/tests: Always use a format string in winetest_push_context calls.

Jinoh Kang (2):
      server: Don't crash when opening null path with a console handle as RootDirectory.
      server: Don't crash when opening null path with a console server as RootDirectory.

John Chadwick (2):
      wintab32: Align WTPACKET for 32/64-bit archs.
      winex11: Remove stub tablet_get_packet wow64 thunk.

Marc-Aurel Zent (5):
      winemac.drv: Allow symbol vkeys to match on Mac virtual key codes.
      winemac.drv: Add Mac virtual key code information to the German layout.
      winemac.drv: Add additional French symbol vkeys mappings.
      include: Add Japanese IME virtual key codes to kbd.h.
      winex11: Include kbd.h instead of ime.h.

Matteo Bruni (1):
      wined3d: Allow reusing current GL context without a current RT.

Michael Müller (2):
      ntdll: Implement HashLinks field in LDR module data.
      ntdll: Use HashLinks when searching for a dll using the basename.

Mohamad Al-Jaf (3):
      icmui: Add stub dll.
      icmui: Add SetupColorMatchingW() stub.
      icmui/tests: Add some SetupColorMatchingW() tests.

Nikolay Sivov (4):
      dwrite/layout: Skip to the next typography range when current one has no features.
      comctl32/listview: Initialize hot cursor handle.
      comctl32/listview: Send LVN_HOTTRACK in response to mouse moves.
      d2d1/tests: Add some tests for WIC target formats.

Paul Gofman (4):
      kernel32/tests: Factor out is_old_loader_struct().
      kernel32/tests: Add tests for module hash links.
      server: Don't update cursor pos in set_window_pos() if window wasn't moved.
      opengl: Avoid infinite recursion in bezier_approximate() in case of degraded curve.

Piotr Caban (2):
      services: Sort services start order by start type.
      wine.inf: Set MountMgr service start option to SERVICE_BOOT_START.

Pétur Runólfsson (1):
      wtsapi32: Handle WTSSessionInfo class in WTSQuerySessionInformationW().

Rémi Bernon (63):
      d3d9/tests: Avoid creating visible windows concurrently.
      d3d9/tests: Use static class for the dummy window.
      d3d8/tests: Avoid creating visible windows concurrently.
      d3d8/tests: Use static class for the dummy window.
      wined3d: Cast format_id when comparing it to the last format index.
      winewayland: Fix surface scaling with HiDPI compositor.
      win32u: Offset the new display modes relative to the primary source.
      server: Use the monitor infos to map points from raw to virt.
      win32u: Compute monitors raw DPI from the physical / current mode ratio.
      win32u: Introduce a new registry setting to emulate modesetting.
      desk.cpl: Expose the modesetting emulation registry setting.
      winex11: Avoid requesting unnecessary _NET_WM_STATE changes.
      winex11: Avoid requesting unnecessary window config changes.
      winex11: Avoid updating _NET_WM_STATE on iconic windows.
      winex11: Simplify the control flow in WM_STATE handlers.
      winex11: Simplify the control flow in ConfigureNotify handlers.
      winex11: Reset embedded window position to 0x0 before docking it.
      winex11: Reset the window relative position when it gets reparented.
      winex11: Introduce a new host_window_send_configure_events helper.
      winex11: Retrieve the HWND for the host window's child window.
      winex11: Avoid overriding previously received ConfigureNotify events.
      winex11: Generate ConfigureNotify events for the children tree.
      winex11: Always generate ConfigureNotify events for embedded windows.
      winex11: Ignore focus changes during WM_STATE transitions.
      winex11: Use the new window state tracker to get _NET_WM_STATE value.
      winex11: Use the new window state tracker to get WM_STATE value.
      winex11: Introduce a new window_update_client_state helper.
      winex11: Introduce a new window_update_client_config helper.
      winebus: Always return success from PID effect control.
      winebus: Enable all PID effect types for wheel devices.
      winebus: Build HID report descriptors on device creation.
      winebus: Lookup device HID usage and usage page on the PE side.
      winebus: Count HID buttons and pass it to is_hidraw_enabled.
      winebus: Enable hidraw by default for various HOTAS controllers.
      dinput: Assume that clipping the cursor uses the requested rectangle.
      dinput: Only call SetCursorPos if ClipCursor fails.
      winex11: Listen to PropertyNotify events on the virtual desktop window.
      winex11: Don't expect WM_STATE events on override-redirect windows.
      winex11: Wait for pending _NET_WM_STATE before updating the client state.
      winex11: Wait for pending ConfigureNotify before updating the client state.
      winex11: Update the window client config on window state changes.
      winex11: Request window state updates asynchronously.
      d3d9/tests: Flush events after minimizing and restoring focus window.
      evr: Use D3DCREATE_MULTITHREADED device creation flag.
      winex11: Use the state tracker to decide if changes can be made directly.
      winex11: Update other window state properties within window_set_wm_state.
      winex11: Call window_set_wm_state when unmapping embedded windows.
      winex11: Get rid of the now unnecessary iconic field.
      winex11: Get rid of the now unnecessary mapped field.
      kernel32/tests: Check for the _SW_INVALID bit presence only.
      gitlab: Wait for the fvwm process to start.
      win32u: Check if parent is the desktop window in get_win_monitor_dpi.
      win32u: Map cursor pos to raw DPI before calling drivers SysCommand.
      secur32/tests: Update the tests to expect HTTP/2 headers.
      urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
      wininet: Parse multi-token Connection strings for Keep-Alive.
      winex11: Introduce a new get_window_state_updates helper.
      winex11: Generate GravityNotify events instead of ConfigureNotify.
      winex11: Avoid sending WM_WINDOWPOSCHANGING when applying window manager config.
      winex11: Delay window config request when restoring from fullscreen/maximized.
      user32/tests: Workaround a FVWM maximized window state bug.
      winex11: Update the Win32 window state outside of event handlers.
      winex11: Remove now unnecessary WindowPosChanged re-entry guards.

Vibhav Pant (5):
      setupapi: Add stub for SetupDiGetDevicePropertyKeys.
      setupapi/tests: Add tests for SetupDiGetDevicePropertyKeys.
      setupapi: Implement SetupDiGetDevicePropertyKeys.
      threadpoolwinrt: Fix potential NULL dereference in QueryInterface for IAsyncAction.
      threadpoolwinrt: Associate work items with the appropriate callback environment.

Vitor Ramos (2):
      include: Add cpp header guard to the pathcch.h.
      include: Use enum for PATHCCH_ options.

Yuxuan Shui (1):
      dinput: Keep the module around while input thread is running.

Zhiyi Zhang (14):
      urlmon: Support Uri_HOST_IDN.
      urlmon: Support Uri_DISPLAY_NO_FRAGMENT.
      urlmon: Support Uri_PUNYCODE_IDN_HOST.
      urlmon: Support Uri_DISPLAY_IDN_HOST.
      urlmon/tests: Test flags for getting properties.
      ntdll/tests: Add NtSetIoCompletionEx() tests.
      ntdll: Implement NtSetIoCompletionEx().
      wintypes: Implement RoParseTypeName().
      wintypes/tests: Add RoParseTypeName() tests.
      win32u: Print the correct index when source_enum_display_settings() fails.
      ntdll/tests: Remove a workaround for older systems.
      ntdll/tests: Add more NtSetInformationFile() tests.
      server: Set overlapped fd to signaled after setting completion information.
      kernel32: Add GetCurrentPackageInfo() stub.

Ziqing Hui (6):
      propsys: Add PropVariantToBSTR stub.
      propsys/tests: Test PropVariantToBSTR.
      propsys/tests: Test truncating for PropVariantToString.
      propsys: Implement PropVariantToBSTR.
      propsys: Use debugstr_variant for the trace in VariantToPropVariant.
      propsys: Support converting to BSTR for PropVariantToVariant.
```
 





[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux