Wine-Releases
By message
wine-releases@list.winehq.org
By month
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- 1 participants
- 645 discussions
The Wine development release 10.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 10.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 10.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.14.
- Mono engine updated to version 9.4.0.
- Initial version of a Bluetooth driver.
- UTF-8 support in the C runtime functions.
- Support for split debug info using build ids.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.0-rc1.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-10.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc1 (total 17):
- #43172 IDirectPlay4::EnumConnections needs to support wide string in DPNAME structure
- #56109 Broken Radiobutton navigation (Up/Down, Accelerators) in several InnoSetup installers
- #56709 PackTouchHitTestingProximityEvaluation not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #56838 FL Studio 21 gui problem
- #57064 Bloodrayne 2 (legacy and Terminal Cut): graphical issue (foggy screen)
- #57308 Cannot load split debug symbols under /usr/lib/debug
- #57401 Dragon Unpacker crashes on both wine devel and staging
- #57411 Heroes of the Storm: screen sporadically flickers black
- #57431 Links 2003 Crashes
- #57437 PStart isn't showing a menu in the tray bar
- #57453 Regression: TWM: Cursor position offset in *some* programs.
- #57457 Mathcad 15 crashes when enter trace tab
- #57463 winebus always crashing with unknown since 8b41c2cfddba1f9973246f61e39d4a4d92912da5
- #57472 Systray support is broken in Wine 9.22
- #57474 Windows disappear irreversibly when are not shown on a virtual desktop
- #57477 After commit of 484c61111ef32d75dcf5cf1656b4469b4de3ec37 game could not launch with dxvk
- #57493 Mathcad 15 crashes on startup due to unhandled domdoc MaxElementDepth property
### Changes since 9.22:
```
Aida Jonikienė (6):
dsound: Handle NaN values in the 3D code.
dsound: Add an angle check for SetOrientation().
dsound/tests: Add NaN tests for floating-point 3D functions.
dsound: Add non-NaN value tests for SetOrientation().
winevulkan: Mirror function handling in vk_is_available_instance_function32().
winevulkan: Use WINE_UNIX_LIB instead of WINE_VK_HOST.
Alexandre Julliard (20):
ntdll: Initial version of NtContinueEx().
ntdll: Always return the handle from NtCreateIoCompletion().
server: Do not allow to open an existing mailslot in NtCreateMailslotFile.
server: Fix a token reference leak.
ntdll/tests: Remove some workarounds for old Windows versions.
ntdll/tests: Add tests for opening objects with zero access.
vkd3d: Import upstream release 1.14.
server: Use the correct handle allocation pattern for all object types.
win32u: Add some access rights when creating a desktop object.
server: Make CurrentControlSet a symlink in new prefixes.
ntdll: Make a debug channel dynamically settable only if there's no specified class.
taskmgr: Only list dynamically settable debug channels.
server: Only store a Unix name for regular files.
widl: Avoid unused variable warning.
configure: Correctly check the --enable-build-id option.
winegcc: Remove support for .def files as import libraries.
winebuild: Remove support for .def files as import libraries.
wrc: Use the correct error function for syntax errors.
server: Print signal names in traces.
ntdll: Move update_hybrid_metadata() to the ARM64EC backend.
Alfred Agrell (2):
dsound/tests: Add nonlooping SetNotificationPositions test.
dsound: Fix SetNotificationPositions at end of nonlooping buffer.
Alistair Leslie-Hughes (3):
include: Add _WIN32_WINNT_ version defines.
include: Add DB_VARNUMERIC struct.
include: Add SQL_C_TCHAR define.
Andrew Nguyen (1):
msxml3: Accept the domdoc MaxElementDepth property.
Anton Baskanov (2):
dplayx/tests: Test client side of GetMessageQueue() separately.
dplayx: Support DPMESSAGEQUEUE_RECEIVE in GetMessageQueue().
Billy Laws (5):
msi: Dynamically determine supported package architectures.
ntdll: Test more ARM64 brk instruction exception behaviour.
ntdll: Fix reported exception code for some brk immediates.
ntdll: Add arm64ec_get_module_metadata helper.
ntdll: Force redirect all ARM64EC indirect calls until the JIT is ready.
Brendan McGrath (2):
mfmediaengine: Implement the Simple Video Renderer.
mfmediaengine: Fallback to sample copy if scaling is required.
Brendan Shanks (3):
include: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use sched_getcpu instead of the getcpu syscall.
Conor McCarthy (12):
winegstreamer: Handle null transform in video IMediaObject::Flush().
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() DRAIN.
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() FLUSH.
winegstreamer: Handle null transform in WMA IMediaObject::Flush().
winegstreamer: Return the result code from media_source_Pause().
mf/tests: Add tests for shutting down a media source used in a session.
mf: Handle media source EndGetEvent() failure due to shutdown.
mf: Handle media source BeginGetEvent() failure due to shutdown.
mf: Handle media source event subscription failure due to source shutdown.
mf: Handle media source Start() failure due to source shutdown.
mf: Introduce IMFMediaShutdownNotify for notification of media source shutdown.
winegstreamer: Send media source shutdown notification via IMFMediaShutdownNotify.
Daniel Lehman (5):
msvcr120/tests: Add tests for _fsopen.
msvcp120/tests: Add tests for _Fiopen.
ucrtbase/tests: Add tests for _fsopen.
msvcp140/tests: Add tests for _Fiopen.
msvcp140: Call into fopen from _Fiopen.
Dmitry Timoshkov (1):
ntdll: Add NtFlushBuffersFileEx() semi-stub.
Dāvis Mosāns (1):
ntdll/tests: Unify APC test functions.
Elizabeth Figura (14):
wined3d: Use wined3d_texture_download_from_texture() even if the dst texture map binding is not valid.
wined3d: Beginnings of an HLSL FFP pixel shader implementation.
wined3d: Implement pretransformed varyings in the HLSL FFP pipeline.
wined3d: Take the depth buffer into account for HLSL pretransformed draws.
wined3d: Implement lighting in the HLSL FFP pipeline.
wined3d: Implement vertex fog in the HLSL FFP pipeline.
quartz/dsoundrender: Always treat samples as continuous if they are late or out of order.
quartz/dsoundrender: Remove the unused "tStop" argument to send_sample_data().
quartz/dsoundrender: Play non-discontinuous samples consecutively.
quartz/tests: Test whether the DirectSound renderer provides a position.
quartz/dsoundrender: Do not provide time to the passthrough.
quartz/dsoundrender: Do not ignore preroll samples.
quartz/dsoundrender: Queue samples and render them on a separate thread.
quartz/dsoundrender: Use send_sample_data() to fill the buffer with silence at EOS.
Eric Pouech (11):
kernel32: Add tests for checking the exit code of default ctrl-c handlers.
kernelbase: Fix exit code for default ctrl-c handler.
ntdll/tests: Fix format warning with clang.
configure: Properly test clang for dwarf support.
winegcc: Remap build-id linker option for clang.
configure: Use -Wl,--build-id unconditionally if requested.
configure: Don't add -Wl,--build-id linker option to CFLAGS.
dbghelp: Extend search for buildid in system directories.
dbghelp: Search debug info with buildid for RSDS debug entry w/o filenames.
server: Ensure in pending delete on close that path to unlink are unique.
winedbg: Add support for dynamic debug channel.
Esme Povirk (1):
mscoree: Update Wine Mono to 9.4.0.
Evan Tang (2):
kernelbase: Properly return 0 from EnumSystemFirmwareTable on error.
kernelbase: Add test for EnumSystemFirmwareTables on missing provider.
Fabian Maurer (8):
dplayx: Add a few more locks (Coverity).
comctl32/tests: Add tests for radio button WM_SETFOCUS.
comctl32: Send parent BN_CLICKED notification when a radio button get focused.
user32/tests: Add tests for radio button WM_SETFOCUS.
user32: Send parent BN_CLICKED notification when a radio button get focused.
oleaut32: Make OleCreateFontIndirect return error if font name is missing.
oleaut32: Remove unneeded null checks.
d3dx9: Remove superfluous null check (Coverity).
Gabriel Ivăncescu (38):
mshtml: Move htmlcomment.c contents into htmltextnode.c.
mshtml: Add an internal IWineHTMLCharacterData interface and forward text node methods to it.
mshtml: Expose the props from the IWineHTMLCharacterData interface for CharacterDataPrototype.
mshtml: Don't expose toString from text nodes in IE9+ mode.
mshtml: Expose IHTMLCommentElement2 interface for comment elements.
mshtml: Don't expose 'atomic' prop from comment nodes in IE9+ modes.
mshtml: Don't expose element props from comment nodes in IE9+ modes.
mshtml: Implement get_data for legacy DOCTYPE comment elements.
mshtml: Expose ie9_char as char for KeyboardEvent.
mshtml: Make PageTransitionEvents only available in IE11 mode.
mshtml: Make ProgressEvent constructor only available in IE10+ modes.
mshtml: Expose respective props from Element prototype.
mshtml: Don't expose fireEvent from elements in IE11 mode.
mshtml: Don't expose onmspointerhover from elements in IE11 mode.
mshtml: Move toString from HTMLElement to HTMLAnchorElement or HTMLAreaElement in IE9+ modes.
mshtml: Move hasAttributes from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move normalize from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Don't expose onpage from elements in IE9+ modes.
mshtml: Don't expose expression methods from elements in IE9+ modes.
mshtml: Don't expose some props from elements in IE10+ modes.
mshtml: Don't expose some props from elements in IE11 mode.
mshtml: Move HTMLTableDataCellElement prototype props to the HTMLTableCellElement prototype.
mshtml: Add IHTMLDOMNode2 in every mode in node's init_dispex_info.
mshtml: Get rid of HTMLELEMENT_TIDS.
mshtml: Move HTMLDocument prototype props to the Document prototype.
mshtml: Use DocumentPrototype as the document's prototype for modes prior to IE11.
mshtml: Expose the right props from document fragments.
mshtml: Don't expose some props from document prototype depending on mode.
mshtml/tests: Add more tests for the style aliased prop names.
mshtml: Expose respective props from MSCSSPropertiesPrototype.
mshtml: Prefer builtins for style aliases that have the same name.
mshtml: Move 'filter' prop to MSCSSPropertiesPrototype in IE9 mode.
mshtml: Don't expose 'behavior' prop from styles in IE11 mode.
mshtml: Don't expose the clip* props from style declaration or properties in IE9+ modes.
mshtml: Don't expose the *Expression methods from styles in IE9+ modes.
mshtml: Don't expose toString from styles in IE9+ modes.
mshtml: Expose respective props from StyleSheetPrototype.
mshtml: Get rid of unused HTMLElement_toString_dispids.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.303.
Gerald Pfeifer (3):
win32u: Don't use bool as member of a union type.
msi: Use mybool instead of bool as variable name.
winhlp32: Drop unused member of struct lexret.
Giovanni Mascellani (2):
user32/tests: Check that message-only windows ignore WS_EX_TOPMOST.
win32u/window: Ignore changing WS_EX_TOPMOST for message-only windows.
Hans Leidekker (2):
msi: Assume PLATFORM_INTEL if the template property is missing.
bcrypt: Trace returned handles.
Haoyang Chen (1):
gdiplus: Use the FormatID of the source image when cloning.
Henri Verbeet (3):
d3dcompiler/tests: Clean up tests fixed by vkd3d merges.
d3d10_1/tests: Clean up tests fixed by vkd3d merges.
d3dx11/tests: Clean up tests fixed by vkd3d merges.
Jacek Caban (18):
msvcrt/tests: Silence -Wformat-security Clang warning in test_snprintf.
include: Apply LONG_PTR format hack only to Wine build.
include: Use LONG_PTR format hack on Clang in MSVC mode.
include: Use format attribute on Clang in MSVC mode.
d3d11/tests: Always use a format string in winetest_push_context calls.
ddraw/tests: Always use a format string in winetest_push_context calls.
imagehlp: Cast AddressOfData to size_t in debug traces.
mmdevapi/tests: Use %u format for unsigned int arguments.
include: Enable format attributes for debug traces in Clang MSVC mode.
gdiplus: Cast enums to unsigned type when validating its value.
jscript: Avoid unused variable warning.
msi: Avoid unused variable warning.
msxml: Avoid unused variable warning.
vbscript: Avoid unused variable warning.
wbemprox: Avoid unused variable warning.
include: Use inline assembly on Clang MSVC mode in exception helpers.
jscript: Move property allocation to update_external_prop.
jscript: Add support for deleting host properties.
Louis Lenders (1):
msvcp140: Add a version resource.
Marc-Aurel Zent (8):
ntdll: Implement NtGetCurrentProcessorNumber for macOS on x86_64.
server: Do not suspend mach task in read_process_memory.
server: Use mach_vm_read_overwrite in read_process_memory.
server: Do not suspend mach task in get_selector_entry.
server: Use mach_vm_read_overwrite in get_selector_entry.
server: Do not suspend mach task in write_process_memory.
server: Do not page-align address in write_process_memory.
server: Work around macOS W^X limitations in write_process_memory.
Matteo Bruni (5):
d3dcompiler/tests: Clean up further tests fixed by vkd3d merges.
d3dx9_43: Generate an import library.
d3dx9/tests: Add d3dx9_43 tests.
d3dx9/tests: Test the 'double' HLSL data type.
d3dcompiler/tests: Test the 'double' HLSL data type.
Mohamad Al-Jaf (5):
windows.networking.connectivity: Add stub dll.
windows.networking.connectivity: Add INetworkInformationStatics stub interface.
windows.networking.connectivity: Implement INetworkInformationStatics::GetInternetConnectionProfile().
windows.networking.connectivity/tests: Add some INetworkInformationStatics::GetInternetConnectionProfile() tests.
windows.networking.connectivity: Implement IConnectionProfile::GetNetworkConnectivityLevel().
Nikolay Sivov (6):
d2d1/effect: Improve handling of blob properties.
windowscodecs/tests: Use string literals in the metadata tests.
windowscodecs/tests: Add some tests for CreateMetadataReader().
windowscodecs/tests: Add a basic test for CreateComponentEnumerator().
windowscodecs/metadata: Add a helper to iterate over components.
windowscodecs: Implement CreateMetadataReader().
Orin Varley (3):
msxml3/tests: Add indentation test.
comctl32/tests: Add tests for a small number of items but big size to the combobox dropdown size tests.
comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
Paul Gofman (1):
explorer: Prevent apps from showing Wine specific shell tray window with no icons.
Piotr Caban (43):
include: Add ___lc_codepage_func() declaration.
msvcp60: Improve wcsrtombs implementation.
msvcp60/tests: Add wcsrtombs tests.
msvcrt: Call _wmkdir in _mkdir function.
msvcrt: Call _wrmdir in _rmdir function.
msvcrt: Call _wchdir in _chdir function.
msvcrt: Call _wgetcwd in _getcwd function.
msvcrt: Call _wgetdcwd in _getdcwd function.
msvcrt: Call _wfullpath in _fullpath function.
ole32: Fix unsupported vector elements detection in PropertyStorage_ReadProperty.
ole32/tests: Add FMTID_UserDefinedProperties property storage tests.
ole32: Read property storage section from correct location.
ole32/tests: Add more FMTID_UserDefinedProperties property storage tests.
msvcrt: Prepare _fsopen to handle UTF-8 strings.
msvcrt: Call _wunlink in _unlink function.
msvcrt: Call _waccess in _access function.
msvcrt: Call _wchmod in _chmod function.
msvcrt: Call _unlink in remove function.
msvcrt: Call _wunlink in _wremove function.
msvcrt: Prepare _mktemp to handle UTF-8 strings.
msvcrt: Prepare _mktemp_s to handle UTF-8 strings.
msvcrt: Call _wstat64 in _stat64 function.
msvcrt: Call _wrename in rename function.
msvcrt: Call _wtempnam in _tempnam function.
msvcrt: Don't return success on GetFullPathName error in _wsearchenv_s.
msvcrt: Prepare _searchenv_s() for utf-8 encoded filename.
include: Cleanup corecrt_io.h file and use it in io.h.
msvcrt: Call _wfindfirst32 in _findfirst32 function.
msvcrt: Call _wfindnext32 in _findnext32 function.
msvcrt: Call _wfindfirst64 in _findfirst64 function.
msvcrt: Call _wfindnext64 in _findnext64 function.
msvcrt: Call _wfindfirst64i32 in _findfirst64i32 function.
msvcrt: Call _wfindnext64i32 in _findnext64i32 function.
msvcrt: Add putenv() utf-8 tests.
msvcrt: Return error on NULL path parameter in _wsopen_dispatch.
msvcrt: Prepare _sopen_dispatch to handle utf-8 encoded path.
msvcrt: Prepare freopen to handle utf-8 encoded path.
msvcrt: Prepare _loaddll to handle utf-8 encoded path.
msvcrt: Prepare _spawnl to handle utf-8 encoded arguments.
msvcrt: Prepare _execle to handle utf-8 encoded arguments.
msvcrt: Prepare remaining process creation functions to handle utf-8 encoded arguments.
ucrtbase: Enable utf8 support.
ucrtbase: Always use CP_ACP when converting environment block.
Roman Pišl (1):
kernel32: Use a proper import for HeapFree.
Rémi Bernon (45):
winebus: Ignore reports with unexpected IDs.
winex11: Read _NET_SUPPORTED atom list on process attach.
winex11: Only request the supported _NET_WM_STATE atoms.
winevulkan: Add missing wine_vkGetPhysicalDeviceSurfaceFormatsKHR manual wrapper.
win32u: Use PFN_* typedefs for vulkan function pointers.
winevulkan: Get rid of the instance/device funcs structs.
winevulkan: Generate ALL_VK_(DEVICE|INSTANCE)_FUNCS in wine/vulkan.h.
winevulkan: Move vulkan_client_object header to wine/vulkan_driver.h.
winevulkan: Name wine_instance parameters and variables more consistently.
winevulkan: Hoist physical device array and client instance handle.
winevulkan: Introduce a new vulkan_instance base structure.
winevulkan: Introduce a new vulkan_physical_device base structure.
winevulkan: Name wine_device parameters and variables more consistently.
winevulkan: Introduce a new vulkan_device base structure.
winevulkan: Restore some wine_*_from_handle helpers.
winevulkan: Introduce a new vulkan_queue base structure.
winevulkan: Introduce a new vulkan_surface base structure.
winevulkan: Introduce a new vulkan_swapchain base structure.
winevulkan: Use a vulkan_object header for other wrappers.
winevulkan: Use the result to decide if creation failed.
winevulkan: Introduce a new vulkan_object_init helper.
winevulkan: Fix incorrect client queue pointers.
winevulkan: Avoid changing client command buffer pointer.
winevulkan: Get rid of unnecessary *to_handle helpers.
winevulkan: Use the vulkan object as the wrapper tree node.
winevulkan: Keep the host function pointers in devices and instances.
win32u: Move surface and swapchain wrappers from winevulkan.
winex11: Don't update Win32 window position for offscreen windows.
winex11: Do not use desired_state when computing state updates.
winex11: Set a non-transparent window background pixel color.
win32u: Let fullscreen windows cover entire monitors, keeping aspect ratio.
winex11: Use bilinear filtering in xrender_blit.
quartz/dsoundrender: Rename "This" to "filter".
quartz/dsoundrender: Add missing static qualifier to IDispatch methods.
quartz/dsoundrender: Make brace placement consistent.
quartz/dsoundrender: Use a consistent style for method names.
quartz/dsoundrender: Make trace messages more consistent.
win32u: Add a force parameter to lock_display_devices.
win32u: Implement update_display_cache with lock_display_devices.
win32u: Remove recursive lock_display_devices calls.
win32u: Hold the display_lock when checking the cache update time.
mfmediaengine: Implement D3D-aware video frame sink.
windows.networking.connectivity: Use %I64d instead of %llu.
winex11: Move the _NET_SUPPORTED information to the thread data.
winex11: Listen to root window _NET_SUPPORTED property changes.
Santino Mazza (2):
mmdevapi/tests: Test for IAudioClockAdjustment.
mmdevapi: Do not modify buffer size after sample rate change.
Sven Baars (1):
win32u: Allow unsetting the user driver.
Tim Clem (3):
explorer: Apply a default admin token when running for the desktop.
Revert "win32u: Create explorer with the thread effective access token.".
kernelbase: Improve logging of information classes in GetTokenInformation.
Tingzhong Luo (3):
dwrite/tests: Add a test for DrawGlyphRun() bounds.
dwrite/gdiinterop: Always return valid bounds from DrawGlyphRun on success.
dwrite/gdiinterop: Apply dpi scaling to the whole target transform.
Torge Matthies (2):
advapi32/tests: Add test for CurrentControlSet link.
loader: Add Default, Failed, and LastKnownGood values to HKLM\System\Select.
Vibhav Pant (15):
winebth.sys: Add base winebth.sys driver.
winebth.sys: Add a basic unixlib stub using DBus.
winebth.sys: Create radio PDOs from the list of org.bluez.Adapter1 objects on BlueZ.
winebth.sys: Derive a unique hardware ID for radio PDOs from their corresponding BlueZ object path.
winebth.sys: Register and enable BTHPORT_DEVICE and BLUETOOTH_RADIO interfaces for radio PDOs.
bluetoothapis/tests: Fix potential test failure from memcmp'ing uninitialized bytes.
bluetoothapis/tests: Add tests for BluetoothFindFirstRadio.
bluetoothapis/tests: Add tests for BluetoothFindNextRadio.
bluetoothapis/tests: Add tests for BluetoothFindRadioClose.
bluetoothapis: Implement BluetoothFindFirstRadio, BluetoothFindNextRadio, BluetoothFindRadioClose.
winebth.sys: Set radio PDO properties from the device's corresponding org.bluez.Adapter1 object properties.
winebth.sys: Create new radio PDOs on receiving InterfacesAdded for objects that implement org.bluez.Adapter1.
winebth.sys: Remove the corresponding radio PDO on receiving InterfacesRemoved for a org.bluez.Adapter1 object.
winebth.sys: Update radio PDO properties on receiving PropertiesChanged for an org.bluez.Adapter1 object.
winebth.sys: Implement IOCTL_BTH_GET_LOCAL_INFO.
Vijay Kiran Kamuju (2):
user32: Add PackTouchHitTestingProximityEvaluation stub.
user32: Add EvaluateProximityToRect stub.
Vladislav Timonin (1):
comctl32/edit: Scroll caret on Ctrl+A.
Zhiyi Zhang (2):
appwiz.cpl: Fix wine_get_version() function pointer check.
uxtheme: Check DrawThemeEdge() content rectangle pointer.
Ziqing Hui (5):
qasf: Return S_FALSE for flushing in dmo_wrapper_sink_Receive.
qasf/tests: Test dmo_wrapper_sink_Receive if downstream fail to receive.
qasf: Return failure in dmo_wrapper_sink_Receive if process_output fails.
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf: Correctly return failure in process_output.
```
1
0
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.
```
1
0
The Wine development release 9.21 is now available.
What's new in this release:
- More support for network sessions in DirectPlay.
- Header fixes for C++ compilation.
- I/O completion fixes.
- More formats supported in D3DX9.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.21.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.21/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.21 (total 16):
- #27933 Implement sort.exe command
- #47776 Multiple games crash on unimplemented function D3DXOptimizeVertices (Timeshift, Call of Duty 2 modding tools, Rise of Nations: Rise of Legends 2010)
- #48235 Multiple applications need 'ntdll.NtWow64QueryInformationProcess64' (IP Camera Viewer 4.x)
- #48796 Saints Row 2 needs GUID_WICPixelFormat48bppRGB
- #52078 MusicBee: exception when attempting to drag tabs ( (QueryInterface for the interface with IID '{83E07D0D-0C5F-4163-BF1A-60B274051E40}' gives Exception E_NOINTERFACE))
- #54295 Touhou Puppet Dance Performance: Shard of Dreams Can't Locate Base Game Data After Installation
- #54623 MediRoutes crashes on unimplemented function websocket.dll.WebSocketCreateClientHandle
- #56219 Paint Shop Pro 9.01, printing function doesn't work
- #57164 Can't start RtlpWaitForCriticalSection
- #57183 9.17-devel: Drag and Drop no longer works on Ubuntu 24.04 Noble
- #57275 Black screen when using full-screen mode from version 9.18
- #57292 unimplemented function apphelp.dll.SdbSetPermLayerKeys
- #57296 WineHQ-devel-9.19: Renders Distorted Radio Buttons on WinXP Solitaire
- #57314 Metal Gear Solid V gametrainer needs wmi Win32_Process executablepath property
- #57355 Window-resize won't refresh controls on mainform
- #57392 AnyRail msi crashes
### Changes since 9.20:
```
Alex Henrie (2):
ntdll: Implement NtWow64QueryInformationProcess64.
include: Annotate PFN_CMSG_ALLOC with __WINE_ALLOC_SIZE.
Alexandre Julliard (22):
winetest: Remove strmake() len argument for consistency with other modules.
winetest: Get default tag and URL from Gitlab CI variables.
capstone: Allow callers to specify their memory allocators.
capstone: Comment out error printfs.
opengl32: Cache downloaded files in make_opengl.
opencl: Cache downloaded files in make_opencl.
winevulkan: Cache downloaded files in make_vulkan.
include: Use __attribute__ in preference to __declspec.
wow64: Fix handle conversion in NtWow64QueryInformationProcess64.
wow64: Move NtWow64QueryInformationProcess64 to process.c.
user32: Add some new entry points and ordinals.
gdi32: Add some new entry points and ordinals.
win32u: Add some new stub entry points.
ntdll/tests: Skip the syscall relocation test if the file on disk is not updated.
kernel32/tests: Search the current directory for newly-created dlls.
netstat: Use wide character string literals.
notepad: Use wide character string literals.
oleview: Use wide character string literals.
services: Use wide character string literals.
taskmgr: Use wide character string literals.
winefile: Use wide character string literals.
wordpad: Use wide character string literals.
Alexey Prokhin (1):
kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.
Alistair Leslie-Hughes (11):
include: Add rstscr.idl.
include: Add rstxsc.idl.
include: Add rstfnd.idl.
include: Add rstidn.idl.
include: Add DBGUID_DBSQL define.
include: Add DB_S_ROWLIMITEXCEEDED define.
include: Dbs.idl: Added DBVECTOR/DB_VARNUMERIC types.
include: Move ISAXXMLFilter interface to after base ISAXXMLReader.
dplayx: Use a single reference count for IDirectPlay interfaces.
dplayx: Remove numIfaces variable in IDirectPlayLobby.
dplayx: Use default DllCanUnloadNow implementation.
Anton Baskanov (31):
dplayx: Inline logic from CreatePlayer() functions into DP_IF_CreatePlayer().
dplayx: Allow storing group SP data.
dpwsockx: Get player address from SP header and use it in SendEx().
dpwsockx: Add partial SendToGroupEx() implementation.
dplayx: Send CREATEPLAYER instead of ADDFORWARDREQUEST in CreatePlayer().
dplayx: Queue DPSYS_CREATEPLAYERORGROUP on player creation.
dplayx: Remove received message from the queue.
dplayx: Set message sender and receiver IDs in Receive().
dplayx: Make a deep copy of the message.
dplayx: Set message data size in Receive().
dplayx: Set flags correctly in CreatePlayer().
dplayx: Always set the data size in GetPlayerData().
dplayx/tests: Test that player from CREATEPLAYER is added to the session.
dplay: Handle CREATEPLAYER and add player to the session.
dplayx/tests: Use the correct system player ID in sendSuperEnumPlayersReply().
dplayx/tests: Test client side of Send() separately.
dplayx: Queue the message for local players in SendEx().
dplayx: Remove the separate branch for DPID_ALLPLAYERS in SendEx().
dplayx: Send the message in SendEx().
dplayx/tests: Test client side of Receive() separately.
dplayx: Handle game messages.
dplayx: Check the buffer size in Receive().
dplayx: Return DPERR_BUFFERTOOSMALL from Receive() if data is NULL.
dplayx: Handle DPRECEIVE_TOPLAYER and DPRECEIVE_FROMPLAYER in Receive().
dplayx: Enter the critical section in DP_IF_Receive().
dplayx/tests: Test non-guaranteed Send().
dpwsockx: Support non-guaranteed delivery.
dplayx/tests: Test receiving UDP messages.
dpwsockx: Receive UDP messages.
dplayx/tests: Test that PINGREPLY is sent in reply to PING.
dplayx: Handle PING and send PINGREPLY.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus: Add GdipGetEffectParameterSize stub and fix GdipDeleteEffect.
gdiplus/tests: Add GdipGetEffectParameterSize test.
Biswapriyo Nath (2):
include: Add new property keys in propkey.h.
include: Add windows.applicationmodel.datatransfer.idl.
Brendan Shanks (2):
ntdll/tests: Add test for direct syscalls on x86_64.
ntdll: Add SIGSYS handler to support syscall emulation on macOS Sonoma and later.
Christian Costa (1):
d3dx9: Add semi-stub for D3DXOptimizeVertices().
Connor McAdams (10):
d3dx9: Introduce d3dx_pixel_format_id enumeration.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the d3dx_image structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure.
d3dx9/tests: Add more tests for handling JPG/PNG files.
d3dx9: Report 24bpp RGB as 32bpp XRGB for JPG and PNG files.
d3dx9: Add support for decoding 64bpp RGBA PNG files.
d3dx9: Add support for decoding 48bpp RGB PNG files.
d3dx9: Add support for loading surfaces from 48bpp RGB PNG files.
d3dx9: Add support for loading volumes from 48bpp RGB PNG files.
Elizabeth Figura (7):
win32u: Normalize inverted rectangles in dibdrv_RoundRect().
win32u: Correctly handle transforms which flip in get_arc_points().
win32u: Do not convert back to integer before finding intersections.
win32u: Forward to Rectangle() if the ellipse width or height is zero.
wmilib.sys: Add stub DLL.
ntoskrnl: Stub PoRequestPowerIrp().
ntdll: Do not queue completion for a synchronous file.
Eric Pouech (2):
midiseq: Reduce race window when closing sequencer.
kernelbase: Add undocumented EXTENDED_FLAGS to process attribute list.
Fabian Maurer (13):
comdlg32/tests: Fix compilation for gcc 4.7.
mf/tests: Fix compilation for gcc 4.7.
wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery.
wbemprox: Add property "ExecutablePath" to Win32_Process.
userenv/tests: Add another test for GetProfilesDirectoryA.
ntdll/tests: Add more tests for RtlExpandEnvironmentStrings/_U.
kernel32/tests: Add tests for ExpandEnvironmentStringsW.
kernel32/tests: Add more tests for ExpandEnvironmentStringsA.
kernel32/tests: Add ExpandEnvironmentStringsA tests for japanese.
ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases.
kernel32: Rework ExpandEnvironmentStringsW error handling.
kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases.
userenv: Fix GetProfilesDirectoryA return value.
Hans Leidekker (2):
fc: Support /c option.
wintypes/tests: Add tests for RoResolveNamespace().
Jacek Caban (2):
winecrt0: Use version 2 of CHPE metadata.
winegcc: Skip --no-default-config in find_libgcc.
Jactry Zeng (11):
msvcrt/tests: Test tolower() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _stricmp() with multiple bytes characters.
include: Add _strnicmp_l() declaration.
msvcrt/tests: Add tests of _strnicmp_l().
msvcrt/tests: Test toupper() with DBCS.
msvcrt: Improve DBCS support for _toupper_l().
msvcrt/tests: Add tests for locale information.
msvcrt: Try to generate CTYPE data according to the given codepage.
Jinoh Kang (2):
server: Allow creating named pipes using \Device\NamedPipe\ as RootDirectory.
server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe\.
Matteo Bruni (2):
d3dx9/tests: Disable test sometimes crashing on Windows.
winegstreamer: Split large WMA samples.
Maxim Karasev (1):
klist: Migrate to KerbQueryTicketCacheExMessage.
Michael Lelli (1):
ntdll: Use __wine_unix_spawnvp() to invoke unmount command.
Paul Gofman (7):
ntdll: Introduce a separate per-thread object for internal completion waits.
ntdll: Assign completion to thread when wait for completion is satisfied.
ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
server: Signal completion port waits on handle close.
ntdll/tests: Add tests for completion port signaling.
server: Sync cursor position on window position change.
mountmgr.sys: Stub StorageDeviceSeekPenaltyProperty query.
Piotr Caban (1):
kernelbase: Support backslashes when parsing relative URL in UrlCombine.
Rémi Bernon (59):
win32u: Do not adjust old valid rect when moving child window bits.
winex11: Introduce a new struct host_window for host-only windows.
winex11: Create host windows recursively up to root_window.
winex11: Keep track of the host window children of interest.
winex11: Keep track of the host windows relative rects.
winex11: Keep track of the host windows children window rects.
winex11: Use the new host windows to register foreign window events.
winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
winex11: Get rid of the now unnecessary foreign windows.
windows.gaming.input: Invoke event handlers outside of the critical section.
windows.devices.enumeration: Invoke event handlers outside of the critical section.
windows.media.speech: Invoke event handlers outside of the critical section.
winex11: Avoid processing RRNotify events in xrandr14_get_id.
winemac: Merge DND structures and rename constants / functions.
winemac: Introduce a new QUERY_DRAG_DROP_ENTER query.
winemac: Use the new win32u drag'n'drop interface.
winex11: Set configure_serial when resizing on display mode change.
winex11: Rename read_net_wm_state to get_window_net_wm_state.
winex11: Move ConfigureNotify checks after computing visible rect.
winex11: Move embedded check in update_net_wm_states / sync_window_style.
winex11: Register PropertyChangeMask for unmanaged windows.
win32u: Clear display device before refreshing the registry cache.
win32u: Allocate device manager context gpu dynamically.
win32u: Keep the source registry key on the source struct.
win32u: Allocate device manager context source dynamically.
win32u: Allocate device manager context monitors dynamically.
winex11: Track WM_STATE window property requests and updates.
winex11: Track _XEMBED_INFO window property changes.
winex11: Introduce a new window_set_wm_state helper.
winex11: Introduce a new window_set_net_wm_state helper.
winex11: Track _NET_WM_STATE window property requests and updates.
winex11: Introduce a new window_set_config helper.
winex11: Track window config requests and updates.
win32u: Introduce a NTGDI_RGN_MONITOR_DPI flag for NtGdiGetRandomRgn.
winex11: Compute absolute rect using the window data window rects.
winex11: Use the toplevel window drawable to create DCs.
winex11: Remove now unused child_window_from_point helper.
win32u: Compute the owner window hint on behalf of the drivers.
include: Add __pctype_func declaration.
include: Add some localized ctype.h function declarations.
include: Add some struct timespec definitions.
include: Add some ___mb_cur_max_func declarations.
include: Add some __sys_nerr declaration.
include: Fix _strtod_l/strtold/_strtold_l declarations.
include: Remove non-existing _atold definition.
include: Add math.h _(l|f)dtest function declarations.
include: Add wcscat_s C++ wrapper definitions.
include: Add abs C++ wrapper definitions.
include: Add atan2l inline definition.
include: Add max_align_t definition.
include: Add CaptureStackBackTrace macro definition.
include: Add SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag.
include: Fix IMAGE_IMPORT_BY_NAME declaration.
win32u: Implement get_win_monitor_dpi.
win32u: Use MDT_RAW_DPI monitor DPI type in the drivers.
win32u: Move some monitor info getter code around.
win32u: Inform wineserver about the winstation monitors.
server: Use the monitor infos to compute the virtual screen rect.
winex11: Skip faking ConfigureNotify if state/config change is expected.
Sebastian Krzyszkowiak (1):
mciseq: Don't seek to the end of the root chunk in RMID files.
Semenov Herman (Семенов Герман) (1):
ole32: Fixed copy paste error with OFFSET_PS_MTIMEHIGH in UpdateRawDirEntry.
Vijay Kiran Kamuju (11):
gdiplus: Add GdipCreateEffect implementation.
gdiplus: Partial implementation of GdipGetEffectParameterSize.
apphelp: Add stub SdbSetPermLayerKeys().
apphelp: Add stub SdbGetPermLayerKeys().
apphelp: Add stub SetPermLayerState().
include: Add missing defines and enums for IDragSourceHelper2.
websocket: Add stub for WebCreateClientHandle.
websocket: Add stub for WebSocketAbortHandle.
websocket: Add stub for WebSocketDeleteHandle.
taskschd: Implement IDailyTrigger_put_EndBoundary.
taskschd: Implement IDailyTrigger_get_EndBoundary.
Zhiyi Zhang (30):
include: Add Windows.Foundation.PropertyValue runtime class.
wintypes: Use DEFINE_IINSPECTABLE.
wintypes: Add IPropertyValueStatics stub.
wintypes: Support IPropertyValue primitive objects.
wintypes: Support IPropertyValue primitive array objects.
wintypes: Implement IReference<boolean>.
wintypes: Implement IReference<HSTRING>.
wintypes: Implement IReference<DOUBLE>.
wintypes: Add IPropertyValueStatics tests.
include: Add windows.applicationmodel.datatransfer.dragdrop.idl.
include: Add windows.applicationmodel.datatransfer.dragdrop.core.idl.
include: Add dragdropinterop.idl.
dataexchange: Add initial dll.
dataexchange: Add ICoreDragDropManagerStatics stub.
dataexchange: Add IDragDropManagerInterop stub.
dataexchange: Implement dragdrop_manager_interop_GetForWindow().
dataexchange/tests: Add ICoreDragDropManagerStatics tests.
dataexchange/tests: Add ICoreDragDropManager tests.
dataexchange: Make core_dragdrop_manager_add_TargetRequested() return S_OK.
iertutil: Add IUriRuntimeClassFactory stub.
iertutil: Implement uri_factory_CreateUri().
iertutil: Implement uri_RawUri().
iertutil: Add uri_AbsoluteUri() semi-stub.
iertutil/tests: Add IUriRuntimeClassFactory tests.
iertutil/tests: Add IUriRuntimeClass tests.
user32: Add EnableMouseInPointerForThread() stub.
user32: Add RegisterTouchPadCapable() stub.
include: Add IAgileReference and INoMarshal.
combase: Implement RoGetAgileReference().
combase/tests: Add RoGetAgileReference() tests.
```
1
0
The Wine development release 9.20 is now available.
What's new in this release:
- Bundled Capstone library for disassembly in WineDbg.
- More formats supported in D3DX9.
- Static analysis and JUnit test reports in Gitlab CI.
- More support for network sessions in DirectPlay.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.20.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.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.20 (total 15):
- #39848 Victoria 2 (Steam) fails to start with Wine-Mono
- #50850 Just Cause crashes when starting new game (D3DXCreateTexture unsupported format, fallback format crashes)
- #56372 musl based exp2() gives very inaccurate results on i686
- #56645 unimplemented function httpapi.dll.HttpSendResponseEntityBody
- #56973 Building wine with mingw/gcc 14.1.1 fails with error '-Wimplicit-function-declaration'
- #57233 Multiple games show black screen/window on startup (BeamNG.drive, Wargaming.net games)
- #57245 Can't recognize executables/scripts with a dot in the name...
- #57250 Rhinoceros installers crash with bad_alloc
- #57269 wine-9.19 build with ffmpeg fails in winedmo in Ubuntu 20.04
- #57271 `winetricks -q art2kmin` shows several popups -- Unable to load dll
- #57293 Helicon Focus 8.2.0 regression: open images hangs the application
- #57294 Wine 9.13+ freezes in some applications using WMA Lossless audio
- #57300 KnightOfKnights crashes once entering the game
- #57302 In Notepad++ find window gets glitched after losing and regaining focus
- #57311 Nikon NX Studio Overlay windows incorrectly shown.
### Changes since 9.19:
```
Aida Jonikienė (1):
winex11: Properly handle minimized windows in update_net_wm_fullscreen_monitors().
Alex Henrie (2):
winebus: Allow any free device index to be reused immediately.
explorer: Support the NoDesktop registry setting.
Alexandre Julliard (21):
gitlab: Add support for static analysis using Clang.
gitlab: Add a daily sast build.
gitlab: Add a daily mac build.
faudio: Import upstream release 24.10.
mpg123: Import upstream release 1.32.7.
png: Import upstream release 1.6.44.
tiff: Import upstream release 4.7.0.
ldap: Import upstream release 2.5.18.
fluidsynth: Import upstream release 2.3.6.
xslt: Import upstream release 1.1.42.
libs: Import the Capstone library version 5.0.3.
winedbg: Switch to the Capstone disassembler.
libs: Remove the no longer used Zydis library.
widl: Use plain inline instead of defining a macro.
include: Remove custom stdcall/cdecl definition for ARM platforms.
include: Assume that nameless unions/structs are supported.
include: Stop using WINAPIV in msvcrt headers.
xml2: Import upstream release 2.12.8.
makefiles: Use llvm-strip in MSVC mode.
tools: Update the install-sh script.
wow64: Add missing ThreadIdealProcessorEx class.
Alistair Leslie-Hughes (1):
dplayx/tests: Correct Enum tests.
Anton Baskanov (27):
dplayx: Use DP_CreatePlayer() in DP_SecureOpen().
dplayx: Free the old session desc in DP_SecureOpen().
dplayx: Free resources on error paths in DP_SecureOpen().
dplayx: Send password in player creation forward request.
dplayx: Check REQUESTPLAYERREPLY size before access.
dplayx: Free message header on error path in DP_MSG_SendRequestPlayerId().
dplayx: Use the documented reply layout in DP_MSG_SendRequestPlayerId().
dplayx: Check reply result in DP_MSG_SendRequestPlayerId().
dplayx/tests: Test receiving REQUESTPLAYERREPLY with error result.
dplayx: Handle ADDFORWARDREPLY and return error.
dplayx/tests: Test receiving ADDFORWARDREPLY.
dplayx/tests: Wait for Open() to finish when forward request is not expected.
dplayx/tests: Correctly report lines in check_Open().
dplayx/tests: Send correct port in requests in check_Open().
dplayx: Don't crash on unknown command ids.
dplayx/tests: Test that ADDFORWARDACK is sent in reply to ADDFORWARD.
dplayx: Keep track of the connection status in bConnectionOpen.
dplayx: Enter the critical section when accessing the session desc.
dplayx: Enter the critical section when accessing the player list.
dplayx: Remove const from message body and header parameters of DP_HandleMessage().
dplayx: Handle ADDFORWARD, add player to the session and send ADDFORWARDACK.
dplayx: Prevent multiplication overflow in DP_MSG_ReadSuperPackedPlayer().
dplayx/tests: Use DPENUMPLAYERS_LOCAL and DPENUMPLAYERS_REMOTE to check player flags in checkPlayerList().
dplayx: Respect enumeration flags in EnumPlayers().
dplayx: Return DPERR_INVALIDPARAM from CreatePlayer() if session is not open.
dplayx/tests: Test client side of CreatePlayer() separately.
dplayx: Remove the unused lpMsgHdr parameter from DP_IF_CreatePlayer().
Bernhard Übelacker (1):
msvcrt: Initialize locale data in new threads.
Biswapriyo Nath (7):
include: Add windows.data.xml.dom.idl.
include: Add windows.security.authorization.appcapabilityaccess.idl.
include: Fix base class of ICompositorInterop interface.
include: Add windows.ui.notifications.idl.
include: Add IUISettings4 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings5 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings6 definition in windows.ui.viewmanagement.idl.
Charlotte Pabst (5):
riched20/tests: Test that ScrollWindowEx and GetClientRect are only called when control is in-place active.
riched20: Exit from editor_ensure_visible when control is not in-place active.
riched20: Only call ME_SendRequestResize when control is in-place active.
comdlg32: Fix buffer overflow when current_filter is longer than MAX_PATH.
comdlg32/tests: Add tests for itemdlg filters longer than MAX_PATH.
Connor McAdams (28):
d3dx9: Add pixel_format_desc type checking helper functions.
d3dx9: Rework pixel_format_desc structure format type value.
d3dx9: Always align and mask channel bits in format_to_d3dx_color().
d3dx9: Get rid of la_{to,from}_rgba format callbacks.
d3dx9: Get rid of index_to_rgba callback.
d3dx9: Add support for D3DFMT_X8L8V8U8.
d3dx9: Add support for D3DFMT_A2W10V10U10.
d3dx9: Add support for D3DFMT_A8P8.
d3dx9: Add support for D3DFMT_V16U16.
d3dx9: Add support for D3DFMT_Q16W16V16U16.
d3dx9/tests: Add tests for DDS files containing indexed pixel formats.
d3dx9: Include color palette size when validating the size of DDS files with indexed pixel formats.
d3dx9: Add support for retrieving pixels from DDS files with indexed pixel formats.
d3dx9: Add support for D3DFMT_A8P8 DDS files.
d3dx9/tests: Add more DDS pixel format tests.
d3dx9/tests: Add file size validation tests for DDS files containing packed pixel formats.
d3dx9: Validate the size of DDS files containing packed pixel formats.
d3dx9: Rework conversion to/from D3DFORMAT from/to DDS pixel format.
d3dx9: Add support for more DDS pixel formats.
d3dx9: Do not use WIC to detect image file format.
d3dx9/tests: Add TGA header image info tests.
d3dx9: Use d3dx9 to get image information for targa files.
d3dx9/tests: Remove now unused arguments from check_tga_image_info().
d3dx9/tests: Add more tests for loading targa files.
d3dx9: Add support for loading basic targa images without WIC.
d3dx9: Add support for decoding targa files with different pixel orders in d3dx9.
d3dx9: Add support for decoding targa files with run length encoding in d3dx9.
d3dx9: Add support for decoding targa files with a color map in d3dx9.
Daniel Lehman (4):
msvcp90/tests: Add tests for string length.
msvcp90/tests: Add some tests for num_put on ints.
msvcp90: Exclude sign from count in num_put.
msvcp90/tests: Add tests for int in num_put.
Dmitry Timoshkov (1):
gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback.
Elizabeth Figura (6):
wined3d: Move rasterizer state invalidation to wined3d_stateblock_set_render_state().
ddraw: Do not apply the entire stateblock when clearing.
d3d8: Do not apply the stateblock when clearing.
d3d9: Do not apply the stateblock when clearing.
win32u: Allocate the whole max_points for the top_points array.
win32u: Always select the point that's closer to the ellipse.
Eric Pouech (3):
dbghelp: Protect against buffer overflow in traces.
dbghelp: Add a couple of TRACE().
dbghelp: Fix a couple a typos.
Esme Povirk (1):
comctl32: Implement WM_GETOBJECT for buttons.
Gabriel Ivăncescu (7):
jscript: Allow ES5 keywords as identifiers in variable declarations.
jscript: Allow ES5 keywords as identifiers in catch statements.
jscript: Allow ES5 keywords as identifiers in function expressions.
jscript: Allow ES5 keywords as identifiers in function parameter lists.
jscript: Allow ES5 keywords as identifiers in labelled statements.
jscript: Allow ES5 keywords as identifiers in expressions.
mshtml: Make sure disp_invoke is called before locking the document mode.
Hans Leidekker (4):
msiexec: Remove quotes from all filenames.
findstr: Fix codepage passed to WideCharToMultiByte().
ntdll: Add a stub implementation of NtQueryInformationThread(ThreadIdealProcessorEx).
sort: New program.
Haoyang Chen (1):
mlang: Check handle validity in IMLangFontLink_GetFontCodePages.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Paul Gofman (15):
wininet: Validate pointers in InternetReadFile().
user32/tests: Add tests for QueryDisplayConfig( QDC_VIRTUAL_MODE_AWARE ).
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserGetDisplayConfigBufferSizes().
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserQueryDisplayConfig().
ntdll/tests: Add more tests for printf format.
ntdll: Fix passing char argument to pf_handle_string_format().
ntdll: Output unrecognized format symbol in pf_vsnprintf().
ntdll: Make 'l' modifier also affect char wideness.
ntdll: Make 'h' take precedence over 'l' in pf_vsnprintf().
shlwapi: Use printf implementation from ntdll.
windowscodecs: Implement 48bppRGB -> 64bppRGBA conversion.
ddraw/tests: Fix texture interface IID in test_multiple_devices() for ddraw1.
ddraw: Use global handle table in d3d_device2_SwapTextureHandles().
ddraw: Validate handles in d3d_device2_SwapTextureHandles().
ddraw: Update state if d3d_device2_SwapTextureHandles() results in texture change.
Piotr Caban (2):
advapi32: Don't trace password in CreateProcessWithLogonW stub.
conhost: Start input thread for GetNumberOfConsoleInputEvents.
Rémi Bernon (49):
win32u: Use an internal message for XIM IME notifications.
win32u: Add winevulkan/driver entry points to sync surfaces with the host.
winemac: Stop mapping toplevel window rects to parent window.
winemac: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use XTranslateCoordinates to compute relative coordinates.
win32u: Introduce a new NtUserSetRawWindowPos call for the drivers.
win32u: Pass a rect to SetIMECompositionWindowPos.
win32u: Pass absolute rect to SetIMECompositionRect.
winemac: Use SetIMECompositionRect to keep track of IME position.
win32u: Notify the drivers of destroyed windows on thread detach.
winedmo: Check and guard libavcodec/bsf.h inclusion.
winex11: Move the XDND IDataObject implementation around.
winex11: Cleanup XDND IDataObject methods and variables.
winex11: Use the IDataObject interface to check for CF_HDROP format.
winex11: Cleanup variable names in X11DRV_XDND_SendDropFiles.
winex11: Use IDataObject to get CF_HDROP format for WM_DROPFILES.
winex11: Allocate the XDND data object dynamically.
winex11: Pass window_rects structs parameters to move_window_bits.
win32u: Copy the entire window rect when the whole window is moved.
win32u: Adjust the valid rects to handle visible rect changes.
winex11: Only enter the CS to get a reference on the data object.
winex11: Assume that PostMessageW WM_DROPFILES succeeds.
winex11: Get rid of X11DRV_XDND_SendDropFiles helper.
winex11: Clear the XDND data object on drop event.
winex11: Use a custom IEnumFORMATETC interface implementation.
winex11: Get rid of X11DRV_XDND_HasHDROP helper.
win32u: Use parent-relative coordinates for old window rectangles.
win32u: Avoid crashing when creating a new layered window surface.
winetest: Add printf attributes to strmake.
winetest: Add printf attributes to xprintf.
winetest: Always use a temporary file for test output.
winetest: Pass output file handle to xprintf.
winetest: Introduce some test report helpers.
winetest: Implement JUnit report output mode.
gitlab: Use winetest JUnit output mode.
winex11: Keep the target window on the data object.
winex11: Keep the target window point on the data object.
winex11: Keep the target effect on the data object.
winex11: Keep the IDropTarget pointer instead of HWND/accepted.
winex11: Keep the IDropTarget pointer on the data object.
winegstreamer: Use wmaversion = 4 for MFAudioFormat_WMAudio_Lossless.
win32u: Introduce a new NtUserDragDropCall message call.
winex11: Compute DND drop point earlier when dropping files/urls.
winex11: Query the DndSelection property value earlier.
winex11: Lookup for files/urls DND target window in user32.
win32u: Move the PE side DND callbacks to user32.
win32u: Map points from window monitor DPI to thread DPI.
user32/tests: Flush events after test_SetForegroundWindow.
Santino Mazza (2):
gdiplus: Assign box height when bounding box height is larger.
mmdevapi: Fix buffer overflow in pulse_set_sample_rate.
Vibhav Pant (1):
bluetoothapis/tests: Redefine SDP type descriptor constants to compile with older GCC versions.
Zhiyi Zhang (4):
gitlab: Update generated files for static analysis.
ntdll/tests: Add reserve object tests.
ntdll: Implement NtAllocateReserveObject().
ntdll/tests: Add NtAllocateReserveObject() tests.
Ziqing Hui (4):
propsys/tests: Add tests for PropVariantToVariant.
propsys/tests: Test converting clsid to string.
propsys: Support converting clsid to string for PropVariant.
propsys: Initially implement PropVariantToVariant.
```
1
0
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
----------------------------------------------------------------
### 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(a)std@@YAAAV?$basic_istream(a)DU?$char_traits(a)D@std@@@1(a)AAV21@AAV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)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(a)DU?$char_traits(a)D@std@@@std@@QAE(a)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.
```
1
0
The Wine development release 9.18 is now available.
What's new in this release:
- New Media Foundation backend using FFMpeg.
- Initial support for network sessions in DirectPlay.
- New Desktop Control Panel applet.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.18.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.18 (total 18):
- #10648 gRPC library fails to send RPC packets correctly (nonblocking send() should not perform partial writes)
- #53727 TreeView doesn't check the return value of TREEVIEW_SendExpanding
- #55347 widl generated winrt headers fails to compile with C++ code
- #56596 Keyboard keypress generates NumLock keypress for all keys
- #56873 WordSmith 9.0 doesn't show text in installer
- #57136 Steinberg Download Assistant crashes (part 2)
- #57141 Repaper Studio crashes on unimplemented function USER32.dll.CreateSyntheticPointerDevice
- #57155 Gigapixel ai crashes on startup in win7 mode
- #57158 HID devices not detected after removal until Wine processes restart
- #57160 16-bit color no longer works when using Xephyr
- #57163 msiexec sometimes fails with unquoted filenames
- #57173 Wine-dev 9.17 does not allow drag-and-drop of files into LTspice
- #57181 PathGradientBrushTest:Clone fails with InvalidParameter
- #57189 Caesar 3, Neighbours from Hell 1-2: screen cropped
- #57190 Configure ends with: Do '' to compile Wine.
- #57195 wineconsole is broken Wine 9.17 after moving its window (Far File Manager is broken as well, as a result)
- #57199 Window surface leaks with DPI unaware apps
- #57200 Warlords III: Darklords Rising shows distorted image
### Changes since 9.17:
```
Aida Jonikienė (1):
winewayland: Make the pointer protocols optional.
Alexandre Julliard (47):
combase: Avoid modifying input object attributes in create_key (Clang).
ole32: Avoid modifying input object attributes in create_key (Clang).
odbc32: Avoid buffer overflow on empty connection string (Clang).
ntdll: Remove some dead initializations (Clang).
configure: Re-generate with autoconf 2.72.
configure: Disable misguided autoconf error on wow64 builds without large time_t.
configure: Use the compiler instead of the preprocessor to check CPU defines.
configure: Remove some no longer used defines.
server: Add a helper to append data to a buffer.
server: Remove some dead initializations (Clang).
server: Avoid a redundant list check (Clang).
server: Avoid memcpy with null pointer (Clang).
server: Make masks unsigned (Clang).
mf/tests: Remove todo_wine from a test that succeeds now.
ntoskrnl/tests: Mark some failing tests as todo_wine.
comctl32/tests: Skip hotkey test if window is not foreground.
comctl32/tests: Wait a bit more for the tooltip to appear.
d3dx9: Use sizeof on the correct type in malloc (Clang).
dsound: Use sizeof on the correct type in malloc (Clang).
gdiplus: Use sizeof on the correct type in malloc (Clang).
hidclass.sys: Use sizeof on the correct type in malloc (Clang).
msi: Use sizeof on the correct type in malloc (Clang).
msvcrt: Use sizeof on the correct type in malloc (Clang).
wintrust: Use sizeof on the correct type in malloc (Clang).
win32u: Use the correct type in malloc (Clang).
mscoree: Use the correct size in malloc (Clang).
winex11: Use the correct type in malloc (Clang).
winecfg: Use the correct type in malloc (Clang).
comctl32/tests: Skip tests if tooltip isn't displayed.
comctl32/tests: Make some messages optional in propsheet display sequence.
urlmon/tests: Skip test if ftp connection fails.
ntdll: Avoid closing an invalid handle (Clang).
regedit: Fix potential buffer overflow (Clang).
oleaut32: Fix potential double free (Clang).
msvcrt: Mark _CxxThrowException noreturn (Clang).
configure: Update make command in final message.
configure: Add /usr/share/pkgconfig to the pkg-config path.
comctl32/tests: Add more optional propsheet messages.
nsi/tests: Properly cancel all change notifications.
comctl32/tests: Fix an optional propsheet message id.
cmd/tests: Comment out test that shows a popup on Windows.
po: Update files for previous commit.
sc/tests: Remove todo from a test that succeeds now.
ntdll/tests: Remove an unreliable test.
configure: Remove some obsolete checks.
configure: Remove some no longer needed program checks.
configure: Remove some no longer needed header checks.
Alexey Lushnikov (1):
gdi32: Actually return the device context and bitmap from get_bitmap_info().
Alistair Leslie-Hughes (3):
dplayx: Merged IDirectPlayLobby/2A in to IDirectPlayLobby3A.
dplayx: Use a single reference count for IDirectPlayLobby interfaces.
dplayx: Merged IDirectPlayLobby/2 in to IDirectPlayLobby3.
Anton Baskanov (26):
dpwsockx: Remove endianness conversion macros.
dpwsockx: Remove unused DPWS_DATA fields.
dplayx: Don't crash if sdesc is NULL in EnumSessions().
dplayx/tests: Use CRT allocation functions.
dplayx/tests: Test client-side of EnumSessions() separately.
dplayx: Check dwSize of DPSESSIONDESC2 in EnumSessions().
dpwsockx: Call WSACleanup() in ShutdownEx().
dpwsockx: Start listening for incoming TCP connections in EnumSessions().
dpwsockx: Broadcast enumeration request in EnumSessions().
dplayx/tests: Report lines correctly in session enumeration callback.
dplayx/tests: Retry enumeration manually instead of returning TRUE from the callback.
dpwsockx: Add a background thread.
dpwsockx: Accept incoming TCP connections.
dpwsockx: Receive TCP messages.
dplayx: Add a separate session list for walking.
dplayx: Put the sync enumeration code before the async one.
dplayx: Move enumeration reset and prune out of DP_InvokeEnumSessionCallbacks().
dplayx: Enter critical section when accessing the session cache.
dplayx: Restart session enumeration when the callback returns TRUE.
dplayx: Respect timeout set by session enumeration callback.
dplayx: Add a string copying helper function and use it in DP_CalcSessionDescSize() and DP_CopySessionDesc().
dplayx: Reduce nesting of the async enumeration code.
dplayx: Send password in session enumeration request.
dplayx/tests: Correctly compute session enumeration reply size.
dplayx: Check the message size before access.
dplayx: Check ENUMSESSIONSREPLY size before access.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (3):
include: Add Calendar runtimeclass in windows.globalization.idl.
include: Add DXVA_PicParams_HEVC_RangeExt declaration in dxva.h.
include: Add new GUIDs in dxva.h.
Brendan Shanks (8):
winemac: Marshal user-mode callback pointers in macdrv_init wow64 thunk.
Revert "configure: Don't define HAVE_CLOCK_GETTIME on macOS.".
ntdll: Always use mach_continuous_time() on macOS.
sfnt2fon: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
widl: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
winebuild: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wmc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wrc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Charlotte Pabst (2):
comdlg32: Allow entering a filter in the itemdlg file name field.
comdlg32/tests: Add tests for itemdlg file name field filters.
Danyil Blyschak (1):
mlang: Use EnumFontFamiliesEx() in map_font().
Dmitry Timoshkov (4):
msiexec: Avoid crash if PackageName is NULL.
advapi32/tests: Add some tests for SERVICE_CONFIG_DELAYED_AUTO_START_INFO.
services: Add support for ChangeServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
services: Add support for QueryServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
Elizabeth Figura (14):
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when light state changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the light type changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the vertex declaration changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_TSS_TEXCOORD_INDEX changes.
wined3d: Add an append_structure() helper for get_physical_device_info().
wined3d: Don't use structures from unsupported extensions in get_physical_device_info().
wined3d: Do not require EXT_vertex_attribute_divisor.
winevulkan: Separate a parse_array_len() helper.
winevulkan: Handle multidimensional static arrays.
wined3d: Use W as a fog source with shaders and a non-orthogonal matrix.
wined3d: Use output specular W as a fog source if the shader does not output oFog.
wined3d: Invalidate STATE_SHADER when WINED3D_TS_PROJECTION changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when fog states change.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_VERTEXBLEND changes.
Eric Pouech (10):
cmd/tests: Add some more tests.
cmd: Expand command before searching for builtin commands.
cmd: Introduce internal command to change drive.
cmd: Introduce helper to search for external program.
cmd: Introduce helper for running a builtin command.
cmd: Integrate builtin command search in search_program() helper.
cmd: Speed-up external command look up.
cmd: Get rid of circular ref for internal/external commands.
winedbg: Give user feedback when attaching to a second process.
dbghelp: Fix discrimination of local variable / parameter in PDB files.
Esme Povirk (3):
msiexec: Fix allocation to include NULL terminator.
user32: Implement listbox MSAA events on click.
gdiplus: Fix assignment of result in GdipCloneBrush.
Francisco Casas (3):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR7.
quartz: Properly copy data to render surfaces of planar formats in VMR7.
quartz: Align src_pitch for planar formats.
Gabriel Ivăncescu (13):
mshtml: Don't cast to int to bound the timer.
mshtml: Remember if timer was blocked.
mshtml: Don't process tasks recursively.
mshtml: Don't process tasks recursively from script runners.
mshtml: Don't process tasks recursively from Gecko events.
mshtml: Use designated initializers for function_dispex.
mshtml: Move formatting of the builtin func disp string to a helper.
mshtml: Implement retrieving the builtin method props for the legacy function objects.
jscript: Use proper dispatch flags to retrieve the enumerator.
jscript: Use deferred fill-in if available to fill the exception info.
mshtml/tests: Add more host object related tests for IE9+ modes.
mshtml: Return MSHTML_E_INVALID_PROPERTY when trying to construct a legacy function object.
jscript: Return JS_E_OBJECT_NOT_COLLECTION when object has no DISPID_NEWENUM.
Gijs Vermeulen (1):
user32: Add CreateSyntheticPointerDevice stub.
Hans Leidekker (1):
odbc32: Only call process_detach() if the unixlib was successfully loaded.
Jacek Caban (7):
include: Define __imp_aux symbols in __ASM_DEFINE_IMPORT macro on ARM64EC.
widl: Use alias qualified names in winrt mode in write_type_left.
tools: Use GetModuleFileNameA in get_bindir on Windows targets.
tools: Use /proc/self/exe in get_bindir on Cygwin targets.
include: Use __has_declspec_attribute in corecrt.h.
include: Remove DECLSPEC_ALIGN define from sys/stat.h.
include: Use __has_declspec_attribute in basetsd.h.
Louis Lenders (1):
uxtheme: Add stub for FlushMenuThemes.
Michael Ehrenreich (2):
kernelbase: Fix EnumSystemLocalesA/W filtering of default/alternate sort orders.
kernel32/tests: Add basic tests for EnumSystemLocalesA/W.
Nikolay Sivov (1):
d2d1/tests: Add a few tests for ComputeArea().
Owen Rudge (2):
sc: Return error value rather than 1 on failure.
ntdll: Ensure Unix path strings are wrapped with debugstr_a in traces.
Paul Gofman (6):
ntdll: Do not call LDR notifications during process shutdown.
ws2_32/Tests: Add tests for send buffering.
ntdll: Avoid short writes on nonblocking sockets.
ntdll: Locally duplicated socket fd for background send.
ntdll: Don't cancel background socket sends.
server: Correct STATUS_NOT_FOUND return from (cancel_async).
Rémi Bernon (112):
winex11: Resize offscreen client surfaces after they are presented.
winex11: Create OpenGL client windows in window DPI units.
winex11: Detach offscreen OpenGL windows after creation.
winex11: Introduce a new present_gl_drawable helper.
winex11: Implement offscreen window presents with NtGdiStretchBlt.
winex11: Drop now unnecessary X11DRV_FLUSH_GL_DRAWABLE ExtEscape.
winex11: Use offscreen rendering to scale DPI-unaware GL windows.
winedmo: Introduce a new internal DLL.
winedmo: Link and initialize FFmpeg on load.
winedmo: Export a new winedmo_demuxer_check function.
mfsrcsnk: Stub byte stream handlers if demuxing is supported.
winewayland: Move wayland_surface_get_client to window.c.
winewayland: Introduce a new wayland_client_surface_attach helper.
winewayland: Pass hwnd to and return client rect from wayland_surface_get_client.
winewayland: Move client surface to wayland_win_data struct.
winewayland: Detach client surfaces when they are not visible.
mfsrcsnk: Stub the source IMFByteStreamHandler interface.
mfsrcsnk: Stub the media source IMFMediaSource interface.
mfsrcsnk: Implement IMFMediaSource_Shutdown for the media sources.
mfsrcsnk: Implement IMFMediaSource_GetCharacteristics for the media sources.
mfsrcsnk: Stub the media source IMFGetService interface.
mfsrcsnk: Stub the media source IMFRateSupport interface.
mfsrcsnk: Stub the media source IMFRateControl interface.
winex11: Use the correct dnd_drop_event user dispatch callback.
win32u: Leave window surface alpha bits to -1 when unset.
hidclass: Combine waits for pending IRP and I/O thread shutdown.
mfsrcsnk: Get the IMFByteStream url from MF_BYTESTREAM_ORIGIN_NAME.
mfsrcsnk: Seek and get the media source IMFByteStream length.
winedmo: Export new winedmo_demuxer_(create|destroy) functions.
mfsrcsnk: Create a winedmo_demuxer object on the media sources.
winedmo: Implement FFmpeg seek and read with user callbacks.
winedmo: Allocate a client-side stream context with the demuxers.
winedmo: Use the stream context to track stream position.
winedmo: Use the stream context as a buffer for larger reads.
winedmo: Introduce a winedmo_stream callback interface for I/O.
winedmo: Return detected MIME type from winedmo_demuxer_create.
winedmo: Improve MIME type detection with the stream url.
winedmo: Detect and return stream count from winedmo_demuxer_create.
winedmo: Compute and return total duration from winedmo_demuxer_create.
winedmo: Export a new winedmo_demuxer_stream_type function.
mfsrcsnk: Initialize a stream map, sorted for specific mime types.
winevulkan: Use client rect in window DPI instead of monitor DPI.
win32u: Pass vulkan driver private data to vulkan_surface_presented.
winex11: Use a dedicated structure for vulkan surface private data.
winex11: Update the vulkan surface size when it is presented.
winex11: Update the GL client window size when it is presented.
winex11: Only update the client window position in sync_client_position.
winex11: Move offscreen client window helpers to init.c.
winex11: Implement vulkan DPI scaling and child window rendering.
winedmo: Pass stream size by value to winedmo_demuxer_create.
winedmo: Implement video media type conversion.
winedmo: Implement audio media type conversion.
mfsrcsnk: Stub IMFMediaStream objects for the media source.
mfsrcsnk: Create stream descriptors for the media source streams.
winedmo: Implement more compressed audio/video formats conversion.
conhost: Advertise system DPI awareness.
win32u: Lock the window when removing a vulkan surface from its list.
winex11: Move update_gl_drawable_size helper around.
winex11: Resize GL drawable when necessary, if wglSwapBuffer isn't called.
include: Introduce a new __has_declspec_attribute macro.
include: Use winnt.h DECLSPEC_UUID definition in rpcndr.h.
include: Use winnt.h DECLSPEC_NOVTABLE definition in rpcndr.h.
include: Add DECLSPEC_UUID/DECLSPEC_NOVTABLE to MIDL_INTERFACE.
include: Remove __need_wint_t/__need_wchar_t definitions.
include: Don't import atexit from CRTs.
include: Define __cpuid(ex) as intrinsics when possible.
win32u: Avoid leaking window surface references with DPI scaling.
winedmo: Fix winedmo_demuxer_create prototype in spec file.
winedmo: Export a new winedmo_demuxer_stream_name function.
mfsrcsnk: Fill the stream descriptors MF_SD_STREAM_NAME attribute.
winedmo: Export a new winedmo_demuxer_stream_lang function.
mfsrcsnk: Fill the stream descriptors MF_SD_LANGUAGE attribute.
mfsrcsnk: Select one stream of each time, exclude others.
win32u: Use map_dpi_rect in map_dpi_create_struct.
win32u: Use map_dpi_rect in map_dpi_winpos.
win32u: Split monitor_from_rect logic to a separate helper.
win32u: Split get_monitor_info into separate helpers.
win32u: Use get_monitor_from_handle in get_monitor_dpi.
win32u: Introduce a new monitor_dpi_from_rect helper.
win32u: Introduce a new monitor_info_from_rect helper.
win32u: Introduce a new monitor_info_from_window helper.
joy.cpl: Refresh devices list when they are plugged in or out.
joy.cpl: Cleanup the main panel control IDs and text.
joy.cpl: Reduce the height of some main panel controls.
joy.cpl: Add advanced settings controls in the main panel.
win32u: Fix inverted return condition in get_cursor_pos.
winex11: Also resize or re-create the GL drawable with XComposite child windows.
mfsrcsnk: Implement asynchronous media source start operation.
mfsrcsnk: Implement asynchronous media source stop operation.
mfsrcsnk: Implement asynchronous media source pause operation.
winedmo: Export a new winedmo_demuxer_seek function.
winedmo: Export a new winedmo_demuxer_read function.
winedmo: Read sample flags, timestamps and duration.
mfsrcsnk: Read samples from the media source demuxer.
include: Define NULL as 0LL in C++ on 64bit archs.
win32u: Use get_virtual_screen_rect directly within the module.
win32u: Use is_window_rect_fullscreen directly in clip_fullscreen_window.
win32u: Use get_window_rect directly in clip_fullscreen_window.
win32u: Pass whether a window is fullscreen to drivers WindowPosChanged.
winewayland: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
winex11: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
win32u: Remove now unused NtUserIsWindowRectFullScreen call.
desk.cpl: Introduce new control panel applet.
desk.cpl: Enumerate the desktop display devices.
desk.cpl: Display the virtual desktop and monitors rects.
desk.cpl: Implement monitor highlight and selection.
desk.cpl: Enumerate and display available resolutions.
desk.cpl: Add a reset button to discard display settings changes.
desk.cpl: Update the monitor rects when changing resolutions.
desk.cpl: Keep the monitor rectangles snapped together.
desk.cpl: Implement monitor rectangle positioning.
desk.cpl: Add a button to apply display settings changes.
Stefan Dösinger (1):
netapi32: Add a stub NetFreeAadJoinInformation function.
```
1
0
The Wine development release 9.17 is now available.
What's new in this release:
- Window surface scaling on High DPI displays.
- Bundled vkd3d upgraded to version 1.13.
- Mono engine updated to version 9.3.0
- Improved CPU detection on ARM64.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.17.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.17 (total 29):
- #11770 mapi32.dll.so does not support attachments for sending mail
- #18154 cmd.exe: failure to handle file extension association
- #18846 Anti-Grain Geometry gdiplus Demo does not render correctly
- #26813 Multiple programs ( python-3.1.3.amd64.msi, scoop) need support for administrative install (msiexec.exe /a )
- #42601 Foxit Reader 8.2 crashes after running for an extended period of time (>30 minutes)
- #43472 Several apps (R-Link 2 Toolbox, Mavimplant 1.0, Kundenkartei 5) crash on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)
- #48404 Can't close free game notifications from Epic Games Store
- #49244 GdipDeleteFontFamily is declared, but does nothing
- #50365 Starcraft Remastered black screen on launch or window only mode
- #52687 OpenKiosk installer not working
- #53154 Crash of EpicOnlineServicesUserHelper.exe" --setup
- #54212 Nexus ECU Tuning Software for HALTECH ECU
- #55322 SBCL 2.3.4: unattended msiexec in administrator mode fails
- #55343 Game Constantine doesn't respond to key inputs.
- #55410 msi:package fails on w8adm
- #55804 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because libxml2 doesn't like "ISO8859-1" (builtin msxml6).
- #55936 Sven Bømwøllen series: Several games crash after loading screen
- #55964 wine-mono: Dlls include reference to filenames different to the files in wine-mono-8.1.0-dbgsym.tar.xz
- #56102 Comdlg32/Color - Out of bound value is used
- #56103 PropertySheet - CTRL+TAB and CTRL+SHIFT+TAB not processed
- #56352 comctl32: Handle progress bar state messages
- #57096 Hogia Hemekonomi does not start
- #57102 Textbox-border is missing if textbox is on topmost layer of e. g. a TabControl.
- #57103 "opengl32.dll" failed to initialize with WOW64 on Wayland
- #57117 BsgLauncher cannot launch due to unhandled exception in System.Security.Cryptography (.NET48)
- #57119 WPF app (VOCALOID) fails to initialize Markup
- #57127 Dutch button labels are cut off in Wine Internet Explorer
- #57140 ADOM fails to launch
- #57145 Quicktime 3.02 (16-bit) setup hangs
### Changes since 9.16:
```
Aida Jonikienė (4):
explorer: Make the driver error message more neutral.
msvcrt: Print less FIXMEs for ThreadScheduler_ScheduleTask*().
msvcrt: Remove FIXME for _StructuredTaskCollection_dtor().
msvcrt: Only print FIXME once for Context_Yield().
Alex Henrie (5):
explorer: Make the "Wine Desktop" window title translatable.
explorer: Don't display "Default" in the virtual desktop window title.
ieframe: Widen toolbar buttons to accommodate Dutch translation.
explorer: Return void from show_icon and hide_icon.
explorer: Support the NoTrayItemsDisplay registry setting.
Alexandre Julliard (3):
vkd3d: Import upstream release 1.13.
ntdll: Use custom x64 thunks for syscall exports.
ntdll: Add custom x64 thunk for KiUserExceptionDispatcher.
Alexandros Frantzis (1):
winewayland: Rename surface buffer size to content size.
Alistair Leslie-Hughes (9):
odbccp32: Return false on empty string in SQLValidDSNW.
odbccp32: Check for valid DSN before delete in SQLRemoveDSNFromIniW.
odbccp32: Correctly handle config_mode in SQLWrite/RemoveDSNFromIniW.
odbc32: Pass through field id SQL_MAX_COLUMNS_IN_TABLE in SQLColAttribute/W.
odbc32: Correcly convert columns ID in SQLColAttribute/W for ODBC v2.0.
odbccp32: Only append slash if required in write_registry_values.
include: Move ColorChannelLUT outside of if __cplusplus.
include: Add basic constructors for Rect/RectF.
include: Add class SizeF.
Andrew Eikum (1):
mmdevapi: Add stub IAudioClockAdjustment implementation.
Andrew Nguyen (2):
msi/tests: Add additional test cases for validating package template summary info strings.
msi: Allow package template summary info strings without semicolon separator.
Arkadiusz Hiler (2):
mmdevapi/tests: Add more IAudioClock tests.
winepulse.drv: Implement set_sample_rate.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
msxml3: Allow encoding name "ISO8859-1".
Billy Laws (2):
ntdll: Populate the SMBIOS with ARM64 ID register values.
wineboot: Populate ARM64 ID register registry keys using SMBIOS info.
Biswapriyo Nath (3):
include: Add http3 flag in winhttp.h.
include: Add input assembler related constants in d3d11.idl.
include: Add ISelectionProvider2 definition in uiautomationcore.idl.
Brendan McGrath (2):
windows.gaming.input: Zero 'value' in GetCurrentReading until first state change.
winegstreamer: Allow application to drain queue.
Brendan Shanks (2):
winemac.drv: Call CGWindowListCreateImageFromArray through a dlsym-obtained pointer.
secur32: Ensure unixlib function tables and enum stay in sync.
Dmitry Timoshkov (2):
dssenh: Add support for enumerating algorithms.
dssenh: Add support for CPGetProvParam(PP_NAME).
Dylan Donnell (1):
winegstreamer: Support IYUV alias for I420.
Elizabeth Figura (12):
cmd/tests: Save and restore the drive when performing drive change tests.
cmd: Do not try to handle ERROR_FILE_NOT_FOUND from CreateProcessW().
cmd: Separate a run_full_path() helper.
cmd: Run files with ShellExecute() if CreateProcess() fails.
wined3d: Invalidate STATE_SHADER instead of STATE_POINT_ENABLE.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when texture states change.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when WINED3D_RS_COLORKEYENABLE changes.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when the texture changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_NORMALIZENORMALS changes.
cmd: Allow deleting associations via ftype.
cmd: Report an error from ftype or assoc if the value is empty.
winegstreamer: Append HEAACWAVEINFO extra bytes to AAC user data.
Eric Pouech (5):
cmd: Don't display dialog boxes.
cmd/tests: Add some more tests.
cmd: Minor fix to the lexer.
cmd: Fix reading some input in CHOICE command.
cmd: Strip leading white spaces and at-sign from command nodes.
Esme Povirk (2):
mscoree: Update Wine Mono to 9.3.0.
user32: Implement EVENT_OBJECT_FOCUS for listbox items.
Etaash Mathamsetty (1):
win32u: Implement NtGdiDdDDIEnumAdapters.
Fabian Maurer (5):
comctl32/tests: Add test for propsheet hotkey navigation.
comclt32: Allow hotkeys for propsheet navigation.
comdlg32: Update luminosity bar when changing hue/sat/lum manually.
comdlg32: Prevent recursion inside CC_CheckDigitsInEdit.
comdlg32: Properly handle out of bounds values.
Garrett Mesmer (1):
ntdll: Determine the available address space dynamically for 64bit architectures.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.295.
Hans Leidekker (14):
rsaenh: Return an error on zero length only when decrypting the final block.
wmiutils: Handle paths with implied key.
msi: Remove traces from a couple of helpers.
msi: Add support for the ADMIN top level action.
msi: Implement the InstallAdminImage action.
msiexec: Remove an obsolete fixme.
msiexec: Don't remove quotes from properties passed on the command line.
msi/tests: Test escaped double quote on the command line.
msi: Bump version to 5.0.
wpcap/tests: Skip tests when pcap_can_set_rfmon() returns PCAP_ERROR_PERM_DENIED.
msiexec: Don't quote property values if already quoted.
odbc32: Fix a memory leak.
odbc32: Fix driver name query.
odbc32: Load libodbc dynamically.
Haoyang Chen (1):
gdiplus: Check if graphics is occupied in GdipDrawString.
Huw D. M. Davies (11):
nsiproxy: Add linux guards for the IPv6 forward info.
win32u: Use unsigned bitfields.
widl: Remove unused variable.
winedump: Remove unused variable.
opengl32: Test the unix call function table sizes.
combase: Group the post quit info in a structure.
include: Always declare the imagelist read and write functions.
winemapi: Don't write past the end of the argv array.
secur32: Simplify the cred_enabled_protocols logic slightly.
winecoreaudio: Set the synth volume to the greater of the left and right channels.
widl: Avoid using sprintf() to add a single character.
Jacob Czekalla (4):
user32/tests: Add test for edit control format rect size.
user32/edit: Fix incorrect size for format rect when it is smaller than text.
comctl32/tests: Add test for edit control format rect size.
comctl32/edit: Fix incorrect size for format rect when it is smaller than text.
Jason Edmeades (2):
cmd: Skip directories when looking for an openable file.
cmd/tests: Test running a file with an association.
Jeremy White (1):
winemapi: Directly use xdg-email if available.
Martin Storsjö (3):
ntdll: Improve ARM feature checking from /proc/cpuinfo.
include: Add new PF_* constants.
arm64: Detect new processor features.
Nikolay Sivov (8):
d3dx9/tests: Use explicit numeric values as expected test results.
d3dx9/tests: Remove unused fields from effect values test data.
d3dx9/tests: Add a test for matrix majority class.
d3d10/effect: Rename some variable array fields to better reflect their meaning.
d3d10/effect: Simplify setting GlobalVariables value.
d3d10/tests: Compile some of test effects.
d3d10/tests: Fully check matrix types.
d3d10/tests: Fully check scalar and vector types.
Paul Gofman (10):
concrt140: Don't forward _IsSynchronouslyBlocked functions.
dxcore: Prefer native.
kernel32/tests: Add a test for TLS links.
ntdll: Reserve space for some TLS directories at once.
ntdll: Iterate TEBs only once in alloc_tls_slot().
ntdll: Do not use TlsLinks for enumerating TEBs.
ntdll: Ignore HW breakpoints on the Unix side.
uxtheme: Define a constant for default transparent colour.
uxtheme: Try to avoid TransparentBlt() when possible.
ntdll: Allow sending to port 0 on UDP socket to succeed.
Rémi Bernon (69):
win32u: Only allow a custom visible rect for toplevel windows.
win32u: Add missing thunk lock parameters callback.
opengl32: Add missing WOW64 process_attach unixlib entry.
opengl32: Remove unnecessary function addresses.
winex11: Wrap x11drv_dnd_drop_event params in a struct.
winex11: Wrap x11drv_dnd_enter_event params in a struct.
winex11: Wrap x11drv_dnd_post_drop params in a struct.
winex11: Use a UINT64 for the foreign_window_proc parameter.
winex11: Route kernel callbacks through user32.
mfmediaengine: Remove duplicate classes IDL.
mfplat: Fix pointer dereference when caching buffer data.
win32u: Map window region DPI before calling into the drivers.
win32u: Map window rects DPI before calling into the drivers.
win32u: Move window_surface creation helper to dce.c.
win32u: Implement DPI scaled window surface.
explorer: Use the EnableShell option to show or hide the taskbar.
mfreadwrite: Always try inserting a converter for non-video streams.
winewayland: Require the wp_viewporter protocol.
winewayland: Set the window viewport source rectangle.
winewayland: Create the window surface buffer queue unconditionally.
winewayland: Avoid recreating window surface buffer queues.
mfsrcsnk: Refactor sink class factory helpers.
mfsrcsnk: Register the AVI Byte Stream Handler class.
mfsrcsnk: Register the WAV Byte Stream Handler class.
mfmp4srcsnk: Register the MPEG4 Byte Stream Handler class.
mfasfsrcsnk: Register the Asf Byte Stream Handler class.
mfmp4srcsnk: Register the MP3 and MPEG4 sink factory classes.
winewayland: Remove unnecessary logical to physical DPI mapping.
winex11: Map message pos to physical DPI in move_resize_window.
win32u: Map rect to window DPI in expose_window_surface.
win32u: Pass window_from_point dpi to list_children_from_point.
server: Pass window's per-monitor DPI in set_window_pos.
user32: Move dpiaware_init to SYSPARAMS_Init.
explorer: Make the desktop thread per-monitor DPI aware.
win32u: Stop setting DPI_PER_MONITOR_AWARE by default.
colorcnv: Register the Color Converter DMO class.
msvproc: Register the Video Processor MFT class.
resampledmo: Register the Resampler DMO class.
wmadmod: Register the WMA Decoder DMO class.
msauddecmft: Register the AAC Decoder MFT class.
wmvdecod: Register the WMV Decoder DMO class.
msmpeg2vdec: Register the H264 Decoder MFT class.
mfh264enc: Register the H264 Encoder MFT class.
gitlab: Install FFmpeg development libraries.
winewayland: Post WM_WAYLAND_CONFIGURE outside of the surface lock.
winewayland: Introduce a new ensure_window_surface_contents helper.
winewayland: Introduce a new set_window_surface_contents helper.
winewayland: Introduce a new get_window_surface_contents helper.
winewayland: Reset the buffer damage region immediately after copy.
winewayland: Move window contents buffer to wayland_win_data struct.
winewayland: Get rid of wayland_surface reference from window_surface.
winewayland: Get rid of window_surface reference from wayland_win_data.
winewayland: Introduce a new wayland_client_surface_create helper.
winewayland: Get rid of the window surface individual locks.
include: Declare D3DKMT resource creation functions.
include: Declare D3DKMT keyed mutex creation functions.
include: Declare D3DKMT sync object creation functions.
win32u: Stub D3DKMTShareObjects.
win32u: Stub D3DKMT resource creation functions.
win32u: Stub D3DKMT keyed mutex creation functions.
win32u: Stub D3DKMT sync object creation functions.
quartz: Simplify the filter registration code.
quartz: Move registration code to main.c.
quartz: Register the MPEG1 Splitter class.
quartz: Register the AVI Splitter class.
quartz: Register the WAVE Parser class.
quartz: Register the MPEG Audio Decoder class.
quartz: Register the MPEG Video Decoder class.
l3codecx.ax: Register the MP3 Decoder class.
Sebastian Lackner (1):
packager: Prefer native version.
Sergei Chernyadyev (2):
comctl32/tooltip: Support large standard title icons.
explorer: Support large tooltip icons.
Tim Clem (5):
nsiproxy: Implement TCP table on top of a server call.
nsiproxy: Implement UDP table on top of a server call.
nsiproxy: Remove now unused git_pid_map and find_owning_pid.
iphlpapi/tests: Confirm that GetExtendedTcpTable associates a socket with the correct PID.
iphlpapi/tests: Confirm that GetExtendedUdpTable associates a socket with the correct PID.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Torge Matthies (2):
winemac: Route kernel callbacks through user32.
user32: Remove NtUserDriverCallback* kernel callbacks.
Vibhav Pant (2):
ntoskrnl: Implement IoGetDevicePropertyData().
ntoskrnl/tests: Add test for getting and setting device properties.
Ziqing Hui (4):
mf/tests: Test h264 encoder sample processing.
mf/tests: Test codecapi for h264 encoder.
winegstreamer/video_encoder: Add ICodecAPI stubs.
winegstreamer/video_encoder: Initially implement ProcessOutput.
```
1
0
The Wine development release 9.16 is now available.
What's new in this release:
- Initial Driver Store implementation.
- Pbuffer support in the Wayland driver.
- More prototype objects in MSHTML.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.16.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.16 (total 25):
- #30938 Update a XIM candidate position when cursor location changes
- #37732 Corel Paint Shop Pro X7 Installer fails
- #41607 Piggi 2 Demo version fails to start and throws runtime and fatal error
- #42997 Opera Neon Installation throws backtrace
- #43251 Anarchy Online Login Window Play and Settings button disapper after minimising and maximising window
- #44516 Anarchy Online doesn't start in Windows7 prefix
- #45105 heap-buffer overflow in gdi32 (CVE-2018-12932)
- #45106 OOB write in gdi32 (CVE-2018-12933)
- #45455 Multiple DIFxApp-based USB hardware driver installers fail due to missing 'setupapi.dll.DriverStoreFindDriverPackageW' stub (Cetus3D-Software UP Studio 2.4.x, Plantronics Hub 3.16)
- #46375 Vietcong: game save thumbnails (screenshots) have corrupted colors
- #48521 StaxRip 2.0.6.0 (.NET 4.7 app) reports 'System.ComponentModel.Win32Exception (0x80004005): Invalid function' when converting AVI (PowerRequest stubs need to return success)
- #53839 Anarchy Online (Old Engine) Installer hangs after downloading game files
- #54587 GMG-Vision - ShellExecuteEx failed: Bad EXE format for install.exe.
- #55841 Lotus Approach: print "Properties" button ignored
- #56622 Systray icons now have black background without compositor, and on some panels can be misaligned or don't redraw, becoming invisible
- #56825 Unable to see screen for Harmony Assistant version 9.9.8d (64 bit)
- #56884 FoxitPDFReaderUpdateService shows crash dialog
- #57003 Naver Line tray icon is always gray since 9.13
- #57036 Splashtop RMM client crashes on Wine 9.14
- #57055 Window surfaces are empty
- #57059 Regression - UI broken with winewayland
- #57070 cnc-ddraw OpenGL performance regression in Wine 9.15
- #57071 Incorrect window drawing
- #57073 StaxRip 2.0.6.0 crashes inside gdiplus
- #57083 ClickStamper: stamp circle is missing.
### Changes since 9.15:
```
Aida Jonikienė (1):
win32u: Initialize parent_rect variables in window.c.
Akihiro Sagawa (5):
oleaut32/tests: Add OLE Picture object tests using DIB section.
oleaut32: Convert 32-bit or 16-bit color bitmaps to 24-bit color DIBs when saving.
oleaut32: Initialize reserved members before saving.
gdiplus/metafile: Fix DrawEllipse record size if compressed.
gdiplus/metafile: Fix FillEllipse record size if compressed.
Alex Henrie (3):
rpcrt4/tests: Correct a comment in test_pointer_marshal.
rpcrt4/tests: Test whether Ndr(Get|Free)Buffer calls StubMsg.pfn(Allocate|Free).
rpcrt4/tests: Allocate stub buffers with NdrOleAllocate.
Alexandre Julliard (15):
ntdll: Avoid nested ARM64EC notifications.
ntdll: Support STATUS_EMULATION_SYSCALL exception on ARM64EC.
ntdll: Add a test for BeginSimulation().
wow64: Fetch the initial thread context from the CPU backend.
wow64: Only update necessary registers when raising exceptions.
include: Unify the syscall thunk on x86-64.
include: Clean up formatting of long asm statements.
ntdll: Allocate the ARM64EC code map in high memory.
ntdll: Allocate the x64 context on the asm side of KiUserExceptionDispatcher.
ntdll: Pass the full exception record to virtual_handle_fault().
ntdll: Implement Process/ThreadManageWritesToExecutableMemory.
ntdll: Implement NtSetInformationVirtualMemory(VmPageDirtyStateInformation).
ntdll/tests: Add tests for Process/ThreadManageWritesToExecutableMemory.
ntdll: Read the Chpev2ProcessInfo pointer before accessing the data.
shell32/tests: Delete a left-over file.
Alexandros Frantzis (5):
winewayland: Store all window rects in wayland_win_data.
winewayland: Support WGL_ARB_pbuffer.
winewayland: Support WGL_ARB_render_texture.
winewayland: Advertise pbuffer capable formats.
winewayland: Fix off-by-one error in format check.
Alfred Agrell (2):
mountmgr.sys: Read and use disk label from dbus.
kernelbase: Delete now-inaccurate 'FS volume label not available' message.
Alistair Leslie-Hughes (4):
odbccp32: Support driver config in SQLGet/WritePrivateProfileStringW.
odbccp32: Correctly hanndle ODBC_BOTH_DSN in SQLWritePrivateProfileStringW.
odbccp32: Fall back to ConfigDSN when ConfigDSNW cannot be found.
kernel32: Return a valid handle in PowerCreateRequest.
Anders Kjersem (2):
reg/tests: Wait for process termination.
wscript: Implement Sleep.
Andrey Gusev (1):
wined3d: Fix return for WINED3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY.
Bernhard Übelacker (1):
userenv: Avoid crash in GetUserProfileDirectoryW.
Billy Laws (4):
include: Move arm64ec_shared_info to winternl and point to it in the PEB.
ntdll: Initialize dll search paths before WOW64 init.
ntdll: Call the exception preparation callback on ARM64EC.
configure: Don't use CPPFLAGS for PE cross targets.
Brendan McGrath (3):
mf/tests: Test video processor with 2D buffers.
mf/tests: Test 1D/2D output on 2D buffers.
mf/tests: Test 2D buffers can override stride.
Daniel Lehman (3):
odbc32: Support {}'s in Driver connection string.
msvcr120: Add feholdexcept stub.
msvcr120: Implement feholdexcept.
Danyil Blyschak (4):
win32u: Don't check ansi_cp when adding fallback child font.
win32u: Include Microsoft Sans Serif as a child font.
win32u: Include Tahoma and its linked fonts in child font list.
mlang: Use larger destination buffer with WideCharToMultiByte().
Dmitry Timoshkov (10):
gdiplus: Add a couple of missing gdi_dc_release().
msv1_0: Make buffer large enough to hold NTLM_MAX_BUF bytes of base64 encoded data.
secur32/tests: Don't load secur32.dll dynamically.
secur32/tests: Avoid assigning a 4-byte status to an 1-byte variable.
secur32/tests: Don't use fake user/domain/password in NTLM tests.
secur32/tests: Fix a typo.
secur32/tests: Separate NTLM signature and encryption tests.
secur32/tests: Make NTLM encryption tests work on newer Windows versions.
kernel32/tests: Fix compilation with a PSDK compiler.
kernel32: EnumCalendarInfo() should ignore CAL_RETURN_NUMBER flag.
Elizabeth Figura (17):
widl: Explicitly check for top-level parameters before adding FC_ALLOCED_ON_STACK.
widl: Get rid of the write_embedded_types() helper.
widl: Ignore strings in is_embedded_complex().
widl: Propagate attrs to inner pointer types.
setupapi: Move INF installation functions to devinst.c.
setupapi: Separate a copy_inf() helper.
setupapi: Add an any_version_is_compatible() helper.
setupapi: Implement DriverStoreAddDriverPackage().
setupapi: Implement DriverStoreDeleteDriverPackage().
setupapi: Implement DriverStoreFindDriverPackage().
setupapi: Uninstall from the driver store in SetupUninstallOEMInf().
setupapi: Install to the driver store in SetupCopyOEMInf().
setupapi: Add stub spec entries for DriverStoreEnumDriverPackage().
setupapi/tests: Add Driver Store tests.
winevulkan: Strip the name tail when parsing members.
winevulkan: Add video interfaces.
winevulkan: Fix pointer arithmetic in debug utils callback marshalling.
Eric Pouech (1):
winedump: Get rid of GCC warning.
Esme Povirk (5):
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETSTYLE.
user32: Implement EVENT_SYSTEM_DIALOGEND.
user32: Implement EVENT_OBJECT_CREATE for listboxes.
user32: Implement EVENT_OBJECT_DESTROY for listboxes.
user32: Implement MSAA events for LB_SETCURSEL.
Etaash Mathamsetty (1):
netapi32: Move some implementations to netutils.
Fabian Maurer (1):
printdlg: Allow button id psh1 for "Properties" button.
Gabriel Ivăncescu (6):
mshtml: Avoid calling remove_target_tasks needlessly.
mshtml: Don't return default ports from location.host in IE10+ modes.
mshtml: Implement EmulateIE* modes for X-UA-Compatible.
mshtml/tests: Accept rare return value from ReportResult on native.
jscript: Don't use call frame for indirect eval calls for storing variables.
jscript: Restrict the allowed escape characters of JSON.parse in html mode.
Hans Leidekker (18):
odbc32: Add locking around driver calls.
odbc32: Remove unused Unix calls.
odbc32: Try the DRIVER attribute if the DSN attribute is missing.
odbc32: Fail freeing an object while child objects are alive.
odbc32: Call the driver function in SQLBindCol().
odbc32: Add support for descriptor handles in SQLGet/SetStmtAttr().
odbc32: Parse incoming connection string in SQLBrowse/DriverConnct().
odbc32: Set win32_funcs on the descriptors returned from SQLGetStmtAttr().
odbc32: Implicit descriptors can be retrieved but not set.
odbc32: Connection string keywords are case insensitive.
odbccp32: Respect config mode in SQLGet/WritePrivateProfileString().
odbccp32: Use wide character string literals.
odbccp32/tests: Get rid of a workaround for XP.
odbccp32: Handle NULL DSN in SQLValidDSN().
odbc32: Handle missing SQLSetConnect/EnvAttr().
odbc32: Set initial login timeout to 15 seconds.
odbc32: Map SQLColAttributes() to SQLColAttribute().
odbc32: Map SQLGetDiagRec() to SQLError().
Ilia Docin (3):
comctl32/tests: Add rebar chevron visibility test.
comctl32/tests: Add LVM_GETNEXTITEM test.
comctl32/listview: Do not return items count on getting next item for last one.
Ivo Ivanov (3):
winebus.sys: Pass each input report regardless of report ID to the pending read IRQ.
winebus.sys: Add devtype parameter to get_device_subsystem_info().
winebus.sys: Read vendor/product/serial strings from the usb subsystem.
Jacek Caban (33):
mshtml: Add support for MSEventObj prototype objects.
mshtml: Add support for Event prototype objects.
mshtml: Add support for UIEvent prototype objects.
mshtml: Add support for mouse event prototype objects.
mshtml: Add support for keyboard event prototype objects.
mshtml: Add support for page transition event prototype objects.
mshtml: Add support for custom event prototype objects.
mshtml: Add support for message event prototype objects.
mshtml: Add support for progress event prototype objects.
mshtml: Add support for storage event prototype objects.
mshtml: Add support for screen prototype objects.
mshtml: Add support for history prototype objects.
mshtml: Add support for plugins collection prototype objects.
mshtml: Add support for MIME types collection prototype objects.
mshtml: Add support for performance timing prototype objects.
mshtml: Add support for performance navigation prototype objects.
mshtml: Add support for performance prototype objects.
mshtml: Add support for namespace collection prototype objects.
mshtml: Add support for console prototype objects.
mshtml: Add support for media query list prototype objects.
mshtml: Add support for client rect list prototype objects.
mshtml: Add support for DOM token list prototype objects.
mshtml: Add support for named node map prototype objects.
mshtml: Add support for element collection prototype objects.
mshtml: Add support for node list prototype objects.
mshtml: Add support for text range prototype objects.
mshtml: Add support for range prototype objects.
mshtml: Add support for selection prototype objects.
mshtml: Increase buffer size in dispex_to_string.
mshtml: Add support for unknown element prototype objects.
mshtml: Add support for comment prototype objects.
mshtml: Add support for attribute prototype objects.
mshtml: Add support for document fragment prototype objects.
Jacob Czekalla (4):
comctl32/tests: Add tests for progress bar states.
comctl32/progress: Add states for progress bar.
comctl32/tests: Add test to check if treeview expansion can be denied.
comctl32/treeview: Allow treeview parent to deny treeview expansion.
Louis Lenders (3):
kernel32: Fake success in PowerCreateRequest.
kernel32: Fake success in PowerSetRequest.
kernel32: Fake success in PowerClearRequest.
Martin Storsjö (1):
ucrtbase: Export powf on i386.
Nikolay Sivov (7):
include: Add IWICStreamProvider definition.
windowscodecs/tests: Add a helper to check for supported interfaces.
windowscodecs/tests: Remove noisy traces from the test stubs.
windowscodecs/tests: Add some tests for IWICStreamProvider interface availability.
windowscodecs/metadata: Add a stub for IWICStreamProvider.
windowscodecs/metadata: Reset the handler on LoadEx(NULL).
windowscodecs/tests: Add some more tests for the IWICStreamProvider methods.
Paul Gofman (25):
qcap/tests: Fix test failure in testsink_Receive() on some hardware.
qcap/tests: Add a test for simultaneous video capture usage.
quartz: Propagate graph start error in MediaControl_Run().
qcap: Delay setting v4l device format until stream start.
gdi32/tests: Add test for Regular TTF with heavy weight.
win32u: Always set weight from OS/2 header in freetype_set_outline_text_metrics().
win32u: Do not embolden heavy weighted fonts.
kernelbase: Better match Windows behaviour in PathCchStripToRoot().
kernelbase: Better match Windows behaviour in PathCchRemoveFileSpec().
kernelbase: Better match Windows behaviour in PathCchIsRoot().
kernelbase: Reimplement PathIsRootA/W() on top of PathCchIsRoot().
kernelbase: Reimplement PathStripToRootA/W() on top of PathCchStripToRoot().
kernelbase: Remimplement PathRemoveFileSpecA/W().
kernelbase/tests: Add more tests for some file manipulation functions.
shell32: Register ShellItem coclass.
include: Add some shell copy engine related constants.
shell32/tests: Add tests for IFileOperation_MoveItem.
shell32/tests: Add tests for IFileOperation_MoveItem notifications.
shell32: Implement file_operation_[Un]Advise().
shell32: Store operation requested in file_operation_MoveItem().
shell32: Partially implement MoveItem file operation execution.
shell32: Implement directory merge for MoveItem.
shell32: Support sink notifications for file MoveItem operation.
ws2_32/tests: Test UDP broadcast without SO_BROADCAST.
server: Support IPV4 UDP broadcast on connected socket without SO_BROADCAST.
Piotr Caban (6):
ntdll: Accept UNC paths in LdrGetDllPath.
ntdll: Accept UNC paths in LdrAddDllDirectory.
msi: Fix msi_add_string signature.
msi: Fix row index calculation when stringtable contains empty slots.
vcruntime140_1: Handle empty catchblock type_info in validate_cxx_function_descr4.
vcruntime140_1: Store exception record in ExceptionInformation[6] during unwinding.
Rozhuk Ivan (1):
wineoss: Store the OSS device in midi_dest.
Rémi Bernon (59):
win32u: Don't request a host window surface for child windows.
win32u: Avoid crashing with nulldrv when creating offscreen surface.
mfplat/tests: Add more tests for MFCreateMediaBufferFromMediaType.
mfplat: Implement MFCreateMediaBufferFromMediaType for video formats.
mf/tests: Cleanup the video processor test list.
win32u: Introduce a new window rects structure.
win32u: Use window_rects struct in set_window_pos.
win32u: Use window_rects struct in update_window_state.
win32u: Use window_rects struct in NtUserCreateWindowEx.
win32u: Pass a window_rects struct to calc_winpos helper.
winex11: Check whether the window surface needs to be re-created.
win32u: Fix CreateWindowSurface call when updating layered surfaces.
winex11: Avoid moving embedded windows in the systray dock.
winex11: Don't call X11DRV_SET_DRAWABLE with invalid drawable.
win32u: Split driver side window bits move to a separate entry.
win32u: Use window_rects structs in apply_window_pos.
win32u: Pass window_rects structs to create_window_surface.
win32u: Pass a window_rects struct to WindowPosChanged driver entry.
win32u: Pass a window_rects struct to WindowPosChanging driver entry.
win32u: Pass a window_rects struct to MoveWindowBits driver entry.
win32u: Introduce new get_(client|window)_rect_rel helpers.
win32u: Pass a window_rects struct from get_window_rects helper.
win32u: Pass a window_rects struct to calc_ncsize helper.
win32u: Keep a window_rects struct in the WND structure.
winebus.sys: Always parse uevent PRODUCT= line on input subsystem.
mfplat/tests: Add missing todo_wine for MFCreateMediaBufferFromMediaType.
mf/tests: Load MFCreateMediaBufferFromMediaType dynamically.
win32u: Get visible and client rects in parent-relative coordinates.
winex11: Discard previous surface when window is directly drawn to.
win32u: Flush window surface after UpdateLayeredWindow.
winex11: Remove now unnecessary window surface flushes.
winemac: Remove unused unminimized window surface.
winemac: Remove unnecessary window surface invalidation.
winex11: Fix the exposed window surface region combination.
win32u: Introduce a new NtUserExposeWindowSurface call.
wineandroid: Remove now unnecessary window surface pointer.
winemac: Remove now unnecessary window surface pointer.
winex11: Remove now unnecessary window surface pointer.
win32u: Allocate and initialize window surface in window_surface_create.
wineandroid: Keep a window_rects struct in the driver window data.
winemac: Remove unnecessary window data rects update.
winemac: Keep a window_rects struct in the driver window data.
winemac: Use the window rects to convert host visible to window rect.
winemac: Use the window rects to convert window to host visible rect.
win32u: Keep SetIMECompositionWindowPos with other IME entries.
winex11: Keep a window_rects struct in the driver window data.
winex11: Use the driver rects to convert from host visible to window rect.
winemac: Return a macdrv_window_features from get_cocoa_window_features.
win32u: Move visible rect computation out of the drivers.
win32u: Move the "Decorated" driver registry option out of the drivers.
mfplat: Add MFCreateLegacyMediaBufferOnMFMediaBuffer stub.
mfplat/tests: Test MFCreateLegacyMediaBufferOnMFMediaBuffer.
mfplat: Implement MFCreateLegacyMediaBufferOnMFMediaBuffer.
user32: Pass a free_icon_params struct to User16CallFreeIcon.
user32: Pass a thunk_lock_params struct to User16ThunkLock.
user32: Introduce a generic KeUserDispatchCallback kernel callback.
user16: Use NtUserDispatchCallback instead of User16ThunkLock.
winevulkan: Route kernel callbacks through user32.
opengl32: Route kernel callbacks through user32.
Sven Püschel (11):
dssenh/tests: Remove skipping sign tests.
dssenh/tests: Remove unnecessary verify test cases.
dssenh/tests: Move test loop out of sub function.
dssenh/tests: Remove redundant hash test.
dssenh: Finish hash in the SignHash function.
dssenh/tests: Fix signLen usage.
dssenh/tests: Set 0xdeadbeef last error before function execution.
dssenh/tests: Remove redundant signature verification.
dssenh/tests: Separate the public key export from the signhash test.
dssenh/tests: Add test for VerifySignatureA.
dssenh: Swap the endianness of the signature.
Tim Clem (1):
winemac.drv: Better detect whether to unminimize a window when the app becomes active.
Tom Helander (4):
httpapi: Add tests for HttpResponseSendEntityBody.
http.sys: Skip clean up if HTTP_SEND_RESPONSE_FLAG_MORE_DATA is set.
httpapi: Handle HTTP_SEND_RESPONSE_FLAG_MORE_DATA flag.
httpapi: Implement HttpSendResponseEntityBody.
Torge Matthies (1):
wineandroid: Route kernel callbacks through user32.
Zhiyi Zhang (6):
riched20: Release IME input context when done using it.
user32/tests: Add more display DC bitmap tests.
win32u: Use a full size bitmap for display device contexts.
win32u: Support setting host IME composition window position for ImmSetCompositionWindow().
win32u: Set host IME composition window position in set_caret_pos().
win32u: Set host IME composition window position in NtUserShowCaret().
```
1
0
The Wine development release 9.15 is now available.
What's new in this release:
- Prototype and constructor objects in MSHTML.
- More support for ODBC Windows drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.15.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.15 (total 18):
- #35991 WinProladder v3.x crashes during 'PLC connect check' (async event poll worker writes to user event mask buffer whose lifetime is limited)
- #39513 Desperados: input lag after resuming from pause
- #51704 Final Fantasy XI Online: Short Freezes / Stutters Every Second
- #53531 FTDI Vinculum II IDE gets "Out of memory" error on startup
- #54861 UK's Kalender: Crashes when adding or changing event category - comctl32 related
- #56140 ListView with a custom column sorter produces wrong results
- #56494 Splashtop RMM v3.6.6.0 crashes
- #56811 Jade Empire configuration tool fails to show up (only in virtual desktop mode)
- #56984 Star Wars: Knights of the Old Republic (Steam, GOG): broken rendering when soft shadows enabled
- #56989 Doom 3: BFG Edition fails to start in virtual desktop
- #56993 Can not change desktop window resolution (pixel size)
- #57005 Wine segfaults on macOS when run from install
- #57008 _fdopen(0) does not return stdin after it was closed
- #57012 Astra 2 needs kernel32.SetFirmwareEnvironmentVariableA
- #57026 compile_commands.json change causes segmentation faults when running configure.
- #57028 LTSpice will not print with WINE 9.xx on Ubuntu 24.04
- #57033 ChessBase 17 crashes after splash screen again
- #57042 rsaenh RSAENH_CPDecrypt crashes when an application tries to decrypt an empty string
### Changes since 9.14:
```
Alex Henrie (2):
atl: Correct comment above AtlModuleRegisterTypeLib function.
atl: Only warn in AtlModuleGetClassObject if the class was not found.
Alexandre Julliard (2):
makedep: Don't add empty cflags to a compile command.
dnsapi/tests: Update tests for winehq.org DNS changes.
Alistair Leslie-Hughes (2):
include: Add *_SHIFT macros.
include: Forward declare all gdiplus classes.
Billy Laws (1):
configure: Test PE compilers after setting their target argument.
Brendan Shanks (5):
include: Ensure that x86_64 syscall thunks have a consistent length when built with Clang.
ntdll: Use environ/_NSGetEnviron() directly rather than caching it in main_envp.
ntdll: Use _NSGetEnviron() instead of environ when spawning the server on macOS.
msv1_0: Use _NSGetEnviron() instead of environ on macOS.
mmdevapi: Remove unused critical section from MMDevice.
Connor McAdams (9):
d3dx9/tests: Add tests for D3DXLoadSurfaceFromMemory() with a multisampled surface.
d3dx9: Return success in D3DXLoadSurfaceFromMemory() for multisampled destination surfaces.
d3dx9: Return failure from D3DXLoadSurfaceFromMemory() if d3dx_load_pixels_from_pixels() fails.
d3dx9/tests: Add d3dx filter argument value tests.
d3dx9: Introduce helper function for retrieving the mip filter value in texture from file functions.
d3dx9: Further validate filter argument passed to D3DXFilterTexture().
d3dx9: Validate filter argument in D3DXLoadVolumeFrom{Volume,FileInMemory,Memory}().
d3dx9: Validate filter argument in D3DXLoadSurfaceFrom{Surface,FileInMemory,Memory}().
d3dx9: Validate filter argument in texture from file functions.
Dmitry Timoshkov (1):
sechost: Check both lpServiceName and lpServiceProc for NULL in StartServiceCtrlDispatcher().
Elizabeth Figura (14):
wined3d: Invalidate push constant flags only for the primary stateblock.
wined3d: Feed the material through a push constant buffer.
wined3d: Move get_projection_matrix() to glsl_shader.c.
wined3d: Feed the projection matrix through a push constant buffer.
wined3d: Do not use the normal or modelview matrices when drawing pretransformed vertices.
wined3d: Feed modelview matrices through a push constant buffer.
wined3d: Pass d3d_info and stream_info pointers to wined3d_ffp_get_[vf]s_settings().
wined3d: Feed the precomputed normal matrix through a push constant buffer.
wined3d: Store the normal matrix as a struct wined3d_matrix.
wined3d: Hardcode 1.0 point size for shader model >= 4.
wined3d: Feed point scale constants through a push constant buffer.
d3d9/tests: Test position attribute W when using the FFP.
wined3d: Use 1.0 for position W when using the FFP.
d3d9/tests: Add comprehensive fog tests.
Eric Pouech (1):
cmd: Fix test failures for SET /P command.
Esme Povirk (6):
comctl32: Handle WM_GETOBJECT in tab control.
gdi32: Fix out-of-bounds write in EMR_ALPHABLEND handling.
win32u: Implement EVENT_SYSTEM_CAPTURESTART/END.
user32: Implement EVENT_OBJECT_STATECHANGE for BST_PUSHED.
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETCHECK.
gdi32: Bounds check EMF handle tables.
Fabian Maurer (5):
kernel32: Add SetFirmwareEnvironmentVariableA stub.
odbc32: In get_drivers prevent memory leak in error case (coverity).
odbc32: In get_drivers simplify loop condition.
iphlpapi: Add stub for SetCurrentThreadCompartmentId.
win32u: Remove superflous null check (coverity).
Gabriel Ivăncescu (1):
jscript: Implement arguments.caller.
Gerald Pfeifer (1):
nsiproxy.sys: Fix the build on non-Apple, non-Linux systems.
Hans Leidekker (25):
odbc32: Forward SQLGetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLGetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLGetCursorName() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetDescRec() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetInfo() to the Unicode version if needed.
odbc32: Forward SQLGetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLGetTypeInfo() to the Unicode version if needed.
odbc32: Forward SQLNativeSql() to the Unicode version if needed.
odbc32: Forward SQLPrepare() to the Unicode version if needed.
odbc32: Forward SQLPrimaryKeys() to the Unicode version if needed.
odbc32: Forward SQLProcedureColumns() to the Unicode version if needed.
odbc32: Forward SQLProcedures() to the Unicode version if needed.
odbc32: Make the driver loader thread-safe.
odbc32: Return an error when a required driver entry point is missing.
odbc32: Forward SQLSetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLSetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLSetCursorName() to the Unicode version if needed.
odbc32: Forward SQLSetDescField() to the Unicode version if needed.
odbc32: Forward SQLSetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLSpecialColumns() to the Unicode version if needed.
odbc32: Forward SQLStatistics() to the Unicode version if needed.
odbc32: Forward SQLTablePrivileges() to the Unicode version if needed.
odbc32: Forward SQLTables() to the Unicode version if needed.
Herman Semenov (1):
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (83):
mshtml: Use dispex_next_id in NextProperty implementation.
jscript: Ensure that external property is still valid in jsdisp_next_prop.
mshtml: Use host object script bindings for storage objects.
mshtml: Use host object script bindings for frame elements.
mshtml: Use host object script bindings for iframe elements.
mshtml: Introduce get_outer_iface and use it instead of get_dispatch_this.
jscript: Allow host objects to specify an outer interface.
mshtml: Return E_UNEXPECTED for unknown ids in JSDispatchHost_CallFunction.
mshtml: Use get_prop_descs for window object.
mshtml: Use host object script bindings for Window object.
mshtml: Introduce get_script_global and use it instead of get_compat_mode.
mshtml: Use HTMLPluginContainer for DispatchEx functions in object element.
mshtml: Store property name in HTMLPluginContainer.
mshtml: Use host object script bindings for object elements.
mshtml: Use host object script bindings for select elements.
mshtml: Use host object script bindings for HTMLRect.
mshtml: Use host object script bindings for DOMTokenList.
mshtml: Use dispex_index_prop_desc for HTMLFiltersCollection.
mshtml: Use host object script bindings for HTMLAttributeCollection.
mshtml: Use dispex_index_prop_desc for HTMLElementCollection.
mshtml: Use host object script bindings for HTMLDOMChildrenCollection.
mshtml: Use host object script bindings for HTMLStyleSheetsCollection.
mshtml: Use host object script bindings for HTMLStyleSheet.
mshtml: Use host object script bindings for HTMLStyleSheetRulesCollection.
mshtml: Use host object script bindings for HTMLStyleSheetRule.
mshtml: Use get_prop_desc for legacy function object implementation.
mshtml: Use host object script bindings for style objects.
mshtml: Add initial constructor implementation.
mshtml: Store vtbl in dispex_data_t.
mshtml: Split ensure_dispex_info.
mshtml: Factor out init_dispatch_from_desc.
mshtml: Add initial support for MSHTML prototype objects.
mshtml: Don't expose prototype properties directly from object instances.
mshtml: Store name in dispex_data_t.
mshtml: Use proper prototype names.
jscript: Allow using MSHTML constructors in instanceof expressions.
maintainers: Remove shdocvw from WebBrowser control section.
mshtml: Add support for navigator prototype objects.
mshtml: Add support for HTMLBodyElement object.
mshtml: Add initial support for prototype chains.
mshtml: Add support for Element and Node prototype objects.
mshtml: Add support for Storage prototype objects.
mshtml: Add support for document prototype objects.
mshtml: Add support for window prototype objects.
include: Always declare _setjmp in setjmp.h on i386 targets.
mshtml: Add support for image element prototype objects.
jscript: Introduce HostConstructor function type.
mshtml: Use host constructor script bindings for Image constructor object.
mshtml: Use host constructor script bindings for XMLHttpRequest constructor object.
mshtml: Add support for option element prototype objects.
mshtml: Use host object script bindings for Option constructor object.
mshtml: Add support for MutationObserver consturctor and prototype objects.
include: Add DECLSPEC_CHPE_PATCHABLE definition.
mshtml/tests: Use winetest.js helpers in xhr.js.
mshtml: Add support for anchor element prototype objects.
mshtml: Add support for area element prototype objects.
mshtml: Add support for form element prototype objects.
mshtml: Add support for frame elements prototype objects.
mshtml: Add support for head elements prototype objects.
mshtml: Add support for input elements prototype objects.
mshtml: Add support for link element prototype objects.
mshtml: Add support for object and embed element prototype objects.
mshtml: Add support for script element prototype objects.
mshtml: Add support for select element prototype objects.
mshtml: Add support for style element prototype objects.
mshtml: Add support for table and tr element prototype objects.
mshtml: Add support for td element prototype objects.
mshtml: Add support for textarea element prototype objects.
mshtml: Add support for svg element prototype objects.
mshtml: Add support for circle SVG element prototype objects.
mshtml: Add support for tspan SVG element prototype objects.
mshtml: Add support for document type node prototype objects.
mshtml: Add support for text node prototype objects.
mshtml: Get object name from its ID when possible.
mshtml: Add support for computed style prototype objects.
mshtml: Add support for style prototype objects.
mshtml: Add support for current style prototype objects.
mshtml: Add support for style sheet prototype objects.
mshtml: Add support for style sheet list prototype objects.
mshtml: Add support for CSS rule list prototype objects.
mshtml: Add support for CSS rule prototype objects.
mshtml: Add support for rect prototype objects.
mshtml: Make mutation_observer_ctor_dispex_vtbl const.
Jacob Czekalla (6):
comctl32/tests: Add test for listview sorting order.
comctl32: Fix sorting for listview.
comctl32/tests: Add test for propsheet page creation when propsheet gets initialized.
comctl32/propsheet: Create pages with PSP_PREMATURE on initialization.
comctl32/tests: Add test for PSN_QUERYINITIALFOCUS for the propsheet.
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.
Jactry Zeng (1):
ntdll: Try to use page size from host_page_size() for macOS.
Jakub Petrzilka (1):
rsaenh: Don't crash when decrypting empty strings.
Kieran Geary (1):
shell32: Make SHGetStockIconInfo() attempt to set icon.
Martino Fontana (2):
dinput/tests: Update tests for DIPROP_SCANCODE.
dinput: Implement DIPROP_SCANCODE.
Matteo Bruni (1):
d3dx9: Don't silently ignore d3dx_calculate_pixel_size() errors.
Matthias Gorzellik (3):
hidparse: Pre-process descriptor to find TLCs.
winebus: Store pending reads per report-id.
hidclass: Create a child PDO for each HID TLC.
Nikolay Sivov (3):
d3dx9/effect: Document one remaining header field.
d3dx9/tests: Add some tests for D3DXEFFECT_DESC fields.
d3dx9/effect: Return creator string from GetDesc().
Paul Gofman (11):
nsiproxy.sys: Only get owning pid when needed in udp_endpoint_enumerate_all().
mmdevapi: Return stub interface from ASM_GetSessionEnumerator().
mmdevapi: Add implementation for IAudioSessionEnumerator.
mmdevapi/tests: Add test for IAudioSessionEnumerator.
ntdll: Stub NtQuerySystemInformation[Ex]( SystemProcessorIdleCycleTimeInformation ).
kernel32: Implement QueryIdleProcessorCycleTime[Ex]().
ntdll: Implement NtQuerySystemInformationEx( SystemProcessorIdleCycleTimeInformation ) on Linux.
ntdll: Raise exception on failed CS wait.
mmdevapi: Unlock session in create_session_enumerator().
mmdevapi: Implement control_GetSessionIdentifier().
mmdevapi: Implement control_GetSessionInstanceIdentifier().
Piotr Caban (4):
msvcrt: Reuse standard streams after they are closed.
ntdll: Optimize NtReadVirtualMemory for in-process reads.
kernel32/tests: Test ReadProcessMemory on PAGE_NOACCESS memory.
wineps.drv: Fix EMR_SETPIXELV record playback.
Rémi Bernon (27):
win32u: Simplify offscreen surface previous surface reuse check.
winex11: Rely on win32u previous surface reuse.
wineandroid: Rely on win32u previous surface reuse.
winewayland: Rely on win32u previous surface reuse.
winemac: Remove unnecessary old window surface bounds copy.
winemac: Rely on win32u previous surface reuse.
win32u: Avoid sending WM_PAINT to layered window surfaces.
win32u: Merge drivers CreateLayeredWindow with CreateWindowSurface.
dinput/tests: Add more tests reading multiple TLCs reports.
hidparse: Use ExFreePool to free preparsed data.
hidclass: Keep HID device desc on the FDO device.
hidclass: Start PDO thread in IRP_MN_START_DEVICE.
hidclass: Allocate child PDOs array dynamically.
win32u: Force updating the display cache when virtual desktop state changes.
hidclass: Use poll_interval == 0 for non-polled devices.
hidclass: Read reports with the largest input report size over TLCs.
hidclass: Use a single lock for PDO queues and removed flag.
hidclass: Pass HIDP_DEVICE_DESC to find_report_with_type_and_id.
hidclass: Start the HID device thread with the FDO.
win32u: Always use the dummy surface if a surface isn't needed.
win32u: Fix a typo in read_source_from_registry.
win32u: Always enumerate the primary source first.
win32u: Remove unnecessary UpdateLayeredWindow driver entry args.
wineandroid: Remove now unnecessary WindowPosChanging checks.
winemac: Remove now unnecessary WindowPosChanging checks.
winewayland: Remove now unnecessary WindowPosChanging checks.
winex11: Remove now unnecessary WindowPosChanging checks.
Spencer Wallace (2):
shell32/tests: Add tests for moving dir(s) to destination(s) with conflicting dir.
shell32: Fix FO_MOVE when destination has conflicting directory.
Sven Baars (1):
ntdll: Use the module debug channel in virtual_map_builtin_module().
Vijay Kiran Kamuju (4):
include: Add more Task Scheduler Trigger interface definitions.
include: Add ISessionStateChangeTrigger declaration.
include: Added IEventTrigger declaration.
include: Add gdiplus effect parameter structs.
Ziqing Hui (14):
propsys: Add stubs for variant conversion functions.
propsys/tests: Add tests for VariantToPropVariant.
propsys: Initially implement VariantToPropVariant.
include: Fix name of CODECAPI_AVDecVideoAcceleration_H264.
include: Add video encoder statistical guids.
include: Add video encoder header guids.
include: Add video encoder chroma defines.
include: Add video encoder color defines.
include: Add video encode guids.
include: Add video encoder max guids.
include: Add video encoder inverse telecine guids.
include: Add video encoder source defines.
include: Add more video encoder codec api guids.
winegstreamer/quartz_parser: Handle 0 size in read_thread.
Đorđe Mančić (1):
kernelbase: Implement GetTempPath2A() and GetTempPath2W().
```
1
0
The Wine development release 9.14 is now available.
What's new in this release:
- Mailslots reimplemented using server-side I/O.
- More support for ODBC Windows drivers.
- Still more user32 data structures in shared memory.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.14.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.14 (total 20):
- #11268 Civilization I for Windows (16-bt) incorrectly displays some dialogues
- #32679 cmd.exe Add support for || and &&
- #48167 1000 Mots V4.0.2 freeze when 3 words are pronounced - Underrun of data
- #48455 Multiple .inf driver installers hang due to missing handling of architecture-specific SourceDisks{Names,Files} .inf sections (Native Instruments Native Access 1.9, WinCDEmu 4.1)
- #49944 Multiple games fail to detect audio device (Tom Clancy's Splinter Cell: Conviction, I Am Alive)
- #50231 Ys: Origin shows black screen during video playback
- #54735 AOL (America Online) Desktop Beta fails when installing .net 4.8
- #54788 AOL 5.0 Installation fails
- #55662 Different behaviour of "set" command
- #55798 Unreal Engine 5.2: Wine minidumps take hours to load into a debugger
- #56751 New WoW64 compilation fails on Ubuntu Bionic
- #56861 Background color of selected items in ListView(or ListCtrl) is white
- #56954 Regression causes wine to generate ntlm_auth <defunct> processes
- #56956 MSVC cl.exe 19.* fails to flush intermediate file
- #56957 CEF application (BSG Launcher) freezes on mouse hover action
- #56958 ChessBase 17 crashes after splash screen
- #56969 Act of War (Direct Action, High Treason) crashes in wined3d when loading the mission
- #56972 Warlords III: Darklords Rising shows empty screen in virtual desktop
- #56977 accept()-ed socket fds are never marked as cacheable
- #56994 mbstowcs for UTF8, with an exact (not overallocated) output buffer size fails
### Changes since 9.13:
```
Alex Henrie (1):
shell32: Put temp directory in %LOCALAPPDATA%\Temp by default.
Alexandre Julliard (3):
ntdll: Implement KiUserEmulationDispatcher on ARM64EC.
urlmon/tests: Fix a test that fails after WineHQ updates.
ntdll: Always clear xstate flag on collided unwind.
Alexandros Frantzis (2):
winex11: Query proper GLX attribute for pbuffer bit.
opengl32: Fix match criteria for WGL_DRAW_TO_PBUFFER_ARB.
Alistair Leslie-Hughes (5):
odbc32: Handle NULL handles in SQLError/W.
odbc32: Fake success for SQL_ATTR_CONNECTION_POOLING in SQLSetEnvAttr.
odbc32: Handle NULL EnvironmentHandle in SQLTransact.
msado15: Fake success in _Recordset::CancelUpdate.
msado15: Report we support all options in _Recordset::Supports.
Arkadiusz Hiler (1):
ntdll: Use the correct io callback when writing to a socket.
Billy Laws (1):
ntdll: Map PSTATE.SS to the x86 trap flag on ARM64EC.
Biswapriyo Nath (1):
include: Fix return type of IXAudio2MasteringVoice::GetChannelMask in xaudio2.idl.
Brendan Shanks (1):
wine.inf: Don't register wineqtdecoder.dll.
Connor McAdams (14):
d3d9/tests: Add tests for IDirect3DDevice9::UpdateSurface() with a multisampled surface.
d3d9: Return failure if a multisampled surface is passed to IDirect3DDevice9::UpdateSurface().
ddraw/tests: Add tests for preserving d3d scene state during primary surface creation.
d3d9/tests: Add a test for device reset after beginning a scene.
d3d8/tests: Add a test for device reset after beginning a scene.
wined3d: Clear scene state on device state reset.
d3dx9/tests: Make some test structures static const.
d3dx9/tests: Reorder test structure members.
d3dx9/tests: Add more D3DXCreateCubeTextureFromFileInMemory{Ex}() tests.
d3dx9: Refactor texture creation and cleanup in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which array layer to get pixel data from to d3dx_image_get_pixels().
d3dx9: Add support for loading non-square cubemap DDS files into cube textures.
Daniel Lehman (3):
odbc32: Handle NULL attribute in SQLColAttribute[W].
odbc32: Return success for handled attributes in SQLSetConnectAttrW.
mshtml: Add application/pdf MIME type.
Dmitry Timoshkov (3):
odbc32: Correct 'WINAPI' placement for function pointers.
light.msstyles: Use slightly darker color for GrayText to make text more readable.
dwrite: Return correct rendering and gridfit modes from ::GetRecommendedRenderingMode().
Elizabeth Figura (32):
setupapi/tests: Add more tests for SetupGetSourceFileLocation().
setupapi: Correctly interpret the INFCONTEXT parameter in SetupGetSourceFileLocation().
setupapi: Return the file's relative path from SetupGetSourceFileLocation().
setupapi: Use SetupGetIntField() in SetupGetSourceFileLocation().
ddraw: Call wined3d_stateblock_texture_changed() when the color key changes.
wined3d: Store all light constants in a separate structure.
wined3d: Store the cosines of the light angle in struct wined3d_light_constants.
wined3d: Feed light constants through a push constant buffer.
wined3d: Sort light constants by type.
wined3d: Transform light coordinates by the view matrix in wined3d_device_apply_stateblock().
setupapi: Use SetupGetSourceFileLocation() in get_source_info().
setupapi: Use SetupGetSourceInfo() in get_source_info().
setupapi/tests: Test installing an INF file with architecture-specific SourceDisks* sections.
setupapi: Fix testing for a non-empty string in get_source_info().
ntoskrnl/tests: Remove unnecessary bits from add_file_to_catalog().
setupapi/tests: Make function pointers static.
setupapi/tests: Move SetupCopyOEMInf() tests to devinst.c.
setupapi/tests: Use a randomly generated directory and hardcoded file paths in test_copy_oem_inf().
setupapi/tests: Use a signed catalog file in test_copy_oem_inf().
wined3d: Avoid division by zero in wined3d_format_get_float_color_key().
wined3d: Don't bother updating the colour key if the texture doesn't have WINED3D_CKEY_SRC_BLT.
wined3d: Move clip plane constant loading to shader_glsl_load_constants().
wined3d: Correct clip planes for the view transform in wined3d_device_apply_stateblock().
wined3d: Pass stream info to get_texture_matrix().
wined3d: Do not use the texture matrices when drawing pretransformed vertices.
wined3d: Feed texture matrices through a push constant buffer.
server: Make pipe ends FD_TYPE_DEVICE.
kernel32/tests: Add more mailslot tests.
server: Treat completion with error before async_handoff() as error.
ntdll: Respect the "options" argument to NtCreateMailslotFile.
server: Reimplement mailslots using server-side I/O.
ntdll: Stub NtQueryInformationToken(TokenUIAccess).
Eric Pouech (20):
winedump: Protect against corrupt minidump files.
winedump: Dump comment streams in minidump.
cmd: Add success/failure tests for pipes and drive change.
cmd: Set success/failure for change drive command.
cmd: Run pipe LHS & RHS outside of any batch context.
cmd: Better test error handling for pipes.
cmd: Enhance CHOICE arguement parsing.
cmd: Implement timeout support in CHOICE command.
include/mscvpdb.h: Use flexible array members for all trailing array fields.
include/msvcpdb.h: Use flexible array members for codeview_fieldtype union.
include/mscvpdb.h: Use flexible array members for codeview_symbol union.
include/mscvpdb.h: Use flexible array members for codeview_type with variable.
include/mscvpdb.h: Use flexible array members for the rest of structures.
cmd: Some tests about tampering with current batch file.
cmd: Link env_stack to running context.
cmd: Split WCMD_batch() in two functions.
cmd: Introduce helpers to find a label.
cmd: No longer pass a HANDLE to WCMD_ReadAndParseLine.
cmd: Save and restore file position from BATCH_CONTEXT.
cmd: Don't keep batch file opened.
Esme Povirk (3):
win32u: Implement EVENT_OBJECT_DESTROY.
win32u: Implement EVENT_OBJECT_STATECHANGE for WS_DISABLED.
win32u: Implement EVENT_OBJECT_VALUECHANGE for scrollbars.
Fabian Maurer (1):
ntdll: Prevent double close in error case (coverity).
Fan WenJie (1):
win32u: Fix incorrect comparison in add_virtual_modes.
Francisco Casas (2):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR9.
quartz: Properly copy data to render surfaces of planar formats in VMR9.
François Gouget (1):
wineboot: Downgrade the wineprefix update message to a trace.
Gabriel Ivăncescu (11):
mshtml: Make sure we aren't detached before setting interactive ready state.
jscript: Make JS_COUNT_OPERATION a no-op.
mshtml: Implement event.cancelBubble.
mshtml: Implement HTMLEventObj's cancelBubble on top of the underlying event's cancelBubble.
mshtml: Fix special case between stopImmediatePropagation and setting cancelBubble to false.
mshtml: Use bitfields for the event BOOL fields.
mshtml: Don't use -moz prefix for box-sizing CSS property.
mshtml/tests: Add more tests with invalid CSS props for (get|set)PropertyValue.
mshtml: Compactify the style_props expose tests for each style object into a single function.
mshtml: Implement style msTransition.
mshtml: Implement style msTransform.
Hans Leidekker (27):
odbc32: Fix a couple of spec file entries.
odbc32: Use LoadLibraryExW() instead of LoadLibraryW().
odbc32: Forward SQLDriverConnect() to the Unicode version if needed.
odbc32: Forward SQLGetDiagRec() to the Unicode version if needed.
odbc32: Forward SQLBrowseConnect() to the Unicode version if needed.
odbc32: Forward SQLColAttributes() to the Unicode version if needed.
odbc32: Forward SQLColAttribute() to the Unicode version if needed.
odbc32: Properly handle string length in traces.
winhttp/tests: Mark a test as broken on old Windows versions.
winhttp/tests: Fix test failures introduced by the server upgrade.
odbc32: Forward SQLColumnPrivileges() to the Unicode version if needed.
odbc32: Forward SQLColumns() to the Unicode version if needed.
odbc32: Forward SQLConnect() to the Unicode version if needed.
odbc32: Forward SQLDescribeCol() to the Unicode version if needed.
odbc32: Forward SQLError() to the Unicode version if needed.
odbc32: Handle missing Unicode driver entry points.
odbc32: Forward SQLExecDirect() to the Unicode version if needed.
odbc32: Forward SQLForeignKeys() to the Unicode version if needed.
odbc32: Avoid a clang warning.
odbc32: Get rid of the wrappers for SQLGetDiagRecA() and SQLDataSourcesA().
odbc32/tests: Add tests for SQLTransact().
odbc32: Fix setting the Driver registry value.
odbc32: Find the driver filename through the ODBCINST.INI key.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
winhttp/tests: Mark more test results as broken on old Windows versions.
secur32/tests: Mark some test results as broken on old Windows versions.
Herman Semenov (3):
dbghelp: Fix misprint access to struct with invalid case.
dplayx: Fix check structure before copy.
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (32):
mshtml: Use host object script bindings for Attr class.
mshtml: Use host object script bindings for event objects.
mshtml: Use host object script bindings for PluginArray class.
mshtml: Use host object script bindings for MimeTypeArray class.
mshtml: Use host object script bindings for MSNamespaceInfoCollection class.
mshtml: Use host object script bindings for MSEventObj class.
mshtml: Use host object script bindings for XMLHttpRequest class.
mshtml: Directly use dispex_prop_put and dispex_prop_get in HTMLElement implementation.
mshtml: Factor out dispex_next_id.
mshtml: Don't use BSTR in find_dispid.
mshtml: Don't use BSTR in lookup_dispid.
mshtml: Don't use BSTR in get_dispid.
mshtml: Factor out dispex_get_id.
mshtml: Use dispex_prop_put in HTMLDOMAttribute_put_nodeValue.
mshtml: Factor out dispex_prop_name.
jscript: Check if PROP_DELETED is actually an external property in find_prop_name.
mshtml: Use host object script bindings for DOM nodes.
mshtml: Use dispex_get_id in JSDispatchHost_LookupProperty.
mshtml: Introduce get_prop_desc call.
mshtml: Use host object script bindings for HTMLRectCollection.
jscript: Make sure to use the right name for a prototype reference in find_prop_name_prot.
jscript: Fixup prototype references as part of lookup.
jscript: Use a dedicated jsclass_t entry for host objects.
jscript: Improve invoke_prop_func error handling.
mshtml: Explicitly specify case insensitive search in GetIDsOfNames.
jscript: Treat external properties as volatile.
jscript: Suport deleting host object properties.
jscript: Support configuring host properties.
jscript: Allow host objects to implement fdexNameEnsure.
mshtml: Use host object script bindings for HTMLFormElement.
mshtml: Use ensure_real_info in dispex_compat_mode.
mshtml: Use host object script bindings for document nodes.
Jinoh Kang (1):
server: Mark the socket as cacheable when it is an accepted or accepted-into socket.
Nikolay Sivov (2):
winhttp/tests: Add some more tests for string options in WinHttpQueryOption().
winhttp: Handle exact buffer length match in WinHttpQueryOption().
Paul Gofman (2):
mshtml: Check get_document_node() result in get_node().
dxdiagn: Fill szHardwareId for sound render devices.
Piotr Caban (4):
ucrtbase: Fix mbstowcs on UTF8 strings.
msvcrt: Use thread-safe functions in _ctime64_s.
msvcrt: Use thread-safe functions in _ctime32_s.
msvcrt: Don't access input string after NULL-byte in mbstowcs.
Rémi Bernon (16):
ddraw/tests: Make sure the window is restored after some minimize tests.
winex11: Reset empty window shape even without a window surface.
server: Expose the thread input keystate through shared memory.
win32u: Introduce a new NtUserGetAsyncKeyboardState call.
win32u: Use the thread input shared memory in GetKeyboardState.
win32u: Use the desktop shared memory in get_async_keyboard_state.
server: Make the get_key_state request key code mandatory.
server: Expose the thread input keystate lock through shared memory.
win32u: Use the thread input shared memory for GetKeyState.
winemac: Use window surface shape for color key transparency.
winemac: Use window surface shape for window shape region.
winevulkan: Fix incorrect 32->64 conversion of debug callbacks.
winevulkan: Use integer types in debug callbacks parameter structs.
winevulkan: Serialize debug callbacks parameter structures.
opengl32: Use integer types in debug callbacks parameter structs.
opengl32: Serialize debug callbacks message string.
Santino Mazza (1):
gdiplus: Support string alignment in GdipMeasureString.
Tim Clem (2):
nsiproxy.sys: Use the pcblist64 sysctl to enumerate TCP connections on macOS.
nsiproxy.sys: Use the pcblist64 sysctl to enumerate UDP connections on macOS.
Vijay Kiran Kamuju (1):
cmd: Do not set enviroment variable when no input is provided by set /p command.
Zhiyi Zhang (3):
light.msstyles: Add Explorer::ListView subclass.
comctl32/tests: Add more treeview background tests.
comctl32/treeview: Use window color to fill background.
Ziqing Hui (5):
include: Add encoder codec type guids.
include: Add encoder common format guids.
include: Add encoder common attribute defines.
include: Add H264 encoder attribute guids.
include: Add video encoder output frame rate defines.
```
1
0
The Wine development release 9.13 is now available.
What's new in this release:
- Support for loading ODBC Windows drivers.
- More user32 data structures in shared memory.
- More rewriting of the CMD.EXE engine.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.13.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.13 (total 22):
- #21344 Buffer overflow in WCMD_run_program
- #35163 Victoria 2: A House Divided crashes on start with built-in quartz
- #39206 Lylian demo hangs after intro video
- #44315 Buffer maps cause CPU-GPU synchronization (Guild Wars 2, The Witcher 3)
- #44888 Wrong texture in Assassin's Creed : Revelations
- #45810 WINEPATH maximums
- #52345 Unclosed right-side double quote in if command breaks wine cmd
- #52346 Filename completion is not supported in cmd
- #54246 Full Metal Daemon Muramasa stuck at black screen at boot
- #54499 Native ODBC drivers should be able be used.
- #54575 False positive detection of mmc reader as hard drive since kernel 6.1
- #55130 IF EXIST fails when its argument ends on a slash
- #55401 CMD 'for loop' params are not recognized
- #56575 CUERipper 2.2.5 Crashes on loading WMA plugin
- #56600 MEGA TECH Faktura Small Business: Access violation in module kernelbase.dll
- #56617 Photoshop CC 2024: crashes after a short period (Unimplemented function NETAPI32.dll.NetGetAadJoinInformation)
- #56882 ConEmu errors: Injecting hooks failed
- #56895 So Blonde (demo): font display bug (regression)
- #56938 msiexec crashes with stack overflow when installing python 3.11+ dev.msi
- #56945 Multiple UI elements in builtin programs is missing (taskbar in Virtual Desktop, right-click menu in RegEdit)
- #56948 Intel Hardware Accelerated Execution Manager needs unimplemented function ntoskrnl.exe.KeQueryGroupAffinity
- #56952 PS installer crashes inside msi (regression)
### Changes since 9.12:
```
Alex Henrie (11):
msi: Initialize size argument to RegGetValueW.
shell32: Pass size in bytes to RegGetValueW.
twinapi.appcore: Initialize size argument to RegGetValueW.
mscoree: Pass size in bytes to RegGetValueW.
wineboot: Correct size argument to SetupDiSetDeviceRegistryPropertyA.
advapi32/tests: Test RegGetValue[AW] null termination.
advapi32/tests: Drop security test workarounds for Windows <= 2000.
windowscodecs: Use RegQueryValueExW in ComponentInfo_GetStringValue.
kernelbase: Ensure null termination in RegGetValue[AW].
ntdll: Double-null-terminate registry multi-strings in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_TODO_DATA flag.
Alexandre Julliard (26):
kernelbase: Mask extra protection flags in WriteProcessMemory.
wow64: Call pre- and post- memory notifications also in the current process case.
wow64: Add more cross-process notifications.
ntdll/tests: Add tests for in-process memory notifications on ARM64.
wow64: Add a helper to get the 32-bit TEB.
ntdll: Always set the dll name pointer in the 32-bit TEB.
wow64: Fix NtMapViewOfSection CPU backend notifications.
wow64: Add NtReadFile CPU backend notifications.
wow64cpu: Simplify the Unix call thunk.
xtajit64: Add stub dll.
ntdll: Load xtajit64.dll on ARM64EC.
ntdll/tests: Add some tests for xtajit64.
ntdll: Create the cross-process work list at startup on ARM64EC.
ntdll: Support the ARM64EC work list in RtlOpenCrossProcessEmulatorWorkConnection.
ntdll: Call the processor information callback on ARM64EC.
ntdll: Load the processor features from the emulator on ARM64EC.
ntdll: Call the flush instruction cache callback on ARM64EC.
ntdll: Call the memory allocation callbacks on ARM64EC.
ntdll: Call the section map callbacks on ARM64EC.
ntdll: Call the read file callback on ARM64EC.
ntdll: Implement ProcessPendingCrossProcessEmulatorWork on ARM64EC.
wininet/tests: Update issuer check for winehq.org certificate.
wow64: Fix prototype for the NtTerminateThread CPU backend notification.
wow64: Add NtTerminateProcess CPU backend notifications.
ntdll: Call the terminate thread callback on ARM64EC.
ntdll: Call the terminate process callback on ARM64EC.
Alexandros Frantzis (4):
opengl32: Add default implementation for wglChoosePixelFormatARB.
winex11: Remove driver wglChoosePixelFormatARB implementation.
winewayland: Support WGL_ARB_pixel_format.
winewayland: Support WGL_ARB_pixel_format_float.
Alfred Agrell (10):
include: Fix typo in DXGI_DEBUG_APP.
include: Fix typo in IID_IDWriteStringList.
include: Fix typo in IID_IAudioLoudness.
include: Fix typo in GUID_DEVCLASS_1394DEBUG.
include: Fix typo in IID_IRemoteDebugApplication.
include: Fix typos in MF_MT_VIDEO_3D and MF_MT_AUDIO_FOLDDOWN_MATRIX.
include: Fix typos in IID_IMimeWebDocument and IID_IMimeMessageCallback.
include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
include: Fix typo in MEDIASUBTYPE_P408.
include: Fix typo in CLSID_WICXMPMetadataReader.
Austin English (2):
netapi32: Add NetGetAadJoinInformation stub.
ntoskrnl.exe: Add a stub for KeQueryGroupAffinity.
Biswapriyo Nath (5):
include: Add flags for ID3D11ShaderReflection::GetRequiresFlags method in d3d11shader.h.
include: Add macros for d3d12 shader version in d3d12shader.idl.
include: Add new names in D3D_NAME enum in d3dcommon.idl.
include: Fix typo with XINPUT_DEVSUBTYPE_FLIGHT_STICK name in xinput.h.
include: Fix typo with X3DAUDIO_EMITTER structure in x3daudio.h.
Brendan McGrath (3):
winegstreamer: Use process affinity to calculate thread_count.
winegstreamer: Use thread_count to determine 'max-threads' value.
winegstreamer: Set 'max_threads' to 4 for 32-bit processors.
Connor McAdams (14):
d3dx9/tests: Move the images used across multiple test files into a shared header.
d3dx9/tests: Add more D3DXLoadVolumeFromFileInMemory() tests.
d3dx9: Use shared code in D3DXLoadVolumeFromFileInMemory().
d3dx9/tests: Add more tests for D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Refactor texture creation and cleanup in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Add support for mipmap generation to D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9/tests: Add tests for DDS skip mip level bits.
d3dx9: Apply the DDS skip mip level bitmask.
d3dx9/tests: Add more DDS header tests for volume texture files.
d3dx9: Check the proper flag for DDS files representing a volume texture.
d3dx9/tests: Add more DDS header tests for cube texture files.
d3dx9: Return failure if a cubemap DDS file does not contain all faces.
Dmitry Timoshkov (3):
msv1_0: Add support for SECPKG_CRED_BOTH.
kerberos: Add support for SECPKG_CRED_BOTH.
crypt32: Make CertFindCertificateInStore(CERT_FIND_ISSUER_NAME) work.
Elizabeth Figura (19):
d3dcompiler/tests: Use the correct interfaces for some COM calls.
mfplat/tests: Use the correct interfaces for some COM calls.
d3dx9: Use the correct interfaces for some COM calls.
d3dx9/tests: Define COBJMACROS.
mfplat/tests: Add more tests for compressed formats.
winegstreamer: Check the version before calling wg_format_from_caps_video_mpeg1().
winegstreamer: Implement MPEG-4 audio to wg_format conversion.
winegstreamer: Implement H.264 to wg_format conversion.
winegstreamer: Implement H.264 to IMFMediaType conversion.
winegstreamer: Implement AAC to IMFMediaType conversion.
winegstreamer: Implement WMV to IMFMediaType conversion.
winegstreamer: Implement WMA to IMFMediaType conversion.
winegstreamer: Implement MPEG-1 audio to IMFMediaType conversion.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Destroy the push constant buffers on device reset.
wined3d: Feed the fragment part of WINED3D_RS_SPECULARENABLE through a push constant buffer.
wined3d: Feed the FFP color key through a push constant buffer.
wined3d: Reorder light application in wined3d_device_apply_stateblock().
wined3d: Feed WINED3D_RS_AMBIENT through a push constant buffer.
Eric Pouech (49):
cmd: Add success/failure tests for file related commands.
cmd: Set success/failure return code for TYPE command.
cmd: Set success/failure return code DELETE command.
cmd: Set success/failure return code for MOVE command.
cmd: Set success/failure return code for RENAME command.
cmd: Set success/failure return code for COPY command.
cmd: Add success/failure tests for dir related commands.
cmd: Add success/failure return code for MKDIR/MD commands.
cmd: Set success/failure return code for CD command.
cmd: Set success/failure return code for DIR command.
cmd: Set success/failure return code for PUSHD command.
cmd: Add some more tests for success/failure.
cmd: Return tri-state for WCMD_ReadParseLine().
cmd: Improve return code / errorlevel handling.
cmd: Set success/failure return_code for POPD command.
cmd: Set success/failure return code for RMDIR/RD command.
cmd: Don't set ERRORLEVEL in case of redirection error.
cmd/tests: Test success / failure for more commands.
cmd: Set success/failure return code for SETLOCAL/ENDLOCAL commands.
cmd: Set success/failure return code for DATE/TIME commands.
cmd: Set success/failure return code for VER command.
cmd: Set success/failure return code for VERIFY command.
cmd: Set success/failure return code for VOL command.
cmd: Set success/failure return code for LABEL command.
cmd/tests: Add more tests for success/failure.
cmd: Set success/failure return code of PATH command.
cmd: Set success/failure return code for SET command.
cmd: Set success/failure return code for ASSOC,FTYPE commands.
cmd: Set success/failure return code for SHIFT command.
cmd: Set success/failure return code for HELP commands.
cmd: Set success/failure return_code for PROMPT command.
cmd: Add tests for screen/interactive builtin commands.
cmd: Set success/failure return code for CLS command.
cmd: Set success/failure return code for COLOR command.
cmd: Set success/failure return code for TITLE command.
cmd: Use the correct output handle in pipe command.
cmd: Set success/failure return code for CHOICE command.
cmd: Set success/failure return code for MORE command.
cmd: Set success/failure return code for PAUSE command.
cmd: Get rid of CTTY command.
cmd: Add more tests for return codes in builtin commands.
cmd: Set success/failure return code for MKLINK command.
cmd: Set success/failure return code for START command.
cmd: Move empty batch command handling to WCMD_batch() callers.
cmd: Improve return code/errorlevel support for external commands.
cmd: Cleanup transition bits.
cmd: Get rid for CMD_COMMAND structure.
cmd: When parsing, dispose created objects on error path.
cmd: Fix a couple of issues with redirections.
Fabian Maurer (6):
cmd: Close file opened with popen with correct function (coverity).
mlang/tests: Add test for GetGlobalFontLinkObject allowing IID_IMultiLanguage2.
mlang/tests: Add tests showing which interface is returned by GetGlobalFontLinkObject.
mlang: Return the correct interface in GetGlobalFontLinkObject.
d3dx9: Remove superflous nullcheck (coverity).
msv1_0: Set mode in ntlm_check_version.
Hans Leidekker (25):
msi: Avoid infinite recursion while processing the DrLocator table.
odbc32: Turn SQLBindParam() into a stub.
odbc32: Replicate Unix data sources to the ODBC Data Sources key.
odbc32: Reimplement SQLDrivers() using registry functions.
odbc32: Reimplement SQLDataSources() using registry functions.
odbc32: Introduce a Windows driver loader and forward a couple of functions.
odbc32: Forward more functions to the Windows driver.
odbc32: Forward yet more functions to the Windows driver.
odbc32: Forward the remaining functions to the Windows driver.
odbc32/tests: Add tests.
msi: Handle failure from MSI_RecordGetInteger().
msi: Load DrLocator table in ITERATE_AppSearch().
winhttp: Implement WinHttpQueryOption(WINHTTP_OPTION_URL).
odbc32: Implement SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT).
odbc32: Stub SQLGetEnvAttr(SQL_ATTR_CONNECTION_POOLING).
odbc32: Handle options in SQLFreeStmt().
odbc32: Default to ODBC version 2.
odbc32: Implement SQLGetInfo(SQL_ODBC_VER).
odbc32: Factor out helpers to create driver environment and connection handles.
odbc32: Accept SQL_FETCH_NEXT in SQLDataSources/Drivers() if the key has not been opened.
odbc32: Set parent functions before creating the environment handle.
odbc32: Use SQLFreeHandle() instead of SQLFreeEnv/Connect().
odbc32: Use SQLSetConnectAttrW() instead of SQLSetConnectAttr() if possible.
Ilia Docin (1):
comctl32/rebar: Hide chevron if rebar's band is resized back to full size with gripper.
Jacek Caban (38):
jscript: Factor out find_external_prop.
jscript: Rename PROP_IDX to PROP_EXTERN.
jscript: Introduce lookup_prop callback.
jscript: Factor out lookup_dispex_prop.
jscript: Introduce next_property callback.
jscript: Factor out handle_dispatch_exception.
jscript: Use to_disp in a few more places.
mshtml: Factor out dispex_prop_put.
mshtml: Factor out dispex_prop_get.
mshtml: Factor out dispex_prop_call.
jscript: Allow objects to have their own addref and release implementation.
jscript: Introduce IWineJSDispatch insterface.
mshtml: Allow external properties to have arbitrary names.
jscript: Introduce HostObject implementation.
jscript: Support converting host objects to string.
jscript: Support host objects in disp_cmp.
jscript: Use jsdisp_t internally for host objects that support it.
mshtml: Implement jscript IWineJSDispatchHost.
mshtml: Pass an optional script global window to init_dispatch.
mshtml: Support using IWineJSDispatch for DispatchEx implementation.
mshtml: Use IWineJSDispatch for screen object script bindings.
jscript: Factor out native_function_string.
jscript: Add support for host functions.
mshtml/tests: Make todo_wine explicit in builtin_toString tests.
mshtml: Use host object script bindings for DOMImplementation class.
mshtml: Use host object script bindings for History class.
mshtml: Use host object script bindings for PerformanceNavigation class.
mshtml: Use host object script bindings for PerformanceTiming class.
mshtml: Use host object script bindings for Performance class.
mshtml: Store document node instead of GeckoBrowser in DOMImplementation.
mshtml/tests: Add script context test.
mshtml: Store script global object pointer in document object.
mshtml: Use host object script bindings for MediaQueryList class.
mshtml: Use host object script bindings for Navigator class.
mshtml: Use host object script bindings for Selection class.
mshtml: Use host object script bindings for TextRange class.
mshtml: Use host object script bindings for Range class.
mshtml: Use host object script bindings for Console class.
Marc-Aurel Zent (4):
ntdll: Prefer futex for thread-ID alerts over kqueue.
ntdll: Use USE_FUTEX to indicate futex support.
ntdll: Simplify futex interface from futex_wake() to futex_wake_one().
ntdll: Implement futex_wait() and futex_wake_one() on macOS.
Matthias Gorzellik (2):
winebus.sys: Fix rotation for angles < 90deg.
winebus.sys: Align logical max of angles to physical max defined in dinput.
Mohamad Al-Jaf (7):
include: Add windows.data.json.idl file.
windows.web: Add stub DLL.
windows.web: Implement IActivationFactory::ActivateInstance().
include: Add IJsonValueStatics interface definition.
windows.web: Add IJsonValueStatics stub interface.
windows.web/tests: Add IJsonValueStatics::CreateStringValue() tests.
windows.web: Implement IJsonValueStatics::CreateStringValue().
Nikolay Sivov (2):
winhttp/tests: Add some tests for querying string options with NULL buffer.
winhttp: Fix error handling when returning string options.
Paul Gofman (14):
ntdll: Report the space completely outside of reserved areas as allocated on i386.
psapi/tests: Add tests for QueryWorkingSetEx() with multiple addresses.
ntdll: Validate length in get_working_set_ex().
ntdll: Factor OS-specific parts out of get_working_set_ex().
ntdll: Iterate views instead of requested addresses in get_working_set_ex().
ntdll: Limit vprot scan range to the needed interval in get_working_set_ex().
ntdll: Fill range of output in fill_working_set_info().
ntdll: Buffer pagemap reads in fill_working_set_info().
winhttp/tests: Add test for trailing spaces in reply header.
winhttp: Construct raw header from the parse result in read_reply().
winhttp: Skip trailing spaces in reply header names.
win32u: Use FT_LOAD_PEDANTIC on first load try in freetype_get_glyph_outline().
ntdll: Better track thread pool wait's wait_pending state.
ntdll: Make sure wakeups from already unset events are ignored in waitqueue_thread_proc().
Piotr Caban (9):
ucrtbase: Store exception record in ExceptionInformation[6] during unwinding.
xcopy: Exit after displaying help message.
xcopy: Exit on invalid command line argument.
xcopy: Strip quotes only from source and destination arguments.
xcopy: Introduce get_arg helper that duplicates first argument to new string.
xcopy: Handle switch options concatenated with path.
xcopy: Add support for parsing concatenated switches.
kernel32/tests: Fix CompareStringW test crash when linguistic compressions are used.
ucrtbase: Fix FILE no buffering flag value.
Rémi Bernon (60):
server: Move thread message queue masks to the shared mapping.
win32u: Read the thread message queue masks from the shared memory.
server: Move thread message queue bits to the shared mapping.
win32u: Use the thread message queue shared memory in get_input_state.
win32u: Use the thread message queue shared memory in NtUserGetQueueStatus.
win32u: Use the thread message queue shared memory in wait_message_reply.
mf/session: Don't update transform output type if not needed.
mf/session: Implement D3D device manager propagation.
winegstreamer: Translate GstCaps directly to MFVIDEOFORMAT / WAVEFORMATEX in wg_transform.
winegstreamer: Translate MFVIDEOFORMAT / WAVEFORMATEX directly to GstCaps in wg_transform.
winegstreamer: Create transforms from MFVIDEOFORMAT / WAVEFORMATEX.
winegstreamer: Only use pool and set buffer meta for raw video frames.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Keep the input caps on the transform.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Normalize both input and output media types stride at once.
winegstreamer: Normalize video processor and color converter apertures.
winegstreamer: Respect video format padding for input buffers too.
server: Move the desktop flags to the shared memory.
win32u: Use the shared memory to read the desktop flags.
server: Create a thread input shared mapping.
server: Move active window to input shared memory.
server: Move focus window to input shared memory.
server: Move capture window to input shared memory.
server: Move caret window and rect to input shared memory.
win32u: Use input shared memory for NtUserGetGUIThreadInfo.
win32u: Move offscreen window surface creation fallback.
win32u: Split a new create_window_surface helper from apply_window_pos.
win32u: Pass the window surface rect for CreateLayeredWindow.
win32u: Pass whether window is shaped to drivers WindowPosChanging.
win32u: Introduce a new window surface helper to set window shape.
win32u: Use a 1bpp bitmap to store the window surface shape bits.
win32u: Update the window surface shape with color key and alpha.
win32u: Pass the shape bitmap info and bits to window_surface flush.
mfreadwrite/reader: Look for a matching output type if setting it failed.
winex11: Reset window shape whenever window surface is created.
mf/tests: Remove static specifier on variables referencing other variables.
win32u: Allocate heap in peek_message only when necessary.
win32u: Use the thread message queue shared memory in peek_message.
win32u: Simplify the logic for driver messages polling.
ddraw/tests: Make sure the window is restored after some minimize tests.
ddraw/tests: Flush messages and X11 events between some tests.
server: Add a foreground flag to the thread input shared memory.
server: Add cursor handle and count to desktop shared memory.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
server: Use a shared_object_t for the dummy object.
win32u: Check the surface layered nature when reusing window surface.
win32u: Update the window state when WS_EX_LAYERED window style changes.
win32u: Update the layered surface attributes in apply_window_pos.
winex11: Rely on win32u layered window surface attribute updates.
wineandroid: Rely on win32u layered window surface attribute updates.
winemac: Rely on win32u layered window surface attribute updates.
winegstreamer/video_decoder: Generate timestamps relative to the first input sample.
mfreadwrite/reader: Send MFT_MESSAGE_NOTIFY_START_OF_STREAM on start or seek.
mf/tests: Reduce the mute threshold for the transform tests.
win32u: Fix initial value when checking whether WS_EX_LAYERED changes.
win32u: Use the dummy surface for empty layered window surfaces.
maintainers: Remove MF GStreamer section.
Shaun Ren (1):
dinput: Call handle_foreground_lost() synchronously in cbt_hook_proc().
Stefan Dösinger (1):
ddraw: Set dwMaxVertexCount to 2048.
Zhiyi Zhang (1):
winemac.drv: Remove the clear OpenGL views to black hack.
Ziqing Hui (18):
winegstreamer/video_encoder: Implement GetInputAvailableType.
winegstreamer/video_encoder: Implement SetInputType.
winegstreamer/video_encoder: Implement GetInputCurrentType.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Introduce create_input_type.
winegstreamer/video_encoder: Check more attributes in SetInputType.
winegstreamer/video_encoder: Implement GetInputStreamInfo.
winegstreamer/video_encoder: Implement GetOutputStreamInfo.
winegstreamer/video_encoder: Rename create_input_type to video_encoder_create_input_type.
winegstreamer/video_encoder: Clear input type when setting output type.
winegstreamer/video_encoder: Create wg_transform.
winegstreamer/video_encoder: Implement ProcessInput.
winegstreamer/video_encoder: Implement ProcessMessage.
winegstreamer/video_encoder: Use MF_ATTRIBUTES_MATCH_INTERSECTION to compare input type.
winegstreamer/video_encoder: Set output info cbSize in SetOutputType.
winegstreamer/wg_transform: Introduce transform_create_decoder_elements.
winegstreamer/wg_transform: Introduce transform_create_converter_elements.
winegstreamer/wg_transform: Support creating encoder transform.
```
1
0
The Wine development release 9.12 is now available.
What's new in this release:
- Initial support for user32 data structures in shared memory.
- Mono engine updated to version 9.2.0.
- Rewrite of the CMD.EXE engine.
- Fixed handling of async I/O status in new WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.12.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.12 (total 24):
- #43337 Conditional command with parentheses not working.
- #44063 Parentheses cause cmd.exe failing to recognize '2>&1'
- #47071 Nest or mixed "FOR" and "IF" command sometimes get different result in Wine and Windows.
- #47798 Incorrect substring result using enableDelayedExpansion
- #49993 CUERipper 2.1.x does not work with Wine-Mono
- #50723 Can't recognize ... as an internal or external command, or batch script
- #52344 Can't substitute variables as a command
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53190 cmd.exe incorrectly parses a line with nested if commands
- #54935 Rewrite (VN): black screen videos with WMP backend and gstreamer
- #55947 Serial port event waits should use async I/O
- #56189 quartz:vmr7 - test_default_presenter_allocate() fails on Windows 7
- #56389 Assassin's Creed & Assassin's Creed: Revelations do not run under new WoW64
- #56698 SuddenStrike 3 crashes when opening the intro movie
- #56763 Firefox 126.0.1 crashes on startup
- #56769 Death to Spies: intro videos have audio only but no video
- #56771 Receiving mail in BeckyInternetMail freezes
- #56827 Window borders disappear
- #56836 Assassin's Creed III stuck on loading screen (Vulkan renderer)
- #56838 FL Studio 21 gui problem
- #56839 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes due to unimplemented functions in ntdll.dll
- #56840 Apps don't launch with wayland driver
- #56841 virtual desktop "explorer.exe /desktop=shell,1920x1080" broken
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.11:
```
Aida Jonikienė (1):
ntdll: Fix params_mask type in NtRaiseHardError().
Alex Henrie (6):
ntdll: Fix multi-string callbacks in RtlQueryRegistryValues.
ntdll: Double-null-terminate multi-strings when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix handling of non-string types with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't write partial strings with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix type and size of expanded strings in RtlQueryRegistryValues.
ntdll: Don't special-case default values in RtlQueryRegistryValues.
Alexandre Julliard (28):
ntdll/tests: Add test for cross-process notifications on ARM64EC.
kernel32/tests: Add some tests for WriteProcessMemory/NtWriteVirtualMemory.
kernelbase: Make memory writable in WriteProcessMemory if necessary.
kernelbase: Send cross process notifications in WriteProcessMemory on ARM64.
kernelbase: Send cross process notifications in FlushInstructionCache on ARM64.
kernelbase: Don't use WRITECOPY protection on anonymous mappings.
ntdll: Add helper macros to define syscalls on ARM64EC.
ntdll: Send cross-process notification in memory functions on ARM64EC.
ntdll: Fix the fake 32-bit %cs value on ARM64EC.
ntdll: Don't set the TEB ExceptionList to -1 on 64-bit.
ntdll: Simplify preloader execution using HAVE_WINE_PRELOADER.
ntdll: Export a proper function for RtlGetNativeSystemInformation.
ntdll: Move RtlIsProcessorFeaturePresent implementation to the CPU backends.
ntdll: Move the IP string conversion functions to rtlstr.c.
makedep: Add a helper to get a root-relative directory path.
makefiles: Hardcode the fonts directory.
makefiles: Hardcode the nls directory.
makefiles: Hardcode the dll directory.
makefiles: Generate rules to build makedep.
tools: Add helper functions to get the standard directories.
ntdll: Build relative paths at run-time instead of depending on makedep.
loader: Build relative paths at run-time instead of depending on makedep.
server: Build relative paths at run-time instead of depending on makedep.
makefiles: No longer ignore makedep.c.
configure: Disable non-PE import libraries if compiler support is missing.
makedep: Remove the -R option.
makedep: Generate rules for make depend.
makedep: Generate a compile_commands.json file.
Alexandros Frantzis (5):
opengl32: Add default implementation for wglGetPixelFormatAttribivARB.
opengl32: Add default implementation for wglGetPixelFormatAttribfvARB.
winex11: Update describe_pixel_format coding style.
winex11: Pass wgl_pixel_format to describe_pixel_format.
winex11: Use default wglGetPixelFormatAttribivARB implementation.
Alfred Agrell (10):
quartz: Implement AMT/WMT differences for WMV media type.
winegstreamer: Implement AM_MEDIA_TYPE to wg_format converter for Cinepak video.
winegstreamer: Make AVI splitter use end of previous frame if the current frame doesn't have a timestamp.
quartz/tests: Add Cinepak test to avi splitter.
iccvid: Reject unsupported output types.
msvfw32/tests: Test that Cinepak rejects unsupported output types.
quartz: Allow concurrent calls to AVI decoder qc_Notify and Receive.
quartz/tests: Test that avi_decompressor_source_qc_Notify does not deadlock if called from a foreign thread during IMemInput_Receive.
winegstreamer: Recalculate alignment and bytes per second, instead of copying from input.
mf/tests: Clobber the alignment and bytes per second, to test if the DMO fixes it.
Alistair Leslie-Hughes (11):
oledb32: Support multiple values when parsing the property Mode.
oledb32: When creating a Data Source, handle non fatal errors.
msado15: Use the correct version when loading the typelib.
odbccp32: Look at the Setup key to find the driver of ODBC config functions.
odbccp32: SQLConfigDataSource/W fix crash with passed NULL attribute parameter.
msado15: Implement _Recordset get/put CacheSize.
msado15: Implement _Recordset get/put MaxRecords.
msado15: Support interface ADOCommandConstruction in _Command.
msado15: Implement _Command::get_Parameters.
msado15: Implement Parameters interface.
msado15: Implement _Command::CreateParameter.
Arkadiusz Hiler (2):
bcp47langs: Add stub dll.
apisetschema: Add api-ms-win-appmodel-runtime-internal-l1-1-1.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (6):
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession2 definition.
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession3 definition.
include: Add windows.graphics.idl file.
include: Add Windows.Graphics.Capture.GraphicsCaptureItem runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFrame runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFramePool runtimeclass.
Brendan McGrath (3):
mf/tests: Add additional tests for MESessionClosed event.
mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES.
mf: Handle an error during Media Session Close.
Brendan Shanks (9):
dbghelp: Add ARM/ARM64 machine types for Mach-O.
ntdll: Make __wine_syscall_dispatcher_return a separate function to fix Xcode 16 build errors.
configure: Don't build wineloader on macOS with '-pie'.
configure: Remove warning when not using preloader on macOS.
configure: Rename wine_can_build_preloader to wine_use_preloader, and also use it for Linux.
configure: Define HAVE_WINE_PRELOADER when the preloader is being built.
loader: Use zerofill sections instead of preloader on macOS when building with Xcode 15.3.
winemac.drv: Fix warning in [WineWindow grabDockIconSnapshotFromWindow:force:].
winemac.drv: Fix warning in [WineContentView viewWillDraw].
Connor McAdams (8):
d3dx9/tests: Add tests for the source info argument of D3DXCreateTextureFromFileInMemoryEx().
d3dx9/tests: Add more tests for loading files with multiple mip levels into textures.
d3dx9: Refactor texture creation and cleanup in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use struct volume inside of struct d3dx_image for storing dimensions.
d3dx9: Add support for specifying a starting mip level when initializing a d3dx_image structure.
d3dx9: Cleanup texture value argument handling in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which mip level to get pixel data from to d3dx_image_get_pixels().
Daniel Lehman (3):
odbc32: Handle both directions for SQLBindParameter().
odbc32: Numeric attribute pointer may be null if not a numeric type in SQLColAttribute().
odbc32: StrLen_or_Ind passed to SQLBindCol can be NULL.
Danyil Blyschak (1):
gdi32/uniscribe: Ensure the cache is initialised.
Davide Beatrici (7):
mmdevapi: Set the default period to a minimum of 10 ms.
winepulse: Don't set a floor for the period(s).
mmdevapi: Return errors early in adjust_timing().
mmdevapi: Introduce helper stream_init().
mmdevapi: Complete IAudioClient3_InitializeSharedAudioStream.
mmdevapi: Complete IAudioClient3_GetSharedModeEnginePeriod.
mmdevapi: Implement IAudioClient3_GetCurrentSharedModeEnginePeriod.
Elizabeth Figura (41):
server: Check for an existing serial wait ioctl within the ioctl handler.
server: Directly wake up wait asyncs when the serial mask changes.
ntdll/tests: Use NtReadFile to test WoW64 IOSB handling.
ntdll/tests: Test IOSB handling for a synchronous write which cannot be satisfied immediately.
ntdll/tests: Test IOSB handling with NtFlushBuffersFile.
maintainers: Remove myself as a winegstreamer maintainer.
ntdll: Remove the redundant filling of the IOSB in NtDeviceIoControlFile().
ntdll: Do not fill the IOSB or signal completion on failure in cdrom_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in serial_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in tape_DeviceIoControl().
ntdll: Do not fill the IOSB in NtFsControlFile() on failure.
ntdll: Do not queue an IOCP packet in complete_async() if an APC routine is specified.
ntdll: Move complete_async() to file.c and use it in NtWriteFileGather().
ntdll: Use file_complete_async() in tape_DeviceIoControl().
ntdll: Use file_complete_async() in cdrom_DeviceIoControl().
ntdll: Use file_complete_async() in serial_DeviceIoControl().
ntdll: Use file_complete_async() in NtFsControlFile().
quartz/tests: Handle the case where ddraw returns system memory.
ntdll: Do not set io->Status at the end of sock_ioctl().
ntdll: Factor filling the IOSB into set_async_direct_result().
ntdll: Move set_async_direct_result() to file.c.
widl: Do not allow "lu" as an integer suffix.
widl: Store the hexadecimal flag inside of the expr_t union.
widl: Use struct integer for the aNUM and aHEXNUM tokens.
widl: Respect u and l modifiers in expressions.
quartz/tests: Test IVMRWindowlessControl::GetNativeWindowSize() on the default presenter.
quartz: Implement IVMRWindowlessControl::GetNativeVideoSize().
wined3d: Precompute direction and position in wined3d_light_state_set_light().
wined3d: Pass the primary stateblock to wined3d_device_process_vertices().
wined3d: Use the primary stateblock state in wined3d_device_process_vertices() where possible.
wined3d: Pass the constant update mask to wined3d_device_context_push_constants().
wined3d: Feed WINED3D_TSS_CONSTANT through a push constant buffer.
wined3d: Feed WINED3D_RS_TEXTUREFACTOR through a push constant buffer.
ntdll: Introduce a sync_ioctl() helper.
ntdll: Handle WoW64 file handles in sync_ioctl().
ntdll: Always fill the 32-bit iosb for overlapped handles, for server I/O.
ntdll: Always fill the 32-bit iosb for overlapped handles, in file_complete_async().
ntdll: Always fill the 32-bit iosb for overlapped handles, in set_async_direct_result().
ntdll: Always fill the 32-bit iosb for overlapped handles, for regular read/write.
wined3d: Recheck whether a query is active after wined3d_context_vk_get_command_buffer().
wined3d: Implement wined3d_check_device_format_conversion().
Eric Pouech (36):
cmd: Add more tests about FOR loops.
cmd: Introduce helpers to handle FOR variables.
cmd: Introduce helpers to save and restore FOR loop contexts.
cmd: Enable '%0' through '%9' as valid FOR loop variables.
cmd: Introduce helpers to handle directory walk.
cmd: Split parsing from executing FOR loops for numbers (/L).
cmd: Fix delay expansion in FOR /L loops.
cmd: Split parsing from executing FOR loops for filesets (/F).
cmd: Fix delay expansion in FOR loop for filesets.
cmd: Split parsing from executing FOR loops for file walking.
cmd: Fix delayed expansion in FOR loop on file sets.
cmd: Remove old FOR loop related code.
cmd: Test input has been read before using it.
cmd: Introduce token-based syntax parser for building command nodes.
cmd: Use kernel32's error codes instead of literals.
cmd: Introduce return code to indicate abort of current instruction.
cmd/tests: Add tests for delayed substitution in IF command.
cmd: Expand delayed variables in IF operands.
cmd: Factorize code for reading a new line for parser.
cmd: Remove unrelated parameter to WCMD_show_prompt.
cmd: Move prompt handling into line reading.
cmd: Fix a couple of issues wrt. variable expansion.
cmd: Move depth count inside builder.
cmd: Add more tests about CALL and variable expansion.
cmd: Fix a couple of expansions issues.
cmd: Let redirections be handled by node instead of command.
cmd: Move code around to avoid forward declaration.
cmd: Let token errors be tranlatable.
cmd: Migrate IF/FOR instructions inside CMD_NODE.
cmd: Support help for IF and FOR commands.
cmd: Return sub-block return code for IF and FOR.
cmd: Use precedence in command chaining.
cmd: Add success/failure return code tests for CALL command.
cmd: Set success/failure return code for ECHO command.
cmd: Set success/failure return code for CALL command.
cmd: Implement semantic for chaining in ||, | and && operators.
Esme Povirk (2):
user32/tests: Fix spurious "Failed sequence" reports on Windows.
mscoree: Update Wine Mono to 9.2.0.
Fabian Maurer (1):
wow64: In wow64_NtSetInformationToken forward TokenIntegrityLevel.
Giovanni Mascellani (6):
wined3d: Compile the clear compute shaders at runtime.
d3d11/tests: Check the result of compiling HLSL shaders.
d3d11/tests: Check for NV12 texture support before testing them.
d3d11/tests: Do not check pitches.
d3d11/tests: Test NV12 textures without render target.
d3d11/tests: Test UpdateSubresource() for NV12 textures.
Hans Leidekker (2):
odbc32: Rebind parameters when the result length array is resized.
wpcap: Handle different layout of the native packet header structure on 32-bit.
Ilia Docin (2):
sane.ds: Add SANE option settable flag support.
sane.ds: Improve color mode and paper source detection.
Jacek Caban (12):
mshtml: Introduce IWineJSDispatchHost interface.
mshtml: Rename builtin function helpers.
mshtml: Add support for using call on builtin function objects.
mshtml: Add support for using apply on builtin function objects.
jscript: Fix PROP_DELETED handling in delete_prop.
jscript: Use designated initializers for builtin_info_t.
jscript: Use to_disp in a few more places.
jscript: Introduce to_jsdispex.
jscript: Consistently use jsdisp_addref and jsdisp_release.
jscript: Use default destructor for array objects.
jscript: Use default destructor for Object instances.
jscript: Always free jsdisp_t in jsdisp_free.
Marc-Aurel Zent (7):
winemac.drv: Handle length of dead keycodes in ToUnicodeEx correctly.
winemac.drv: Do not append " dead" to dead keycodes in GetKeyNameText.
winemac.drv: Uppercase single keys in GetKeyNameText.
winemac.drv: Use UCCompareText in char_matches_string.
winemac.drv: Resolve symbol vkeys first without modifiers.
winemac.drv: Add additional German symbol vkeys.
winemac.drv: Give dead keys a friendly name in GetKeyNameText.
Paul Gofman (8):
mmdevapi: Store device_name as a pointer in struct audio_client.
mmdevapi: Adjust timing after main loop start in client_Initialize().
mmdevapi: Stub AUDCLNT_STREAMFLAGS_LOOPBACK support.
winepulse.drv: Factor out wait_pa_operation_complete().
winepulse.drv: Implement pulse_get_loopback_capture_device().
mmdevapi/tests: Add test for capturing render loopback.
ddraw/tests: Add tests for preserving d3d state during primary surface creation.
ddraw: Preserve d3d device state in ddraw_surface_create().
Piotr Caban (3):
kernelbase: Add GetFileMUIInfo implementation.
kernel32/tests: Add GetFileMUIInfo tests.
kernel32/tests: Test GetFileMUIInfo on language resource file.
Rémi Bernon (59):
winewayland: Avoid crashing when the dummy window surface is used.
win32u: Avoid setting the SWP_NOSIZE flag on the initial WM_DISPLAYCHANGE.
win32u: Fix a deadlock when locking the same surface on different DCs.
dwrite/tests: Ignore macOS specific "flip" sbix format.
kernel32/tests: Break debugger loop on unexpected result.
win32u: Use the vulkan functions directly from d3dkmt.
winex11: Don't use the vulkan driver interface for xrandr.
server: Create a global session shared mapping.
include: Add ReadNoFence64 inline helpers.
server: Allocate shared session object for desktops.
server: Return the desktop object locator in (get|set)_thread_desktop.
win32u: Open the desktop shared object in NtUserSetThreadDesktop.
server: Move the cursor position to the desktop session object.
server: Move the last cursor time to the desktop session object.
win32u: Use the desktop shared data for GetCursorPos.
win32u: Remove now unused vulkan_funcs in d3dkmt.c.
winex11: Create a global vulkan instance for xrandr.
include: Add a couple of CRT function declarations.
include: Define frexpf as inline function in more cases.
server: Mark block as writable in mark_block_uninitialized.
server: Store the cursor clip rect in the shared data.
server: Get rid of the global cursor structure.
win32u: Use the shared memory for get_clip_cursor.
server: Use a separate variable to determine the message on Alt release.
server: Use separate functions to update the desktop and input keystates.
server: Move the desktop keystate to shared memory.
win32u: Use the shared data if possible for NtUserGetAsyncKeyState.
winex11: Move window surface creation functions to bitblt.c.
winemac: Move window surface creation functions to surface.c.
winewayland: Move window surface creation functions to window_surface.c.
winemac: Remove unused macdrv_get_surface_display_image copy_data parameter.
winemac: Create a provider for the surface and a HBITMAP wrapping it.
winemac: Create window surface CGImageRef on surface flush.
winemac: Push window surface image updates to the main thread.
winemac: Remove now unnecessary cocoa window surface pointer.
winemac: Remove unnecessary surface_clip_to_visible_rect.
server: Create a thread message queue shared mapping.
server: Keep a reference on the desktop the hook are registered for.
server: Move hooks struct initialization within add_hook.
server: Update the active hooks bitmaps when hooks are added / removed.
win32u: Read the active hooks count from the shared memory.
win32u: Remove now unnecessary thread info active_hooks cache.
server: Remove now unnecessary active_hooks from replies.
winex11: Only clip huge surfaces to the virtual screen rect.
wineandroid: Only clip huge surfaces to the virtual screen rect.
winemac: Clip huge surfaces to the virtual screen rect.
winewayland: Clip huge window surfaces to the virtual screen rect.
win32u: Move the surface rect computation out of the drivers.
win32u: Use the previous surface as default surface when compatible.
win32u: Use the default window surface when window is not visible.
win32u: Move layered surface attributes to the window_surface struct.
win32u: Introduce a new helper to update layered window surface attributes.
win32u: Pass BITMAPINFO and color bits to window surface flush.
win32u: Introduce a new helper to get surface color info and bits.
win32u: Get rid of the unnecessary offscreen window surface struct.
winemac: Remove now unnecessary driver surface BITMAPINFO.
wineandroid: Remove now unnecessary window surface BITMAPINFO.
winewayland: Remove now unnecessary window surface BITMAPINFO.
winex11: Remove now unnecessary window surface BITMAPINFO.
Santino Mazza (3):
mshtml/tests: Test for IMarkupServices.
mshtml: Implement MarkupServices_CreateMarkupContainer.
mshtml: Implement MarkupServices_ParseString.
Torge Matthies (4):
winegstreamer: Fix race between wg_parser_stream_en/disable and GST_EVENT_FLUSH_START/STOP.
winegstreamer: Don't only accept segment events when streams are enabled.
winegstreamer: Ignore an assert in wg_parser.
winegstreamer: Handle Gstreamer pipeline flushes gracefully in the media source.
Vijay Kiran Kamuju (4):
ntdll: Fix RtlEnumerateGenericTableWithoutSplaying function parameters.
ntdll: Add stub RtlEnumerateGenericTableWithoutSplayingAvl function.
ntdll: Add stub RtlNumberGenericTableElementsAvl function.
wevtapi: Add stub EvtCreateRenderContext().
Zhiyi Zhang (9):
profapi: Add stub dll.
kernel32: Add AppPolicyGetWindowingModel().
rometadata: Add initial dll.
include: Add some windows.foundation definitions.
include: Add some windows.system definitions.
include: Add windows.devices.input.idl.
include: Add windows.ui.input.idl.
include: Add some windows.ui.core definitions.
include: Add some windows.applicationmodel definitions.
Ziqing Hui (8):
mf/tests: Add tests for H264 encoder types.
winegstreamer: Implement stubs for h264 encoder.
winegstreamer/aac_decoder: Support clearing media types.
winegstreamer/color_converter: Support clearing media types.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Implement GetOutputAvailableType.
winegstreamer/video_encoder: Implement SetOutputType.
winegstreamer/video_encoder: Implement GetOutputCurrentType.
```
1
0
The Wine development release 9.11 is now available.
What's new in this release:
- C++ exception handling on ARM platforms.
- More DPI Awareness support improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.11.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.11 (total 27):
- #42270 Settlers 4 Gold - Hardware Rendering mode not working
- #49703 Ghost Recon fails to start
- #50983 Multiple games stuck playing cutscenes (The Long Dark, The Room 4: Old Sins, Saint Kotar)
- #51174 api-ms-win-core-version-l1-1-0: Missing GetFileVersionInfoW and GetFileVersionInfoSizeW
- #52585 Multiple applications need NtQueryDirectoryObject to return multiple entries (Cygwin shells, WinObj 3.01)
- #53960 ucrt has different struct layout than msvcrt
- #54615 dwrite:layout - test_system_fallback() gets unexpected "Meiryo UI" font name in Japanese and Chinese on Windows
- #55362 NeuralNote: Crashes and Rendering issues (alson in VST3 form)
- #55472 DTS Encoder Suite gets stuck with encode pending from Wine 8.14
- #56095 Clanbomber 1.05 starts after a long (30 seconds) delay
- #56397 Numlock status not recognized when using winewayland.drv
- #56451 catch block fetches bogus frame when using alignas with 32 or higher
- #56460 Multiple games have stutter issues (Overwatch 2, Aimbeast)
- #56591 Steam doesn't render individual game pages correctly
- #56606 PhysX installer fails to start
- #56640 Genshin Impact: The game-launcher cannot be started anymore
- #56744 Serial number in smbios system table is not filled on Linux in practice
- #56747 Steam won’t load in the new wow64 mode when using DXVK
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56764 Empire Earth Gold doesn't start in virtual desktop mode
- #56766 CDmage 1.01.5 does not redraw window contents fully
- #56781 srcrrun: Dictionary setting item to object fails
- #56788 ComicRackCE crashes when viewing "info" for a comic file
- #56800 Nomad Factory plugins GUI is broken
- #56813 Hard West 2 crashes before entering the main menu (OpenGL renderer)
- #56824 Postal 2 (20th Anniversary update) crashes when loading the map
- #56828 Moku.exe crashes on startup
### Changes since 9.10:
```
Adam Rehn (1):
wineserver: Report non-zero exit code for abnormal process termination.
Alex Henrie (12):
ntdll/tests: Delete the WineTest registry key when the tests finish.
ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
ntdll: Don't call QueryRoutine if RTL_QUERY_REGISTRY_DIRECT is set.
ntdll: Don't call a null QueryRoutine in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_CRASH flag.
ntdll: Copy the correct number of bytes with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Calculate the default size even without RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't accept a query routine when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Set the string size when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Only allow string default values with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT.
Alexandre Julliard (40):
faudio: Import upstream release 24.06.
msvcrt: Share a helper macro to print an exception type.
msvcrt: Share the dump_function_descr() helper between platforms.
msvcrt: Fix the ip_to_state() helper for out of bounds values.
msvcrt: Don't use rva_to_ptr() for non-RVA values.
msvcrt: Use the copy_exception() helper in __CxxExceptionFilter.
msvcrt: Share the __CxxExceptionFilter implementation between platforms.
msvcrt: Share the common part of _fpieee_flt between platforms.
msvcrt: Consistently use the rtti_rva() helper.
winedump: Fix dumping of catchblocks for 32-bit modules.
msvcrt: The catchblock frame member isn't present on 32-bit.
msvcrt: Use pointer-sized types instead of hardcoding 64-bit in __CxxFrameHandler.
msvcrt: Share __CxxFrameHandler implementation with ARM platforms.
msvcrt: Add platform-specific helpers to call C++ exception handlers.
msvcrt: Add platform-specific helpers to retrieve the exception PC.
msvcrt: Use platform-specific handlers also for __CxxFrameHandler4.
ntdll: Fix stack alignment in __C_ExecuteExceptionFilter on ARM.
ntdll: Fix a couple of compiler warnings on ARM64EC.
ntdll: Fix inverted floating point masks on ARM64EC.
ntdll: Support x87 control word in __os_arm64x_get_x64_information().
kernel32/tests: Add test for FPU control words on ARM64EC.
msvcrt: Reimplement __crtCapturePreviousContext() based on RtlWalkFrameChain().
msvcrt: Use the __os_arm64x functions to get/set mxcsr on ARM64EC.
msvcrt: Implement asm sqrt functions on ARM platforms.
msvcrt: Disable SSE2 memmove implementation on ARM64EC.
kernelbase: Implement the GetProcAddress wrapper on ARM64EC.
kernel32: Implement the GetProcAddress wrapper on ARM64EC.
winex11: Fix build error when XShm is missing.
ntdll: Look for hybrid builtins in the PE directory for the host architecture.
ntdll: Remove some unnecessary asm macros on ARM plaforms.
winecrt0: Remove some unnecessary asm macros on ARM plaforms.
makedep: Build and install ARM64EC-only modules.
tests: Use ARM64 as architecture in manifests on ARM64EC.
ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC.
ntdll: Reimplement __os_arm64x_check_call in assembly.
ntdll: Move some security Rtl functions to sec.c.
ntdll: Move some synchronization Rtl functions to sync.c.
ntdll: Move the error mode Rtl functions to thread.c.
ntdll: Move the PEB lock Rtl functions to env.c.
ntdll: Move the memory copy Rtl functions to string.c.
Alexandros Frantzis (4):
server: Pass desktop to get_first_global_hook.
server: Check message target process for raw input device flags.
server: Implement key auto-repeat request.
win32u: Implement keyboard auto-repeat using new server request.
Alistair Leslie-Hughes (2):
odbccp32: Check if a full path was supplied for Driver/Setup/Translator entries.
odbccp32: Stop handle leak on error paths.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Brendan McGrath (4):
kernel32/tests: Test error code when FindFirstFileA uses file as directory.
ntdll/tests: Test error code when NtOpenFile uses file as directory.
server: Don't always return STATUS_OBJECT_NAME_INVALID on ENOTDIR.
ntdll: Treat XDG_SESSION_TYPE as special env variable.
Brendan Shanks (1):
ntdll: On macOS, check for xattr existence before calling getxattr.
Connor McAdams (7):
d3dx9: Refactor WIC GUID to D3DXIMAGE_FILEFORMAT conversion code.
d3dx9: Refactor WIC image info retrieval code in D3DXGetImageInfoFromFileInMemory().
d3dx9: Introduce d3dx_image structure for use in D3DXGetImageInfoFromFileInMemory().
d3dx9: Use d3dx_image structure in D3DXLoadSurfaceFromFileInMemory().
d3dx9: Introduce d3dx_load_pixels_from_pixels() helper function.
d3dx9: Use d3dx_pixels structure in decompression helper function.
d3dx9: Use d3dx_load_pixels_from_pixels() in D3DXLoadVolumeFromMemory().
Daniel Lehman (3):
secur32: Allow overriding GnuTLS debug level.
bcrypt: Allow overriding GnuTLS debug level.
crypt32: Allow overriding GnuTLS debug level.
Danyil Blyschak (4):
wineps.drv: Call ResetDCW() to update Devmode in the Unix interface.
opcservices: Provide memory allocator functions to zlib.
opcservices: Suppress unnecessary zlib deflate warnings.
opcservices: Check for memory allocation failure before deflating.
Dmitry Timoshkov (2):
server: Remove limitation for waiting on idle_event of the current process.
win32u: Limit GDI object generation to 128.
Elizabeth Figura (25):
widl: Assign to the right location variable.
widl: Allow using UDTs with the keyword even when the identifier is also a typedef.
widl: Invert "declonly".
widl: Factor out a define_type() helper.
widl: Update the type location in define_type().
widl: Do not write type definitions for types defined in an imported header.
include: Add more types to windows.networking.connectivity.idl.
wined3d: Update multisample state when the sample count changes.
wined3d: Invalidate the vertex shader when WINED3D_FFP_PSIZE is toggled.
wined3d: Just check the vertex declaration for point size usage.
wined3d: Just check the vertex declaration for colour usage.
wined3d: Just check the vertex declaration for normal usage.
wined3d: Just check the vertex declaration for texcoord usage.
wined3d: Default diffuse to 1.0 in the vertex shader.
server: Ignore attempts to set a mandatory label on a token.
server: Inherit the source token's label in token_duplicate().
advapi32/tests: Test token label inheritance.
wined3d: Handle a null vertex declaration in glsl_vertex_pipe_vdecl().
wined3d: Always output normalized fog coordinates from the vertex shader.
wined3d: Do not create a framebuffer with attachments whose clear is delayed.
wined3d: Use separate signature elements for oFog and oPts.
server: Don't set error in find_object_index if the object is not found.
ntdll: Implement reading multiple entries in NtQueryDirectoryObject.
server: Generalize get_directory_entries to single_entry case.
ntdll: Move IOCTL_SERIAL_WAIT_ON_MASK to the server.
Eric Pouech (13):
cmd: Introduce a helper to set std handles.
cmd: Introduce structure CMD_REDIRECTION.
cmd: Create helper to execute a command.
cmd: Let errorlevel be a signed integer.
cmd: Separate IF command parsing from execution.
kernelbase/tests: Fix typo in tests.
msvcrt/tests: Don't print a NULL string.
quartz/tests: Fix typo in tests.
quartz/tests: Add new tests about fullscreen handling.
quartz: Always expose that non fullscreen mode is supported and active.
quartz: Fix result in put_FullScreenMode().
conhost: Handle WM_CHAR for window console.
conhost: Support IME input in window mode.
Esme Povirk (4):
win32u: Send EVENT_OBJECT_FOCUS in more cases.
win32u: Implement EVENT_OBJECT_LOCATIONCHANGE.
gdiplus: Fix DIB stride calculation in GdipDrawImagePointsRect.
win32u: Implement EVENT_SYSTEM_MINIMIZESTART/END.
Fabian Maurer (7):
msvcrt: Fix _libm_sse2_sqrt_precise not using SSE2 sqrt.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.
Giovanni Mascellani (1):
d3d11/tests: Add a test for NV12 textures.
Hans Leidekker (8):
wmic: Sort the alias list.
wmic: Add csproduct and systemenclosure aliases.
ntdll: Provide fallback values for DMI fields only readable by root.
odbc32: Use a fixed size buffer for parameter bindings.
odbc32: Support SQLSetStmtAttr(SQL_ATTR_ROW_ARRAY_SIZE).
odbc32: Turn SUCCESS() into a static inline function.
odbc32/tests: Add tests for fetching multiple rows at once and parameter binding.
winscard: Pass ATR buffer to unixlib in SCardStatusA().
Jacek Caban (4):
mshtml: Use DispatchEx vtbl for document node GetDispID implementation.
mshtml: Use DispatchEx for document node InvokeEx implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro for document object implementation.
mshtml: Use DispatchEx for exposing document node IDispatchEx interface.
Jacob Pfeiffer (1):
wininet: Unify timeout values closer to hInternet.
Jinoh Kang (2):
user32/tests: Print regions in test_swp_paint_regions failure cases.
wow64: Implement reading multiple entries in wow64_NtQueryDirectoryObject.
Lucas Chollet (1):
dnsapi: Add a stub for DnsServiceBrowse.
Mohamad Al-Jaf (3):
coremessaging: Add stub DLL.
include: Add dispatcherqueue.idl file.
coremessaging: Add CreateDispatcherQueueController() stub.
Nikolay Sivov (3):
scrrun/dictionary: Implement putref_Item() method.
dwrite/tests: Fix a test failure on some Win10 machines with CJK locales.
gdi32/text: Handle null partial extents pointer in GetTextExtentExPointW().
Paul Gofman (12):
ntdll: Fix test_NtQueryDirectoryFile() on Win11.
ntdll: Do not ignore trailing dots in match_filename().
ntdll/tests: Test NtQueryDirectoryFile() masks with more files.
ntdll: Ignore leading dots in hash_short_file_name().
ntdll: Mind all the wildcards in has_wildcard().
ntdll: Match wildcard recursively in match_filename().
ntdll: Add a special handling for .. in match_filename().
ntdll: Implement matching DOS_STAR in NtQueryDirectoryFile().
ntdll: Implement matching DOS_DOT in NtQueryDirectoryFile().
ntdll: Properly match DOS_QM in match_filename().
ntdll: Skip name search for wildcards in asterisk handling in match_filename().
kernelbase: Preprocess wildcarded mask and pass it with NtQueryDirectoryFile().
Piotr Caban (8):
wineps.drv: Don't use dynamic buffer when writing new page info.
wineps.drv: Write page orientation hint for every page.
wineps.drv: Take all pages into account when computing bounding box.
wineps.drv: Write PageBoundingBox for every page.
wineps.drv: Add partial support for changing page size.
msvcp140: Use _get_stream_buffer_pointers() to access FILE internal buffers.
ucrtbase: Fix _iobuf struct layout.
msvcrt: Don't use custom standard streams definition.
Rémi Bernon (65):
widl: Use mangled namespace names in typedef pointer types.
win32u: Move the window surface color bits to the common struct.
win32u: Pass BITMAPINFO and a HBITMAP to window_surface_init.
winex11: Simplify the XSHM extension function calls.
winex11: Create XImage before initializing the window surface.
winex11: Create a HBITMAP for the allocated surface pixels.
win32u: Create a HBITMAP backing the window surface pixels.
win32u: Restore surface rect, which may offsetted from the window rect.
win32u: Use a dedicated helper to move bits from a previous surface.
win32u: Don't map points to the parent window in move_window_bits_parent.
win32u: Get rid of move_window_bits_parent, using move_window_bits.
winemac: Merge RESET_DEVICE_METRICS and DISPLAYCHANGE internal messages.
win32u: Fix a restorer_str typo.
win32u: Send display change messages when host display mode changes.
win32u: Move desktop resize on WM_DISPLAYCHANGE out of the drivers.
gdi32: Use an internal NtUser call for D3DKMTOpenAdapterFromGdiDisplayName.
wineandroid: Always clear UpdateLayeredWindow target rectangle.
wineandroid: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Always clear UpdateLayeredWindow target rectangle.
winemac: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Blend alpha with NtGdiAlphaBlend instead of window opacity.
winex11: Always clear UpdateLayeredWindow target rectangle.
winex11: Use the surface bitmap directly in UpdateLayeredWindow.
win32u: Introduce a new CreateLayeredWindow driver entry.
win32u: Move UpdateLayeredWindow implementation out of the drivers.
server: Avoid calling set_event from within msg_queue_add_queue.
win32u: Introduce new helpers to convert server rectangle_t.
win32u: Introduce NtUserAdjustWindowRect call for AdjustWindowRect*.
win32u: Pass desired DPI to NtUserGet(Client|Window)Rect.
win32u: Introduce a new get_monitor_rect helper.
win32u: Pass the rect DPI to NtUserIsWindowRectFullScreen.
winex11: Wrap more window surface formats with NtGdiDdDDICreateDCFromMemory.
winex11: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
gdi.exe16: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
winegstreamer: Allow to clear video decoder input/output types.
winegstreamer: Enforce default stride value in the video decoder.
winegstreamer: Enforce default stride presence in the video processor.
winegstreamer: Rename allow_size_change to allow_format_change.
winegstreamer: Only report format changes when frontend supports it.
winegstreamer: Use a caps to store the desired output format.
winegstreamer: Request the new transform output format explicitly.
winevulkan: Remove some unnecessary casts.
winevulkan: Fix size mismatch when writing to return pointer.
include: Add and fix some WGL prototypes.
winewayland: Force the DPI context when restoring cursor clipping.
winex11: Force the DPI context when restoring cursor clipping.
win32u: Use get_monitor_rect in more places.
win32u: Parameterize get_clip_cursor dpi.
win32u: Parameterize get_monitor_info dpi.
win32u: Use window monitor DPI in get_windows_offset when dpi is 0.
winex11: Use NtUserMapWindowPoints instead of NtUserScreenToClient.
win32u: Call NtUserMapWindowPoints with per-monitor DPI from the drivers.
winemac: Force thread DPI awareness when calling NtUserSetWindowPos.
winewayland: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserRedrawWindow.
winex11: Force thread DPI awareness when calling NtUserChildWindowFromPointEx.
win32u: Remove unused insert_after WindowPosChanging parameter.
wineandroid: Remove unnecessary visible_rect initialization.
winemac: Remove unnecessary visible_rect initialization.
winex11: Remove unnecessary visible_rect initialization.
win32u: Split WindowPosChanging driver call to a separate CreateWindowSurface.
winex11: Move layered window mapping to X11DRV_UpdateLayeredWindow.
winemac: Move layered window mapping to macdrv_UpdateLayeredWindow.
win32u: Move WM_WINE_DESKTOP_RESIZED into driver internal messages range.
Shengdun Wang (3):
ucrtbase/tests: Add FILE structure tests.
ucrtbase: Always use CRITICAL_SECTION for FILE locking.
ucrtbase: Fix FILE _flag values.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
Zhiyi Zhang (2):
ws2_32/tests: Test fromlen for recvfrom().
ntdll: Don't zero out socket address in sockaddr_from_unix().
Ziqing Hui (7):
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf/dmowrapper: Introduce get_output_samples.
qasf/dmowrapper: Introduce release_output_samples.
qasf/dmowrapper: Return failure in dmo_wrapper_sink_Receive if samples allocating fails.
qasf/dmowrapper: Allocate output samples before calling ProcessInput().
qasf/dmowrapper: Return VFW_E_WRONG_STATE in dmo_wrapper_sink_Receive.
qasf/dmowrapper: Sync Stop() and Receive() for dmo wrapper filter.
```
1
0
The Wine development release 9.10 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.12.
- DPI Awareness support improvements.
- C++ RTTI support on ARM platforms.
- More obsolete features removed in WineD3D.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.10.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.10 (total 18):
- #23434 Race management software hangs & jumps up to 100% processor load
- #34708 Silent Hill 4: The Room crashes after first videoscene when trying to go to the door.
- #45493 SRPG Studio games need proper DISPATCH_PROPERTYPUTREF implementation
- #46039 Paint.NET 4.1 (.NET 4.7 app) installer tries to run MS .NET Framework 4.7 installer (Wine-Mono only advertises as .NET 4.5)
- #46787 Notepad++ rather slow (GetLocaleInfoEx)
- #50196 can not copy words between wine apps and ubuntu apps
- #50789 Multiple .NET applications crash with unimplemented 'System.Security.Principal.WindowsIdentity.get_Owner' using Wine-Mono (Affinity Photo 1.9.1, Pivot Animator 4.2)
- #52691 FL Studio 20.9.1 Freezes on start-up
- #54992 EA app launcher does not render correctly
- #56548 reMarkable crashes on start
- #56582 vb3 combobox regression: single click scrolls twice
- #56602 DualShock 4 controller behaves incorrectly on Darwin with hidraw enabled
- #56666 BExAnalyzer from SAP 7.30 does not work correctly
- #56674 Multiple games fail to launch (Far Cry 3, Horizon Zero Dawn CE, Metro Exodus)
- #56718 Compilation fails on Ubuntu 20.04 with bison 3.5.1
- #56724 New chromium versions don't start under wine anymore
- #56730 Access violation in riched20.dll when running EditPad
- #56736 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes on unimplemented function ntdll.dll.RtlLookupElementGenericTableAvl
### Changes since 9.9:
```
Aida Jonikienė (2):
dxdiagn: Add bIsD3DDebugRuntime property.
dxdiagn: Add AGP properties.
Alexandre Julliard (52):
msvcrt: Add helpers to abstract RVA accesses to RTTI data.
msvcrt: Unify __RTtypeid implementation.
msvcrt: Unify __RTDynamicCast implementation.
msvcrt: Unify _CxxThrowException implementation.
msvcrt: Unify _is_exception_typeof implementation.
msvcrt: Unify __ExceptionPtrCopyException implementation.
msvcrt: Unify exception_ptr_from_record implementation.
msvcrt: Unify call_copy_ctor/call_dtor implementations.
msvcp: Unify __ExceptionPtrCopyException implementation.
msvcp: Unify __ExceptionPtrCurrentException implementation.
msvcp: Unify call_copy_ctor/call_dtor implementations.
msvcrt: Use RVAs in rtti and exception data on all platforms except i386.
msvcp: Use RVAs in rtti and exception data on all platforms except i386.
msvcrt/tests: Use function pointers to bypass builtin malloc/realloc.
msvcp/tests: Fix mangled names on ARM.
winecrt0: Initialize the Unix call dispatcher on first use.
ntdll: Make __wine_unix_call() an inline function.
wbemprox: Avoid unused function warning.
kernelbase: Fix the name of the default system locale.
wbemprox: Don't reference yysymbol_name on older bisons.
conhost: Fix a printf format warning.
winegcc: Don't print a potentially reallocated pointer.
adsldpc: Add correct C++ mangled names for all platforms.
dxtrans: Add correct C++ mangled names for all platforms.
msmpeg2vdec: Add correct C++ mangled names for all platforms.
vssapi: Add correct C++ mangled names for all platforms.
msvcrt: Fix bad_cast_copy_ctor spec entry on ARM.
msvcrt: Export all _ConcRT functions also on ARM.
msvcp120_app: Fix a typo in a C++ mangled name.
msvcp: Replace some stubs by exported functions that already exist for other platforms.
msvcp: Export the thiscall version of ios_base_Tidy.
msvcp140: Sort entry points by function instead of platform.
msvcp: Only export thiscall functions on i386.
msvcp: Only export stubs of thiscall functions on i386.
msvcrt: Only export thiscall functions on i386.
msvcrt: Only export stubs of thiscall functions on i386.
msvcrt: Add missing C++ mangled names for ARM.
msvcirt: Add missing C++ mangled names for ARM.
msvcp60: Add missing C++ mangled names for ARM.
msvcp70: Add missing C++ mangled names for ARM.
msvcp71: Add missing C++ mangled names for ARM.
msvcp80: Add missing C++ mangled names for ARM.
msvcp90: Add missing C++ mangled names for ARM.
msvcp100: Add missing C++ mangled names for ARM.
winedump: Print exported function names in the exception data.
winedump: Print the export or import name of exception handlers.
winedump: Dump exception data for known exception handlers.
vkd3d: Import upstream release 1.12.
msvcrt: Move common exception handling types to the header.
msvcrt: Share the find_caught_type() helper between platforms.
msvcrt: Share the copy_exception() helper between platforms.
msvcrt: Share a helper to find a catch block handler.
Alexandros Frantzis (15):
opengl32: Remove the wglDescribePixelFormat driver entry point.
win32u: Emit number characters for numpad virtual keys.
win32u: Allow drivers to send only the scan code for keyboard events.
win32u: Store the full KBD vkey information in kbd_tables_init_vsc2vk.
server: Send numpad virtual keys if NumLock is active.
user32/tests: Add tests for SendInput with numpad scancodes.
winewayland.drv: Populate vkey to wchar entry for VK_DECIMAL.
server: Fix handling of KEYEVENTF_UNICODE inputs with a non-zero vkey.
user32/tests: Add more test for unicode input with vkey.
user32/tests: Add tests for raw keyboard messages.
server: Use right-left modifier vkeys for hooks.
server: Apply modifier vkey transformations regardless of unicode flag.
server: Don't send raw input events for unicode inputs.
user32/tests: Check async key state in raw nolegacy tests.
server: Set VK_PACKET async state in raw input legacy mode.
Alistair Leslie-Hughes (10):
include: Complete __wine_uuidof for C++.
include: Add C++ support for IUnknown.
odbc32: Correct SQLSetConnectOptionW length parameter type.
include: Added sqlucode.h to sql.h.
include: Correct ListView_GetItemIndexRect macro.
include: Add IFACEMETHOD macros.
include: Add LOGFONTA/W typedef in shtypes.idl.
include: Add IPreviewHandler* interfaces.
include: Correct IRowsetNotify HROW parameter type.
include: Add missing TreeView_* defines.
Anton Baskanov (4):
quartz/tests: Use unaligned width in AVIDec tests to expose incorrect stride calculation.
quartz: Get output format from source, not sink in AVIDec.
quartz: Use the correct stride when calculating image size in AVIDec.
quartz: Hold the streaming lock while calling ICDecompressEnd.
Brendan Shanks (1):
ntdll: Don't warn on macOS and FreeBSD when xattr doesn't exist.
Connor McAdams (1):
uiautomationcore: NULL initialize SAFEARRAY variable passed to IRawElementProviderFragment::GetRuntimeId().
Daniel Lehman (1):
odbc32: Allow null handle for SQLSetEnvAttr.
Danyil Blyschak (3):
win32u: Remove external fonts from the registry before writing to it.
shcore: Check optional pointer in filestream_CopyTo() before writing to it.
wineps.drv: Only merge dmDefaultSource member of devmodes when a slot is found.
Davide Beatrici (6):
winealsa: Return minimum period in get_device_period if requested.
mmdevapi: Adjust timing in AudioClient_Initialize.
winealsa: Remove superfluous timing adjustment.
winecoreaudio: Remove superfluous timing adjustment.
wineoss: Remove superfluous timing adjustment.
winepulse: Remove superfluous timing adjustment.
Dmitry Timoshkov (2):
comctl32/tests: Create a fully updated ListView window.
user32/tests: Add a test to show that SendMessage(LB_SETCOUNT) adds a scrollbar.
Elizabeth Figura (21):
wined3d: Remove the no longer used STATE_SAMPLER.
wined3d: Remove the no longer used STATE_POINTSPRITECOORDORIGIN.
wined3d: Remove the FFP blitter.
wined3d: Remove some obsolete state invalidations.
wined3d: Remove the no longer needed fragment_caps.proj_control flag.
d3d9/tests: Remove leftover debugging code.
wined3d: Remove the no longer needed fragment_caps.srgb_texture flag.
wined3d: Remove the no longer needed fragment_caps.color_key flag.
wined3d: Remove the no longer needed wined3d_vertex_caps.xyzrhw flag.
wined3d: Remove the no longer needed wined3d_vertex_caps.ffp_generic_attributes flag.
wined3d: Remove the no longer used buffer conversion code.
wined3d: Remove the no longer used wined3d_context.fog_coord field.
wined3d: Remove the no longer used wined3d_context_gl.untracked_material_count field.
wined3d: Remove the no longer used wined3d_context.use_immediate_mode_draw field.
wined3d: Remove the no longer used WINED3D_SHADER_CAP_VS_CLIPPING flag.
wined3d: Remove the no longer used wined3d_context.namedArraysLoaded field.
wined3d: Remove the no longer used WINED3D_SHADER_CAP_SRGB_WRITE flag.
wined3d: Move the GL_EXTCALL() definition to wined3d_gl.h.
wined3d: Remove some no longer used wined3d_context fields.
wined3d: Remove no longer used "exponent" and "cutoff" precomputed fields.
wined3d: Remove the no longer used ignore_textype argument of wined3d_ffp_get_fs_settings().
Eric Pouech (4):
conhost: Fix display of font preview in 64-bit mode.
winedump: Dump correct handle information for minidump.
winedump: Don't dump twice.
winedump: Dump Memory64List streams in minidumps.
Esme Povirk (14):
gdiplus: Replace HDC check in GdipFlush.
gdiplus: Bracket HDC use in GdipMeasureCharacterRanges.
gdiplus: Bracket HDC use in GdipMeasureString.
gdiplus: Bracket HDC use in GdipDrawString.
gdiplus: Bracket HDC use in GDI32_GdipDrawDriverString.
gitlab: Add unzip to build image.
gdiplus: Replace HDC use in draw_driver_string.
gdiplus: Bracket HDC use in get_path_hrgn.
gdiplus: Bracket HDC use in gdi_transform_acquire/release.
gdiplus: Do not store HDC on HWND Graphics objects.
gdiplus: Don't call GetDeviceCaps for NULL dc.
user32/tests: Rename winevent_hook_todo to msg_todo.
user32/tests: Mark some Wine-todo messages.
win32u: Implement EVENT_SYSTEM_FOREGROUND.
Fabian Maurer (5):
oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
userenv: Add CreateAppContainerProfile stub.
riched20: In para_set_fmt protect against out of bound cTabStop values.
user32/tests: Fix ok_sequence succeeding in todo block not giving a test failure.
Francis De Brabandere (1):
vbscript/tests: Fix error clear call.
Ilia Docin (1):
sane.ds: Add missing color modes setting support.
Jacek Caban (30):
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlobject.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlscript.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlselect.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstorage.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyle.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyleelem.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstylesheet.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltable.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextarea.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextnode.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in mutation.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in omnavigator.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in range.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in selection.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in svg.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in xmlhttprequest.c.
ntdll: Use assembly wrapper for unixlib calls on ARM64EC.
d3d9/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d8/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d9: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d8: Use GNU assembly syntax on clang x86_64 MSVC target.
ddraw: Use GNU assembly syntax on clang x86_64 MSVC target.
gitlab: Use --enable-werror for Clang builds.
mshtml: Return success in IHTMLWindow2::get_closed stub.
mshtml/tests: Add more custom properties tests.
mshtml: Factor out alloc_dynamic_prop.
mshtml: Use DispatchEx vtbl for elements as window property lookups.
mshtml: Use DispatchEx vtbl for all window properties.
mshtml: Use macro for window object IDispatch functions implementation.
mshtml: Move IDispatchEx forwarding implementation to outer window object.
Krzysztof Bogacki (7):
win32u: Use separate variable for inner loop.
win32u: Log Vulkan GPU's PCI IDs when matching against them.
win32u: Log Vulkan UUIDs when adding GPUs.
win32u: Remove unused variable from add_vulkan_only_gpus.
win32u: Use common name for fake GPUs and prefer Vulkan name over it.
win32u: Prefer Vulkan PCI IDs over empty ones.
win32u: Prefer Vulkan UUIDs over empty ones.
Marcus Meissner (1):
shell32/tests: Fixed sizeof to GetModuleFileName.
Myah Caron (1):
msvcrt: Fix _kbhit ignoring the last event.
Nikolay Sivov (3):
gdi32/text: Make GetTextExtentExPointW() return sizes consistent with ExtTextOutW().
d3dcompiler/fx: Write empty buffers for compiler versions 33-39.
d3dcompiler: Enable D3DCOMPILE_EFFECT_CHILD_EFFECT option.
Paul Gofman (4):
wine.inf: Add InstallationType field to CurrentVersion.
wine.inf: Add Explorer\Advanced registry key.
mf/tests: Add a test for MFEnumDeviceSources().
mf: Implement audio capture device enumeration in MFEnumDeviceSources().
Piotr Caban (1):
ntdll: Fix UNC path handling in alloc_module.
Rémi Bernon (57):
win32u: Fix default_update_display_devices return type to NTSTATUS.
win32u: Load the graphics driver vulkan functions lazily.
win32u: Keep a list of vulkan GPUS in the device manager context.
win32u: Match driver GPUs with vulkan GPUS from their ids, or index.
win32u: Query GPU memory from vulkan physical device.
win32u: Enumerate offscreen vulkan devices as GPU devices.
dinput: Dynamically allocate the internal device / event arrays.
server: Pass the adjusted vkey to send_hook_ll_message.
winegstreamer: Use DMO_MEDIA_TYPE in the WMA decoder.
winegstreamer: Implement WMA DMO Get(Input|Output)CurrentType.
win32u/tests: Introduce a new run_in_process helper.
win32u/tests: Add NtUser(Get|Set)ProcessDpiAwarenessContext tests.
win32u: Fix NtUserSetProcessDpiAwarenessContext.
user32/tests: Add some SetProcessDpiAwarenessContext tests.
user32/tests: Add more SetThreadDpiAwarenessContext tests.
user32: Fix SetProcessDpiAwarenessContext.
winegstreamer: Use a GstCaps for wg_parser current_format.
winegstreamer: Use a GstCaps instead of preferred_format.
winegstreamer: Rename get_preferred_format to get_current_format.
winegstreamer: Use a GstCaps for wg_parser_stream codec format.
win32u: Get rid of the drivers force_display_devices_refresh flag.
win32u: Update the display device cache after loading the driver.
win32u: Get rid of the UpdateDisplayDevices force parameter.
user32: Test and fix IsValidDpiAwarenessContext.
user32: Test and implement GetDpiFromDpiAwarenessContext.
user32/tests: Add more AreDpiAwarenessContextsEqual tests.
user32/tests: Add more GetAwarenessFromDpiAwarenessContext tests.
win32u: Use NtUserCallOnParam for SetThreadDpiAwarenessContext.
win32u: Return UINT from NtUserGetWindowDpiAwarenessContext.
win32u: Use NtGdiDdDDICreateDCFromMemory for gdi16 DIBDRV.
wineandroid: Fix NtUserSendHardwareInput parameter order.
wineandroid: Use DWORD for pixel pointers.
win32u: Flush window surface when it is fully unlocked.
win32u: Remove surface recursive locking requirement.
win32u: Stop using a recursive mutex for the offscreen surface.
wineandroid: Stop using a recursive mutex for the window surfaces.
winemac: Stop using a recursive mutex for the window surfaces.
winewayland: Stop using a recursive mutex for the window surfaces.
winex11: Stop using a recursive mutex for the window surfaces.
win32u: Get the thread DPI context instead of the awareness.
win32u: Pass the DPI awareness context in win_proc_params.
win32u: Fix SetThreadDpiAwarenessContext.
win32u: Only keep DPI awareness context with window objects.
win32u: Introduce a new window_surface_init helper.
win32u: Move the window surface mutex to the surface header.
win32u: Use helpers to lock/unlock window surfaces.
win32u: Move window surface bounds to the window_surface base struct.
winemac: Get rid of unnecessary blit_data / drawn surface members.
wineandroid: Hold the lock while reading window surface bits.
win32u: Use a helper to flush window surface, factor locking and bounds reset.
win32u: Initialize window surfaces with a hwnd.
win32u: Split update_surface_region into get_window_region helper.
server: Merge get_surface_region / get_window_region requests together.
win32u: Intersect the clipping region with the window shape region.
server: Update window surface regions when the window is shaped.
wineandroid: Remove now unnecessary set_surface_region calls.
win32u: Use a helper to set the window surface clipping, within the lock.
Vijay Kiran Kamuju (1):
ntdll: Add stub RtlLookupGenericTableAvl function.
Yuxuan Shui (2):
shell32: Make sure array passed to PathResolve is big enough.
shell32: Fix ShellExecute for non-filespec paths.
Zhiyi Zhang (4):
comctl32/tests: Add WM_SETFONT tests.
comctl32/syslink: Don't delete font when destroying the control.
comctl32/tooltips: Don't duplicate font when handling WM_SETFONT.
comctl32/ipaddress: Delete font when destroying the control.
```
1
0
The Wine development release 9.9 is now available.
What's new in this release:
- Support for new Wow64 mode in ODBC.
- Improved CPU detection on ARM platforms.
- Removal of a number of obsolete features in WineD3D.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.9.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.9 (total 38):
- #25009 Password Memory 2010 - Titlebar color rendering error
- #26407 Shadowgrounds Survivor crashes after viewing the map
- #26545 Crysis2: Red color on highlights of Bumpmap/Specular Highlights
- #27745 Racer is unplayable
- #28192 regedit: The usage message arrives too late in the wine console
- #29417 Mouse pointer laggy/slow in Dweebs and Dweebs 2 when virtual desktop mode is enabled
- #31665 Femap unexpected crash on rebuild database (or any command that involves it i.e. import)
- #32346 Window is too large with Batman and Head Over Heels remakes
- #39532 Assassin's Creed Unity doesn't run
- #40248 Some .NET applications throw unhandled exception: System.NotImplementedException: 'System.Management.ManagementObjectSearcher.Get' when using Wine-Mono
- #44009 Syberia Gog version: crash after cinematics
- #44625 Cybernoid 2 exits but x window drawing updates are frozen
- #44863 Performance regression in Prince of Persia 3D
- #45358 Assassin's Creed Syndicate (AC Unity; AC Odyssey) broken graphics
- #49674 Feature Request: Restoring previous resolution upon an app crashing
- #51200 High repaint label volume causes freezing
- #53197 Total War: Shogun 2 crashes on unimplemented function d3dx11_42.dll.D3DX11LoadTextureFromTexture
- #55513 Paint.NET 3.5.11 runs unstable on Wine 8.x (and later) because of a bug in Mono
- #55939 Moorhuhn Director's Cut crashes after going in-game
- #56000 Window title is not set with winewayland
- #56422 Exact Audio Copy installer crashes
- #56429 Applications crash with BadWindow X error
- #56483 ShellExecute changes in Wine 9.5 broke 64-bit Winelib loading in WoW64 builds
- #56485 Visual novel RE:D Cherish! displays white screen instead of logo video
- #56492 Opentrack/TrackIR head tracking broken
- #56498 Incorrect substring expansion for magic variables
- #56506 strmbase TRACEs occasionally fail to print floats
- #56527 Final Fantasy XI Online: Opening movie triggers a 'GStreamer-Video-CRITICAL'.
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56588 FlatOut 1 display resolution options limited to current desktop resolution using old wow64
- #56595 Fallout 3 is slow
- #56607 steam: no tray icon starting with wine 9.2
- #56615 Spelunky won't start (GLSL version 1.20 is too low; 1.20 is required)
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56655 X11 Driver fails to load
- #56661 Project Diablo 2 crashes
- #56671 Disney Ratatouille demo renders upside down on Intel graphics
- #56682 msvcrt:locale prevents the msvcrt:* tests from running on Windows 7
### Changes since 9.8:
```
Akihiro Sagawa (2):
quartz/tests: Test read position after MPEG splitter connection.
winegstreamer: Seek to the end after MPEG splitter connection.
Alex Henrie (1):
dinput: Don't include every version of DirectInputCreate in every DLL.
Alexandre Julliard (38):
nls: Update locale data to CLDR version 45.
winedump: Dump registry scripts resources as text.
winedump: Dump typelib resources in structured format.
atl: Remove empty clsid registration.
dhtmled.ocx: Remove empty clsid registration.
widl: Don't generate empty interface registrations.
ntdll: Use null-terminated strings instead of explicit lengths to build SMBIOS data.
ntdll: Cache the generated SMBIOS data.
ntdll: Build the SMBIOS table incrementally.
ntdll: Generate dummy SMBIOS data on non-supported platforms.
ntdll: Store the CPU vendor and id during detection.
ntdll: Add processor information to the SMBIOS data.
configure: Restore warning for missing PE compiler.
ntdll: Report the correct processor details on ARM platforms.
ntdll: Update PROCESSOR_ARCHITECTURE variable correctly for ARM platforms.
wineboot: Create CPU environment keys together with other hardware keys.
wineboot: Get the CPU model details with NtQuerySystemInformation(SystemCpuInformation).
wineboot: Report the correct model number on ARM platforms.
wineboot: Support multiple SMBIOS entries of the same type.
wineboot: Retrieve CPU details through the SMBIOS table.
winemac.drv: Remove some no longer used code.
wbemprox: Get the processor caption from the registry.
wbemprox: Support multiple SMBIOS entries of the same type.
wbemprox: Get the processor manufacturer from the SMBIOS table.
wbemprox: Get the processor name from the SMBIOS table.
wbemprox: Get the processor count from the SMBIOS table.
wbemprox: Get the processor id from the SMBIOS table.
wbemprox: Get a few more processor details from the SMBIOS table.
wbemprox: Get the processor type and model with SystemCpuInformation.
wbemprox: Use RtlGetNativeSystemInformation directly to get the correct info on ARM platforms.
msvcrt/tests: Don't link to _setmaxstdio.
msvcrt: Update some mangled names on ARM.
ntdll: Add default values for cache parameters.
msvcrt: Resync cxx.h with msvcp90.
msvcrt: Unify __CppXcptFilter implementations.
msvcrt: Unify __CxxQueryExceptionSize implementations.
msvcrt: Unify __CxxDetectRethrow implementations.
msvcrt: Unify checks for valid C++ exception.
Alexandros Frantzis (3):
win32u: Enable dibdrv wglDescribePixelFormat through p_get_pixel_formats.
user32/tests: Skip affected keyboard tests if a spurious layout change is detected.
user32/tests: Remove workaround for SendInput keyboard tests on zh_CN.
Alistair Leslie-Hughes (1):
include: Add some D3D12_FEATURE_DATA_D3D12_OPTIONS* types.
Anton Baskanov (2):
winegstreamer: Recognize MFAudioFormat_MPEG and MFAudioFormat_MP3.
winegstreamer: Add missing format fields to WMA support check.
Billy Laws (2):
ntdll: Allocate wow64 environment block within the 32-bit address space.
ntdll: Don't restore PC from LR after unwinding through frame switches.
Biswapriyo Nath (1):
include: Avoid a C++ keyword.
Brendan McGrath (3):
winex11.drv: Increment mode_idx in {xrandr10,xf86vm}_get_modes.
winegstreamer: Pass filename to wg_parser when available.
mplat/tests: Test Media Source is freed if immediately released.
Brendan Shanks (1):
winemac.drv: Fix warning in macdrv_get_pixel_formats.
Connor McAdams (4):
d3dx9/tests: Add a test for negative values in the source rectangle passed to D3DXLoadSurfaceFromMemory.
d3dx9/tests: Add a new compressed surface loading test.
d3dx9: Only do direct copies of full blocks for compressed formats.
d3dx9: Fix destination rectangles passed from D3DXLoadSurfaceFromMemory() to d3dx_load_image_from_memory().
Daniel Lehman (2):
msvcrt/tests: Add result for Turkish_Türkiye.1254.
msvcrt/tests: Add tests for _wcsicmp_l.
Dmitry Timoshkov (2):
kernelbase: Add support for FileDispositionInfoEx to SetFileInformationByHandle().
user32/tests: Offset child CS_PARENTDC window from parent to make more bugs visible.
Elizabeth Figura (38):
wined3d: Retrieve the VkCommandBuffer from wined3d_context_vk after executing RTV barriers.
wined3d: Submit command buffers after 512 draw or dispatch commands.
ddraw: Use system memory for version 4 vertex buffers.
ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
ddraw/tests: Test GetVertexBufferDesc().
wined3d: Fix GLSL version comparison.
maintainers: Change the full form of my name.
wined3d: Remove the offscreen_rendering_mode setting.
wined3d: Use wined3d_resource_is_offscreen() directly in ffp_blitter_clear_rendertargets().
wined3d: Remove no longer used support for drawing to an onscreen render target.
wined3d: Remove the no longer used render_offscreen field from struct ds_compile_args.
wined3d: Remove the no longer used Y correction variable.
d3d9/tests: Clarify and expand point size tests.
d3d9/tests: Expand test_color_vertex().
d3d9/tests: Add some tests for default diffuse values.
d3d9/tests: Test default attribute components.
wined3d: Remove the GL FFP vertex pipeline.
wined3d: Remove the GL FFP fragment pipeline.
wined3d: Remove the NV_register_combiners fragment pipeline.
wined3d: Remove the ATI_fragment_shader fragment pipeline.
wined3d: Remove the ARB_fragment_program blitter.
wined3d: Remove the ARB fragment pipeline.
wined3d: Remove the ARB shader backend.
amstream: Link to msvcrt instead of ucrtbase.
evr: Link to msvcrt instead of ucrtbase.
qasf: Link to msvcrt instead of ucrtbase.
qcap: Link to msvcrt instead of ucrtbase.
qdvd: Link to msvcrt instead of ucrtbase.
qedit: Link to msvcrt instead of ucrtbase.
quartz: Link to msvcrt instead of ucrtbase.
winegstreamer: Link to msvcrt instead of ucrtbase.
wined3d: Remove no longer used support for emulated non-power-of-two textures.
wined3d: Remove no longer used support for rectangle textures.
wined3d: Remove texture non-power-of-two fixup.
wined3d: Remove the last vestiges of ARB_texture_rectangle support.
wined3d: Collapse together NPOT d3d_info flags.
wined3d: Remove the redundant "pow2_width" and "pow2_height" fields.
wined3d: Fix inversion in shader_get_position_fixup().
Eric Pouech (19):
cmd/tests: Test using %%0-%%9 as loop variables.
cmd/tests: Test nested loop variables expansion.
cmd/tests: Test delayed expansion with spaces in IF and FOR.
cmd/tests: Test calling batch files named as builtin commands.
cmd/tests: Test success/failure of commands.
cmd: Consistenly use the same variable to identify current command.
cmd: No longer keep track of last element in command list.
cmd: Introduce xrealloc helper.
cmd: Use CRT's popen instead of rewriting it.
cmd: Remove malloc attribute from xrealloc.
cmd: Introduce CMD_NODE structure.
cmd: Add helpers to handle list in degenerated binary tree.
cmd: Move operator from CMD_COMMAND to CMD_NODE.
msvcrt: Demangle std::nullptr_t datatype.
winedump: Demangle std::nullptr_t datatype.
msvcrt: Don't consider end of list encoding as real data types.
winedump: Don't consider end of list encoding as real data types.
msvcrt: Correctly unmangle qualified pointer to function/method.
winedump: Correctly unmangle qualified pointer to function/method.
Esme Povirk (20):
gdiplus: Add a function to bracket HDC use.
gdiplus: Bracket HDC use in gdi_alpha_blend.
gdiplus: Bracket HDC use in alpha_blend_pixels_hrgn.
gdiplus: Bracket hdc use in brush_fill_path.
gdiplus: Bracket HDC use in draw_cap.
gdiplus: Bracket HDC use in draw_poly.
gdiplus: Bracket HDC use in trace_path.
gdiplus: Do not use hdc directly in get_graphics_bounds.
gdiplus: Accept an HDC in get_gdi_transform.
gdiplus: Fix background key.
gdiplus: Bitmap stride is ignored when Scan0 is non-NULL.
gdiplus: Support anchors on thin paths.
gdiplus: Remove unnecessary math in add_anchor.
gdiplus: Fix signs on custom line cap rotation in add_anchor.
gdiplus: Reorder filled arrow cap points to match native.
gdiplus: Add a test for GdipWidenPath with Custom linecaps.
gdiplus: Do not create gdi32 objects for Bitmap objects.
gdiplus: Bracket HDC use in GdipDrawImagePointsRect.
gdiplus: Bracket HDC use in GDI32_GdipFillPath.
gdiplus: Bracket HDC use in GDI32_GdipFillRegion.
Fabian Maurer (2):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
Fotios Valasiadis (1):
ntdll/unix: Fix building on musl by explicitly including asm/ioctls.h.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.285.
Hans Leidekker (8):
odbc32: Forward SQLDataSourcesA() to SQLDataSources() and GetDiagRecA() to GetDiagRec().
odbc32: Make Unix call parameters Wow64 compatible.
odbc32: Load_odbc() returns NTSTATUS.
odbc32: Move replication of ODBC settings to the Unix lib.
odbc32: Add Wow64 thunks.
include: Add missing Unicode SQL function declarations.
odbc32: Don't load libodbc.so dynamically.
odbc32/tests: Add tests.
Hongxin Zhao (1):
po: Add a missing \t in the Simplified Chinese translation.
Huw D. M. Davies (3):
nsi/tests: Use NSI_IP_COMPARTMENT_TABLE instead of hard coding the integer.
mmdevapi: Remove unused ACImpl typedef.
maintainers: Remove Andrew Eikum.
Jacek Caban (25):
winecrt0: Support __os_arm64x_dispatch_call symbol on ARM64EC.
d3dx9/tests: Remove xfile dumping functionality.
mshtml: Introduce DISPEX_IDISPATCH_IMPL.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlnode.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlbody.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlanchor.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlarea.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlattribute.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcomment.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcurstyle.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for DocumentType object implementation.
winebuild: Use .drectve section for exports on ARM64EC.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLElement object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelem.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelemcol.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLEventObj object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlevent.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlform.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlframe.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlgeneric.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlhead.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlimg.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlinput.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllink.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllocation.c.
Nikolay Sivov (7):
d2d1/tests: Add a test for effect output image interface query.
d2d1/effect: Fix GetImageLocalBounds() prototype.
d2d1/tests: Add some vertex buffer tests.
d2d1/effect: Use more generic naming for loaded shaders array.
d2d1/effect: Add a stub vertex buffer object.
d2d1/effect: Implement SetPassthroughGraph().
d2d1/effect: Implement ConnectNode().
Paul Gofman (7):
xaudio2: Use FAudioVoice_DestroyVoiceSafeEXT() in destroy_voice().
bcrypt: Support RSA/PKCS1 signatures with unspecified hash algorithm.
win32u: Update last message time in NtUserGetRawInputBuffer().
ntdll: Allocate crit section debug info by default for Windows versions before 8.
opengl32: Prefer formats with depth if unspecified in wglChoosePixelFormat().
xaudio2/tests: Fix test failures with xaudio2_8 in test_submix().
nsiproxy.sys: Return success and zero count from ipv6_forward_enumerate_all() if IPV6 is unsupported.
Piotr Caban (4):
ucrtbase: Handle empty list in variadic template.
winedump: Handle empty list in variadic template.
msvcrt/tests: Don't link to _wcsicmp_l and _create_locale.
ntdll: Don't use gmtime concurrently.
Rémi Bernon (37):
winex11: Only request display modes driver data when needed.
win32u: Read / write source modes as a single registry blob.
win32u: Remove now unnecessary reset_display_manager_ctx.
win32u: Use struct pci_id in struct gdi_gpu.
win32u: Remove driver-specific id from struct gdi_gpu.
win32u: Pass gdi_gpu structure members as add_gpu parameters.
win32u: Return STATUS_ALREADY_COMPLETE from UpdateDisplayDevices.
mfreadwrite/tests: Add some source reader D3D11 awareness tests.
mf/tests: Test video processor D3D11 awareness.
winegstreamer/video_processor: Implement D3D awareness.
mfreadwrite/reader: Pass the device manager to the stream transforms.
winegstreamer: Introduce a new wg_transform_create_mf helper.
winegstreamer: Introduce a new check_audio_transform_support helper.
winegstreamer: Introduce a new check_video_transform_support helper.
mfplat: Fix MFCreateMFVideoFormatFromMFMediaType videoInfo.VideoFlags masks.
mfplat: Use IMFMediaType_GetBlobSize instead of IMFMediaType_GetBlob.
mfplat: Introduce a new init_video_info_header helper.
mfplat: Use media_type_get_uint32 in more places.
mfplat: Factor AM_MEDIA_TYPE video format allocation.
mfplat: Set AM_MEDIA_TYPE bTemporalCompression and bFixedSizeSamples.
mfplat: Implement FORMAT_MPEGVideo for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement FORMAT_MPEG2Video for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFInitMediaTypeFromMPEG1VideoInfo.
mfplat: Implement MFInitMediaTypeFromMPEG2VideoInfo.
mfplat: Implement MFCreateVideoMediaType.
winebus: Don't advertise hidraw devices as XInput compatible.
winebus: Report whether devices are connected over bluetooth.
winebus: Move Sony controllers report fixups to PE side.
mfreadwrite/reader: Shutdown the queue when public ref is released.
mfplat: Add MFVideoFormat_ABGR32 format information.
mf/tests: Add video processor tests with MFVideoFormat_ABGR32 format.
mfreadwrite/tests: Add tests with MFVideoFormat_ABGR32 output format.
winegstreamer: Support MFVideoFormat_ABGR32 output in the video processor.
mfreadwrite/reader: Fixup MFVideoFormat_ABGR32 subtype to enumerate the video processor.
win32u: Set DEVMODEW dmSize field.
wineandroid: Set DEVMODEW dmSize field.
winemac: Set DEVMODEW dmSize field.
Tim Clem (7):
mountmgr.sys: Do not create drive letters or volumes for unbrowsable macOS volumes.
mountmgr.sys: Do not add drive letters or volumes for macOS volumes without mount paths.
winemac.drv: Document mode_is_preferred.
winemac.drv: Prefer display modes that are marked as usable for desktop.
winemac.drv: Do not consider the "valid" and "safe" flags as making a display mode unique.
Revert "winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.".
winemac.drv: Exclude dictation when looking for input methods.
Yuxuan Shui (3):
rtworkq: Avoid use-after-free.
mfplat/tests: Validate MFCancelWorkItem releases the callback.
rtworkq: Release cancelled work items.
Ziqing Hui (1):
winegstreamer/video_decoder: Make output_plane_align specific to h264.
```
1
0
The Wine development release 9.8 is now available.
What's new in this release:
- Mono engine updated to version 9.1.0.
- IDL-generated files use fully interpreted stubs.
- Improved RPC/COM support on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.8.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>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.8 (total 22):
- #3689 Microsoft Office 97 installer depends on stdole32.tlb be in v1 (SLTG) format
- #33270 Cursor disappears during Installshield install
- #37885 Battle.net launcher fails to set permissions on WoW files
- #38142 Approach fields box only show 3/4 of one line
- #44388 gldriverquery.exe crash on wineboot and company of heroes says no 3d
- #45035 Buttons of the Radiosure program are missing
- #46455 Desktop syncing app for Remarkable devices crashes on startup
- #47741 Lotus Approach: Initial "Welcome" dialog not shown on startup
- #51361 SimSig with Wine 6.18 breaks after upgrading from libxml2 2.9.10 to 2.9.12
- #54997 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (65)" / FileRenameInformationEx
- #55736 Solid Edge crashes after a couple of minutes
- #55844 Paper tray options missing. Landscape orientation is ignored
- #56041 iZotope Product Portal crashes
- #56248 VTFEdit: Exception When Loading .VTF Files
- #56309 Across Lite doesn't show the letters properly when typing
- #56324 Falcon BMS launcher fails to start (native .Net 4.6.1 needed)
- #56407 SaveToGame hangs during DWM initialization
- #56472 Recettear opening movie blackscreen in Wine 9.5
- #56581 Corsair iCUE 4: needs unimplemented function SHELL32.dll.SHAssocEnumHandlersForProtocolByApplication
- #56598 Calling [vararg] method via ITypeLib without arguments via IDispatch fails
- #56599 HWMonitor 1.53 needs unimplemented function pdh.dll.PdhConnectMachineA
- #56609 vcrun2008 fails to install
### Changes since 9.7:
```
Aida Jonikienė (1):
msvcp140_atomic_wait: Implement __std_*_crt().
Akihiro Sagawa (3):
quartz/tests: Add tests to reject unsupported contents for MPEG splitter.
winegstreamer: Reject unexpected formats on init.
winegstreamer: Implement input media type enumeration in MPEG splitter.
Alex Henrie (3):
setupapi: Don't set RequiredSize when SetupDiGetClassDescription* fails.
shell32: Add SHAssocEnumHandlersForProtocolByApplication stub.
pdh: Add PdhConnectMachineA stub.
Alexandre Julliard (57):
include: Update a couple of RPC structures.
rpcrt4: Add a wrapper for client calls from stubless proxies.
rpcrt4: Move the FPU register conversion to the stubless proxy wrapper.
rpcrt4: Remap registers to the stack for stubless proxies on ARM platforms.
rpcrt4: Stop passing the actual FPU regs pointer to client call functions.
rpcrt4: Remove obsolete version comments from spec file.
rpcrt4: Fix stack alignment and by-value parameters for typelibs on ARM platforms.
rpcrt4: Generate the parameter extension data for typelibs on ARM platforms.
rpcrt4: Extend 8- and 16-bit parameters on ARM.
oleaut32: Extend 8- and 16-bit parameters on ARM.
rpcrt4: Use fully interpreted IDL stubs.
rpcrt4/tests: Use fully interpreted IDL stubs.
schedsvc: Use fully interpreted IDL stubs.
schedsvc/tests: Use fully interpreted IDL stubs.
sechost: Use fully interpreted IDL stubs.
taskschd: Use fully interpreted IDL stubs.
ntoskrnl.exe: Use fully interpreted IDL stubs.
plugplay: Use fully interpreted IDL stubs.
rpcss: Use fully interpreted IDL stubs.
services: Use fully interpreted IDL stubs.
ntdll/tests: Remove unnecessary shared header.
dbghelp: Ignore a couple of Dwarf-3 opcodes.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
systeminfo: Pass proper Unicode strings to fwprintf.
avifil32: Use fully interpreted IDL stubs.
combase: Use fully interpreted IDL stubs.
dispex: Use fully interpreted IDL stubs.
ia2comproxy: Use fully interpreted IDL stubs.
ieproxy: Use fully interpreted IDL stubs.
mscftp: Use fully interpreted IDL stubs.
makefiles: Support building files for x86-64 architecture on ARM64EC.
rpcrt4: Move the stubless client thunks to a separate file.
rpcrt4: Move the stubless delegating thunks to a separate file.
rpcrt4: Move call_server_func() to a separate file.
msdaps: Use fully interpreted IDL stubs.
msi: Use fully interpreted IDL stubs.
mstask: Use fully interpreted IDL stubs.
netapi32: Use fully interpreted IDL stubs.
oleacc: Use fully interpreted IDL stubs.
sti: Use fully interpreted IDL stubs.
urlmon: Use fully interpreted IDL stubs.
windowscodecs: Use fully interpreted IDL stubs.
actxprxy: Use fully interpreted IDL stubs.
ole32: Use fully interpreted IDL stubs.
oleaut32: Use fully interpreted IDL stubs.
qmgrprxy: Use fully interpreted IDL stubs.
quartz: Use fully interpreted IDL stubs.
widl: Fix correlation offset for unencapsulated unions in interpreted mode.
widl: Default to fully interpreted stubs mode.
oleaut32: Move the call_method thunk to a separate file.
vcomp: Move the fork wrapper to a separate file.
vcomp: Fix stack alignment in the fork wrapper on ARM.
ntdll: Build __chkstk as x86-64 code on ARM64EC.
ntdll: Generate stub entry points as x86-64 code on ARM64EC.
faudio: Import upstream release 24.05.
fluidsynth: Import upstream release 2.3.5.
png: Import upstream release 1.6.43.
Alexandros Frantzis (9):
winex11.drv: Rename wgl_pixel_format to glx_pixel_format.
opengl32: Implement wglDescribePixelFormat using new driver API get_pixel_formats.
opengl32: Cache driver pixel format information.
winewayland.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Remove unnecessary parameter from describe_pixel_format.
winemac.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
wineandroid.drv: Rename wgl_pixel_format to avoid name conflicts.
wineandroid.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
Alfred Agrell (1):
include: Use the correct GUID for DXFILEOBJ_PatchMesh.
Alistair Leslie-Hughes (2):
include: Add atldef.h.
windowscodecs: Avoid implicit cast changing value.
Anton Baskanov (3):
user32/tests: Test that display settings are restored on process exit.
winex11.drv: Process RRNotify events in xrandr14_get_id.
explorer: Restore display settings on process exit.
Billy Laws (1):
winevulkan: Allocate commited memory for placed mappings.
Brendan McGrath (4):
winegstreamer: Pass uri to wg_parser when available.
winegstreamer: Respond to the URI query.
winegstreamer: Fix wow64 support for wg_parser_connect.
winegstreamer: Log query after setting the URI.
Brendan Shanks (2):
widl: Use hardcoded build time in TLB custom data.
winemac.drv: Fix use-after-free in macdrv_copy_pasteboard_types.
Danyil Blyschak (1):
mfreadwrite: Store result of object activation in stream transform.
Dmitry Timoshkov (11):
widl: Make automatic dispid generation scheme better match what midl does.
widl: Create library block index right after the CompObj one.
widl: Set the lowest bit in the param name to indicate whether type description follows the name.
widl: Add support for function parameter flags to SLTG typelib generator.
widl: Fix calculation of the SLTG library block size.
stdole32.tlb: Generate typelib in SLTG format.
include: Add _Inout_cap_c_(count) macro.
include: Move InterlockedExchangeAdd64() definition before its first usage.
dssenh: Add CPSetKeyParam() stub implementation.
rsaenh: Validate pbData in CPSetKeyParam().
advapi32: CryptSetKeyParam() should accept NULL pbData.
Esme Povirk (4):
mscoree: Update Wine Mono to 9.1.0.
user32/tests: Add a flag for messages incorrectly sent by Wine.
user32/tests: Remove a no-longer needed optional flag.
windowscodecs: Check for overflow in jpeg_decoder_initialize.
Etaash Mathamsetty (2):
user32: Fake success from RegisterTouchWindow.
user32: Fake success from UnregisterTouchWindow.
Evan Tang (2):
user32/tests: Check RegisterRawInputDevices RIDDEV_DEVNOTIFY posted messages.
win32u: Post device arrival messages in NtUserRegisterRawInputDevices.
Gopal Prasad (2):
winewayland.drv: Set wayland app-id from the process name.
winewayland.drv: Implement SetWindowText.
Hans Leidekker (2):
wintrust: Add support for the PE image hash in CryptCATAdminCalcHashFromFileHandle().
msi: Install global assemblies after install custom actions and before commit custom actions.
Henri Verbeet (3):
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_fragment_shader().
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_compute_shader().
wined3d: Introduce the "glsl-vkd3d" shader backend.
Jacek Caban (1):
mshtml: Move iface_wrapper_t IUnknown implementation to htmlobject.c.
Kirill Zhumarin (1):
ntdll: Use termios2 for serial when possible.
Matteo Bruni (9):
wined3d: Rename WINED3DUSAGE_PRIVATE to WINED3DUSAGE_CS.
d3d9: Don't do instanced draws in DrawPrimitive() and DrawPrimitiveUP().
wined3d: Don't skip FFP projection transform update.
wined3d: Don't override texture parameters for COND_NP2 on multisample textures.
d3d9/tests: Skip test_sample_attached_rendertarget() without pixel shaders support.
wined3d: Conditionally support WINED3D_FRAGMENT_CAP_SRGB_WRITE on the ffp fragment pipe.
wined3d: Conditionally allow sRGB writes with the 'none' shader backend.
d3d9/tests: Don't create a vertex shader in test_desktop_window() when unsupported.
d3d9/tests: Test creating a texture on a NULL HWND device.
Michael Bond (1):
shell32/shellpath: Fix UserPinned and QuickLaunch KnownFolderPaths.
Nikolay Sivov (4):
d2d1: Update to ID2D1Factory7.
d2d1: Update to ID2D1DeviceContext6.
d2d1: Update to ID2D1Device6.
d2d1: Implement newer CreateDeviceContext() methods.
Paul Gofman (12):
ntdll: Remove entries from queue in RtlWakeAddressAll().
ntdll: Pre-check entry->addr before taking a spin lock in RtlWaitOnAddress().
crypt32: Mind constructor tag in CRYPT_AsnDecodeOCSPSignatureInfoCertEncoded().
cryptnet: Do not use InternetCombineUrlW() in build_request_url().
ntdll/tests: Add tests for CONTEXT_EXCEPTION_REQUEST.
ntdll: Set exception reporting flags in NtGetContextThread().
ntdll: Store exception reporting flags in server context.
ntdll: Store exception reporting flags on suspend.
ntdll: Store exception reporting flags for debug events.
winex11.drv: Support _SHIFT_ARB attributes in X11DRV_wglGetPixelFormatAttribivARB().
ntdll: Implement NtQuerySystemInformation(SystemProcessIdInformation).
msvcrt: Implement _mbsncpy_s[_l]().
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (4):
windowscodecs: Support 32-bit ABGR bitfields bitmaps.
winhttp: Fix parameters validation in WinHttpGetProxyForUrl.
msvcr80/tests: Fix errno access in tests.
winhttp: Use GlobalAlloc to allocate lpszProxy in WinHttpGetProxyForUrl.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (45):
mfreadwrite/tests: Do not accept MFVideoFormat_RGB32 in the test transform.
mfreadwrite/tests: Avoid using MFCreateMediaBufferFromMediaType.
mfreadwrite/tests: Shutdown the test stream event queues on source shutdown.
mfreadwrite/reader: Avoid leaking the stream transform service MFT.
win32u: Introduce a distinct vulkan interface between win32u and the user drivers.
win32u: Introduce a new VkSurfaceKHR wrapping structure.
winevulkan: Pass win32u surface wrappers for each vkQueuePresent swapchain.
win32u: Rename vulkan surface creation/destroy driver callbacks.
win32u: Pass HWND directly to vulkan surface creation driver callback.
win32u: Move host surface destruction out of the drivers.
win32u: Destroy thread windows before calling driver ThreadDetach.
winegstreamer: Set other aperture attributes on video media types.
winegstreamer: Always set aperture attributes on video decoder output types.
winegstreamer: Introduce a new wg_transform_create_quartz helper.
winegstreamer: Use DMO_MEDIA_TYPE in the WMV decoder.
mf/tests: Use a separate field for buffer_desc image size and compare rect.
evr/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
mfmediaengine/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
winegstreamer/video_processor: Allow clearing input / output types.
mf/tests: Move the video processor input bitmap names to the test list.
mf/tests: Add more video processor tests with aperture changes.
mf/session: Introduce new (allocate|release)_output_samples helpers.
mf/session: Get session topo_node from their IMFTopologyNode directly.
mf/session: Introduce new session_get_topo_node_output helper.
mf/session: Introduce new session_get_topo_node_input helper.
mf/session: Wrap samples in IMFMediaEvent list instead of IMFSample list.
mf/session: Handle transform format changes and update downstream media types.
winex11: Report all sources as detached in virtual desktop mode.
win32u: Don't force refresh the display cache on thread desktop change.
winex11: Let win32u decide when to force update the display cache.
win32u: Introduce a new add_virtual_modes helper.
win32u: Return the host surface directly from vulkan_surface_create.
winewayland: Get rid of the now unnecessary surface wrapper.
win32u: Introduce a per-window vulkan surface list.
win32u: Move thread detach from winex11.
winex11: Remove now unnecessary surface wrapper struct.
win32u: Fix list corruption in vulkan_detach_surfaces.
win32u: Remove now unnecessary rawinput_device_get_usages.
win32u: Use find_device_from_handle in process_rawinput_message.
win32u: Move rawinput device cache ticks check to rawinput_update_device_list.
winex11: Don't call x11drv_xinput2_disable for foreign windows.
winex11: Remove duplicated foreign window class string constant.
winex11: Avoid leaking foreign window data if it was already created.
mfreawrite/tests: Allow MF_E_SHUTDOWN result in test stream RequestSample.
mf/tests: Add broken result for older Windows.
Tuomas Räsänen (2):
setupapi/tests: Add tests for reading INF class with %strkey% tokens.
setupapi: Use INF parser to read class GUID and class name.
Yuxuan Shui (3):
shell32: Fix a trace log message.
shell32: Use full path to current directory for finding executables.
shell32: Restore the ability of running native unix programs with ShellExecute.
Zebediah Figura (1):
kernelbase: Do not start the debugger if SEM_NOGPFAULTERRORBOX is set.
Zhiyi Zhang (1):
win32u: Set the virtual desktop display frequency to 60Hz.
Ziqing Hui (11):
winegstreamer: Merge video_cinepak into video field.
winegstreamer: Merge video_h264 into video field.
winegstreamer: Merge video_wmv into video field.
winegstreamer: Merge video_indeo into video field.
winegstreamer: Merge video_mpeg1 into video field.
winegstreamer: Implement mf_media_type_to_wg_format_video_wmv.
winegstreamer/video_decoder: Set input/output infos in h264_decoder_create.
winegstreamer/video_decoder: Change decoder attributes.
winegstreamer/video_decoder: Add wg_transform_attrs member.
winegstreamer/video_decoder: Support aggregation.
winegstreamer/video_decoder: Use video_decoder to implement wmv decoder.
```
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
The Wine development release 9.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc3.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 9.0-rc3 (total 35):
- #51314 vulkan-1:vulkan crashes on Windows with recent Radeon drivers
- #51478 dinput:device8 breaks user32:input's test_keyboard_layout_name() in some locales ()
- #52971 HardWest 2 (playtest) is broken with OpenGL/Vulkan backend
- #53166 Star Wars : Fallen Order crashes at launch
- #53726 Silent Hill 4: The Room low res videos are not played (needs CLSID_CMpegVideoCodec)
- #54381 tightvnc viewer crashes on connection
- #54878 WinSCP 5.21.1.12643 doesn't list files when Windows version is set to 10
- #55005 Program Treecomp - some widgets are not drawn
- #55061 Starcraft Remastered: blurry graphics / low resolution
- #55161 IrfanView full screen mode creates an unneeded and uncalled for permanent overlaying panel
- #55288 advapi32:registry & ntdll:reg - The 32-bit test_redirection() fails if run after the 64 WineTest
- #55306 Cannot double click in the server browser in Worms Armageddon
- #55327 user32:input - test_ActivateKeyboardLayout() fails on Windows 7 for the Spanish locale
- #55328 user32:input - test_keyboard_layout_name() fails on Windows 7 for the Spanish locale
- #55394 comctl32:listbox - test_LBS_NODATA() fails in Wine for the Hindi locale
- #55439 RPG Maker game crashes
- #55446 Using C run-time for unicode strings comparison breaks case insensitive LB_FINDSTRING
- #55578 kernel32:loader - test_section_access() sometimes fails on Windows 8
- #55582 Civilization 2 crashes when setting up new game
- #55655 user32:dialog - test_IsDialogMessageA_proc() fails in the Hindi locale on Wine
- #55667 kernel32:file - test_MapFile() fails on macOS
- #55773 Railroad Tycoon 2 Platinum (Steam, GOG) crashes when changing to 800X600 resolution
- #55903 Falcon BMS 4.37u3: game randomly fails to load 3D models
- #55942 Crazy Chicken Approaching - Nebula Assertion and Visual C++ Runtime Library Errors
- #55962 Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib
- #55967 app regression; SWATH stops working at all as of 8.18
- #56001 Some shortcut keys don't work with winewayland when focus is lost and restored
- #56015 SysTray doesn't work for (and crashes) WiseReminder
- #56022 Wine 9.0-rc1 wayland: Cursor does not move on some surfaces
- #56026 Wine 9.0-rc1 Wayland: Mouse buttons 3-6 do not work
- #56033 winewayland.drv: Alt-shift to change the input language appears like Shift is pressed all the time
- #56039 winecfg does no longer run after export WINEARCH=win32
- #56046 Pegasus Mail 4.80 regression: Pointer does not change
- #56048 winedbg --auto: shows incomplete modules list
- #56053 Regression on fallout 3 in the new wow64 mode
----------------------------------------------------------------
Changes since 9.0-rc2:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (5):
wow64: Initialize the syscall dispatcher in the 32-bit TEB.
user32: Fix string comparison for listbox inexact matches.
ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
winecfg: Support all Windows versions also in 64-bit mode.
comctl32: Fix string comparison for listbox inexact matches.
Alistair Leslie-Hughes (1):
msdasql/tests: Add missing carriage returns.
Bernhard Übelacker (1):
winedbg: Retrieve module architecture before sorting.
Brendan McGrath (1):
server: Always release internal hardware messages.
Eric Pouech (7):
riched20: Don't crash when no OLE obj is present.
riched20: Don't write past end of buffer.
dbghelp/tests: Extend tests for module loading.
dbghelp: Fix some tests for SymLoadModule*().
winmm: Fill in pIOProc field in MMIOINFO.
dbghelp/tests: Wait for child window to be up before testing.
winedbg: Fix main module detection in 'info share' command.
Fabian Maurer (1):
wineps: Don't leak memory in error case (Coverity).
Georg Lehmann (1):
vulkan-1/tests: Enable feature in private data test.
Huw D. M. Davies (2):
dnsapi: Update the array ptr in the insufficient buffer case.
dnsapi: Free the buffer in the early return paths.
Jacek Caban (1):
win32u: Use 32-bit window extra size on wow64.
Nikolay Sivov (1):
oleaut32/typelib: Add a missing break (Coverity).
Paul Gofman (3):
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
include: Fix boolean return value definition in IIterator<T> methods.
dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK.
Rémi Bernon (16):
user32/tests: Dynamically resize the keyboard layout preload list.
user32/tests: Skip some keyboard layout tests on broken VMs.
dinput/tests: Avoid calling UnloadKeyboardLayout.
user32/tests: Avoid calling UnloadKeyboardLayout.
server: Always queue mouse messages delivered to another window.
server: Ignore the capture window wrt desktop cursor changes.
imm32/tests: Fix HKL comparison when cleaning up preload list.
wined3d: Add more padding to resource memory allocations.
wined3d: Store the resource heap memory pointer separately.
server: Introduce a new get_desktop_cursor_thread_input helper.
server: Change desktop cursor only when inside the thread's windows.
dmime/tests: Check reference time and allow 0.5 tick difference.
dmime/tests: Allow small time variation in test_performance_time.
dmime/tests: Allow small time variation in test_segment_state.
dmime/tests: Add optional notification sequence on segment stop.
dmime/tests: Remove some unnecessary and spuriously failing waits.
Zebediah Figura (1):
qcap/audiorecord: Do not leak the sample when pausing or stopping.
Zhiyi Zhang (2):
user32/tests: Add more display DC tests.
win32u: Create a real bitmap object for display DCs.
1
0
The Wine development release 9.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc2.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 9.0-rc2 (total 33):
- #21550 Winedbg's disassembler doesn't support SSE2 instructions
- #27916 Ferro CCTV: Fails to start
- #45122 gdiplus/font test crashes under clang-5.0.1 but not gcc-7.3.0
- #45123 gdiplus/graphicspath test crashes under clang-5.0.1 but not gcc-7.3.0
- #52000 EA Desktop fails to install using French locale
- #52883 Improve support for high-level graphic settings in The Settlers: Heritage of Kings
- #53845 Regression in GetCalendarInfoEx et al
- #54115 wine client error:68: write: Bad file descriptor
- #54361 Winebus doesn't enumerate hid devices (in a --without-sdl build) unless SDL also disabled by winebus registry key
- #54402 Borland Turbo CPP 4.5 installer deadlocks on start
- #54616 Memory Access Violation in Libaes.dll, Texecom Wintex
- #54769 major regression in dnSpy startup time
- #54847 dnsapi:query - test_DnsQuery() fails on the TestBot VMs in Windows and Wine
- #54987 Waves Central does not launch
- #55179 Garmin MapSource drag & drop doesn't work in center of window
- #55561 kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode
- #55569 mshtml:dom - The 32-bit test_attr_collection_attr() crashes on Windows 10 2004+
- #55588 mf:mf - test_scheme_resolvers() crashes on Windows 7
- #55638 mf:transform - test_h264_decoder_concat_streams() sometimes fails on Windows 7
- #55649 quartz:vmr9 - test_changed3ddevice() fails on the TestBot's w11pro64-amd & -nv VMs
- #55703 AstroArt crashes when trying to drag and drop files from one pane to another
- #55761 PLSQL Developer: Access Violation when trying to log in
- #55774 Sid Meier's Alpha Centauri: invisible mouse pointer
- #55783 Pronote 2023 can't load native msxml6
- #55809 FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable
- #55813 Hitomi Downloader fails with "[Errno 9] Bad file descriptor"
- #55833 Multiple 64bit programs crash due to pointer truncation (HeidiSQL 12.5.0.6677, Falcon BMS 4.37u3, PNGGauntlet, PLSQL Developer, ...)
- #55863 Wine fails to build on macOS with LLVM 17
- #55908 PNGGauntlet expects LocalAlloc addresses to fit into 32bit int, breaks on 64bit due to recent memory changes
- #55972 Dolphin Emulator requires GetProcessInformation (since 5.0-16711)
- #55993 PLSQL Developer: Hangs when trying to connect a database.
- #55995 Wine 9.0-rc1 Wayland cursor does not move on some surfaces
- #56006 CrystalDiskInfo: Unhandled exception crashes DiskInfo64.exe
----------------------------------------------------------------
Changes since 9.0-rc1:
Akihiro Sagawa (2):
winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
comctl32/tests: Store old DPI awareness context.
Alexandre Julliard (13):
server: Leave some free space between modules in ASLR mode.
kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
ntdll: Switch to the kernel stack before restoring the pthread TEB.
ntdll: Switch to the user stack before restoring the %fs register.
ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
krnl386: Don't release the Win16 lock when exiting a task.
server: Enforce a mapping size limit instead of relying on the Unix file system.
kernel32/tests: Don't bother checking for errors in cleanup path.
user32: Support utf-8 in WM_CHAR W->A conversion.
oleaut32/tests: Use winetest contexts instead of traces in the typelib test.
Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms.
Alexandros Frantzis (5):
winewayland.drv: Avoid deadlock when determining whether a window is managed.
winewayland.drv: Avoid transient deactivation of foreground thread.
winewayland.drv: Consider implicit fullscreen clip for pointer locking.
winewayland.drv: Release all keys on keyboard focus loss.
winewayland.drv: Support mouse buttons 4 and 5.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
po: Update Polish translation.
Bernhard Übelacker (1):
uxtheme: Add stub for IsDarkModeAllowedForWindow.
Biswapriyo Nath (1):
include: Add SampleGrabber coclass definition in qedit.idl.
Eric Pouech (4):
winedump: Don't fail on extra stream entry in PDB.
dbghelp: Allow an extra stream index entry in PDB files.
winedump: Skip deleted vector in hash inside PDB header.
dbghelp: Skip deleted vector in hash inside PDB header.
Fabian Maurer (1):
gdiplus: Prevent uninitializd memory access (Coverity).
Floris Renaud (1):
po: Update Dutch translation.
Hans Lehnert (1):
gdiplus: Fix invalid pointer returned when failing to create font.
Hans Leidekker (2):
dnsapi/tests: Don't test extra records returned for CNAME query.
kernel32/tests: Fix ProcessMachineTypeInfo tests.
Jacek Caban (3):
dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec.
configure: Enable -Wenum-conversion warnings.
ntdll: Declare seh debug channel in signal_arm64ec.c.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Rémi Bernon (6):
winebus: Return backend init status from bus_main_thread_start.
mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
server: Peek wine internal driver messages regardless of filter.
server: Update the desktop cursor position / window on click.
server: Use the capture window as cursor window if it is set.
Sven Baars (2):
sapi/tests: Remove registry keys created by SetId().
sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
1
0
The Wine development release 9.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 9.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 9.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.10.
- Support for DH encryption keys with a recent GnuTLS.
- Keyboard layouts support in the Wayland driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc1.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 9.0-rc1 (total 42):
- #13340 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because IMultiLanguage2_GetCharsetInfo doesn't like "ISO8859-1"
- #34537 Athena's Charm Table search 0.35b wants msvcm90.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString(a)System@@P$AAVException(a)3@@Z
- #47699 Multiple applications need support for ECDH key generation via bcrypt (For Honor, STEEP, Far Cry 5)
- #48972 Bugs found by static analyzers
- #49527 Printing with font Chilanka crashes Notepad and Word
- #49543 Several games require bcrypt DH support
- #53175 Roon fails to start
- #54037 user32:msg - test_SendMessage_other_thread() sometimes gets a todo success (GitLab CI)
- #54731 vbscript: stack_pop_bool doesn't support floats or ole color
- #54999 Process Explorer from Sysinternals shows a blank window
- #55045 NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
- #55052 vbscript: For loop where right bound is string coercion issue
- #55054 WineServer crash. (complete_async_poll: Assertion `output->count == signaled_count' failed)
- #55065 user32:monitor - check_preferred_mode() fails on the TestBot's debiant VM
- #55075 Araxis Merge 2023.5877 needs api-ms-win-core-com-l2-1-1.dll
- #55115 widl crashes with dlls/sti after adding wia_lh.idl
- #55185 vbscript round does not handle numdecimalplaces argument
- #55210 Hatching printed with wrong stripes direction in Framemaker 8
- #55502 vbscript: Sub argument name clash with global const
- #55536 Aldec Active-HDL student edition: crashes when trying to open a file on unimplemented function SHELL32.dll.SHSetTemporaryPropertyForItem
- #55591 Castlevania: Lords of Shadow 2 has rendering glitches
- #55671 Internet Download Manager needs unimplemented function shcore.dll.RegisterScaleChangeEvent
- #55807 uiautomationcore:uiautomation - test_uia_com_event_handler_event_advisement() fails on Windows 10 1709
- #55812 Air Jura crashes
- #55843 Virtual Desktop spams "Failed to read display config."
- #55851 SpeedCommander needs shell32.SHCreateItemWithParent()
- #55852 can't print, even from notepad to pdf
- #55867 Roon 2.0.23 crashes due to unimplemented function shcore.dll.CreateRandomAccessStreamOverStream
- #55890 Eurobattle installer fails to run
- #55892 .NET 8 Windows Forms crashes due to missing DPI functions in user32
- #55899 Daily Chthonicle - performance regression
- #55920 ModOrganizer crashes: Call to unimplemented function USER32.dll.SetDisplayAutoRotationPreferences
- #55927 RestoreDC appears to fail with printers
- #55931 VarMod(Empty, N) returns uninitialized result
- #55935 wine-8.21 build fails in Ubuntu x86_64
- #55950 An attempt to print from 'wine iexplore' leads to a crash
- #55959 _mbsicoll generates exceptions, in Simplified Chinese language linux systems
- #55963 Acid-V VST plugin crashes when removed from a track
- #55966 Crimson Skies freeze in menu
- #55968 MIDITrail 1.4.0 shows an error on start (DWMWA_EXTENDED_FRAME_BOUNDS isn't implemented)
- #55969 vbscript fails to return TypeName for Nothing
- #55973 Printing from iexplore results the images being printed as black rectangles
----------------------------------------------------------------
Changes since 8.21:
Aida Jonikienė (3):
wined3d: Add extra debug info to shader_set_limits().
comctl32: Only print TREEVIEW_HandleTimer() ERR once.
dsdmo: Only print effect_inplace_Process() FIXME once.
Akihiro Sagawa (1):
dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Alex Henrie (16):
comdlg32/tests: Use CRT allocation functions.
d3dx9_36/tests: Use CRT allocation functions.
cabarc: Use CRT allocation functions.
uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC.
uxtheme: Use CRT allocation functions.
d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC).
uxtheme/tests: Add some tests for OpenThemeFile.
gdiplus: Use CRT allocation functions.
d3dx9: Use CRT allocation functions.
ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData.
ole32/tests: Use CRT allocation functions.
mscoree: Use CRT allocation functions.
mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC).
user32: Correct capitalization of SetDeskWallpaper.
user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
explorer: Add an "Exit desktop" button to the Start menu.
Alexandre Julliard (61):
ntdll: Store the syscall table in the TEB on x86-64.
ntdll: Store the syscall table in the TEB on ARM64.
ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
winealsa.drv: Remove DECLSPEC_HIDDEN usage.
winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage.
wineoss.drv: Remove DECLSPEC_HIDDEN usage.
gphoto2.ds: Remove DECLSPEC_HIDDEN usage.
sane.ds: Remove DECLSPEC_HIDDEN usage.
dwrite: Remove DECLSPEC_HIDDEN usage.
mscoree: Remove DECLSPEC_HIDDEN usage.
opencl: Remove DECLSPEC_HIDDEN usage.
wined3d: Remove DECLSPEC_HIDDEN usage.
winegstreamer: Remove DECLSPEC_HIDDEN usage.
wineboot: Remove a noisy FIXME.
wineandroid.drv: Remove DECLSPEC_HIDDEN usage.
winemac.drv: Remove DECLSPEC_HIDDEN usage.
winewayland.drv: Remove DECLSPEC_HIDDEN usage.
winex11.drv: Remove DECLSPEC_HIDDEN usage.
include: Remove DECLSPEC_HIDDEN definition.
include: Make strict prototypes the default.
ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
ntdll: Allow unwind rules to override the default stack pointer assignment.
ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little.
ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64.
ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
ntdll/tests: Remove some noisy traces.
ntdll/tests: Fix some compiler warnings on ARM.
ntdll: Implement context and machine frame unwind operations on ARM.
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
winedump: Add dumping of UWOP_EPILOG entries.
winedump: Add a couple of ARM unwind codes.
faudio: Import upstream release 23.12.
configure: Require SEH support for PE builds.
ntdll: Fix breakpoint exceptions on ARM.
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
winedump: Also dump ARM64 exception information for ARM64EC binaries.
ntdll: Add a helper to build a path and exec it.
ntdll: Use posix_spawn() to start the server.
ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable.
vkd3d: Import upstream release 1.10.
winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables.
ntdll: Implement KiUserCallbackDispatcher for ARM64EC.
ntdll: Implement KiUserApcDispatcher for ARM64EC.
kernelbase: Implement DebugBreak() for ARM64EC.
kernelbase: Implement SwitchToFiber on ARM64EC.
msvcrt: Add a stub ARM64EC CPU backend.
configure: Disable building programs for ARM64EC.
windowscodecs: Don't free memory at process exit.
winepulse.drv: Don't free memory at process exit.
ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
Alexandros Frantzis (12):
winewayland.drv: Implement vkQueuePresentKHR.
winewayland.drv: Detect and report vkQueuePresentKHR errors.
winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
winewayland.drv: Apply client subsurface position on creation.
winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
winewayland.drv: Handle window foreground state on keyboard focus.
winewayland.drv: Remove duplicate handling of wp_viewporter global.
winewayland.drv: Implement ClipCursor.
winewayland.drv: Implement relative mouse motion.
winewayland.drv: Lock the pointer if confined without cursor.
winewayland.drv: Apply surface configuration during Vulkan presentation.
Alfred Agrell (11):
quartz/tests: Improve VMR9 ChangeD3DDevice test.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Implement compressed output support in WMSyncReader.
wmvcore/tests: Add tests for compressed output.
winegstreamer: Don't use VIDEOINFO for non-RGB data.
winegstreamer: Fix a memory leak in stream_props_GetMediaType.
winegstreamer: Delete duplicate WMT_ON check.
Anton Baskanov (7):
winegstreamer: Wake all streaming threads after seeking.
amstream/tests: Test IEnumPins with two streams.
amstream: Use correct index in MediaStreamFilter's IEnumPins::Next().
amstream/tests: Add quality control tests.
amstream: Send quality control messages from AMDirectDrawStream::Receive.
quartz/tests: Add quality control tests for CMpegVideoCodec.
winegstreamer: Handle quality control messages in CMpegVideoCodec.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Bernhard Übelacker (1):
mlang: Allow encoding name "ISO8859-1".
Billy Laws (1):
kernel32: Export RtlIsEcCode().
Biswapriyo Nath (1):
include: Update d3d12sdklayers.idl from vkd3d.
Brendan McGrath (11):
d2d1: Add test for multithreaded draw.
d2d1: Add test for singlethreaded draw.
d2d1: Acquire lock before attempt to draw to device context.
user32/tests: Add tests for word breaks before punctuation.
user32: Wrap at whitespace rather than soft break.
comctl32/tests: Add test for setitemsize return value.
comctl32: Fix TAB_SetItemSize.
comctl32: Use selected font to determine default min tab width.
comctl32/tests: Fix tabcontrol tests to work with different fonts.
comctl32/tests: Check size initially and after changing padding only.
comctl32/tests: Modify test_width to try different fonts.
Brendan Shanks (3):
ntdll: Fix macOS build error with LLVM 17.
winemac: Use RTL_CONSTANT_STRING.
winecoreaudio: Use UID as device string.
Daniel Lehman (5):
msxml3: Handle null prefix in get_item.
msxml3: Handle default namespace in get_baseName.
msxml3: Handle default namespace in get_nodeName.
msxml3: Handle default namespace in get_prefix.
msxml3: Handle default namespace in get_namespaceURI.
Eric Pouech (16):
dmime: Add Release() on some codepaths.
msiexec: No longer use console/file output APIs.
winecfg: Output with MESSAGE.
uninstall: No longer use console/file output APIs.
ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
kernel32/tests: Add more tests about CreateProcess.
ntdll: Restrict cases for std handle inheritance in CreateProcess().
kernelbase: Reset std handles gotten from GetStartupInfo().
kernel32/tests: Identify untouched fields returned from GetStartupInfo.
kernel32/tests: Add tests for GetStartupInfo(A|W).
kernelbase: No longer cache GetStartupInfoW() results.
kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
ntdll: Don't inherit std console handles for non CUI child process.
ntdll: Don't create Unix console for GUI apps.
Esme Povirk (2):
user32/tests: Add a simpler test for SetParent's internal message.
user32/tests: Remove test_SendMessage_other_thread(2).
Etaash Mathamsetty (1):
cfgmgr32: Add CM_Register_Notification stub.
Fabian Maurer (19):
user32: Add stub for GetThreadDpiHostingBehavior.
user32: Fix spec entry for SetThreadDpiHostingBehavior.
widl: Prevent infinite loop when structure contains array of itself.
widl: In type_has_full_pointer recurse for pointer types as well.
server: Initialize pe image struct padding to avoid Valgrind warning.
coml2: Add dll and move code from ole32/memlockbytes.c.
coml2: Move GetConvertStg from ole32.
coml2: Move ReadClassStm from ole32.
coml2: Move ReadClassStg from ole32.
coml2: Move WriteClassStm from ole32.
coml2: Move WriteClassStg from ole32.
server: Check socket flags after all sockets got processed.
apisetschema: Add api-ms-win-core-com-l2-1-1.
coml2: Move StgIsStorageILockBytes from ole32.
coml2: Move StgIsStorageFile from ole32.
coml2: Move FmtIdToPropStgName from ole32.
coml2: Move PropStgNameToFmtId from ole32.
coml2: Move StgCreatePropSetStg from ole32.
net: Accept yes/no switches.
Gabriel Ivăncescu (21):
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually unlinked.
mshtml: Don't rely on the outer_window in document.mimeType.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
mshtml: Return failure in IHTMLDocument2::frames for detached documents.
mshtml: Return failure in IHTMLDocument2::domain for detached documents.
mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
mshtml: Return failure in IHTMLDocument2::open() for detached documents.
mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
mshtml: Skip navigation handling on anchor/area elements for detached documents.
mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Expose the other IHTMLEventObj* interfaces.
mshtml: Don't expose "restricted" members.
mshtml: Send proper legacy storage event with actual url.
mshtml: Implement `url` prop for StorageEvent objs.
mshtml/tests: Fix VariantClear on uninitialized variable.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.272.
Hans Leidekker (7):
bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
bcrypt: Implement BCryptDeriveKey().
bcrypt: Add support for generating DH keys.
bcrypt: Add support for exporting DH keys.
bcrypt: Add support for importing DH keys.
bcrypt: Add support for duplicating DH keys.
bcrypt/tests: Add DH tests.
Haoyang Chen (2):
rpcrt4: Support for explicit handle passing.
rpcrt4/tests: Test explicit_handle.
Henri Verbeet (2):
dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present().
Jacek Caban (11):
configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro.
configure: Use --no-default-config option on clang when available.
winegcc: Support --no-default-config argument.
configure: Don't use empty expression in clang check.
gitlab: Add clang build.
mshtml/tests: Add detached documents handling tests.
mshtml: Return failure in IHTMLDocument2::get_URL for detached documents.
mshtml: Return failure in IHTMLDocument2::put_URL for detached documents.
win32u: Provide extra space in buffers used to dispatch string getter messages.
user32: Remove unused argument for unpack_message.
ntdll: Remove unused valgrind_make_readable function.
Jactry Zeng (3):
ntdll: Use different variable names for Mac locales.
ntdll: Initialize locale from Mac language identifiers with script name.
ntdll: Try harder to fallback to neutral locales.
Jon Doron (1):
win32u: Add registry data for GPU memory size.
Louis Lenders (3):
shell32: Add stub for SHCreateItemWithParent.
shell32: Add stub for SHSetTemporaryPropertyForItem.
shcore: Add stub for CreateRandomAccessStreamOverStream.
Marc-Aurel Zent (1):
server: Add cross-platform get_path_from_fd function.
Matteo Bruni (6):
tools: Print the correct option in error messages.
d3dx9: Check for successful sprite draw in DrawTextW().
wined3d: Do a blocking wait for CS commands even when there are active queries.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Add a frametime debug channel.
wined3d: Add a bunch of d3d_perf traces.
Myah Caron (1):
user32: Add SetDisplayAutoRotationPreferences stub.
Nikolay Sivov (21):
oleaut32: Fully initialize VarMod() return value for Empty % x case.
oleaut32: Always reset return type for VarMod().
d3dx9/tests: Fix a crash when d3d9 object can't be created.
gdi32/emf: Add a helper to pad variable length record data.
gdi32/emf: Use padding helper in GdiComment().
gdi32/emf: Check for allocation failure in GdiComment().
gdi32/emf: Add description field padding.
gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records.
gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records.
gdi32/emf: Use public definition for EMREXTESCAPE record.
wineps: Use public definition for EMREXTESCAPE record.
gdi32/emf: Pad EMREXTESCAPE record data.
vbscript: Implement TypeName(Nothing).
vbscript: Coerce to VT_BOOL when evaluating jump conditions.
oleaut32/tests: Remove some of the function availability checks.
oleaut32/tests: Use wide string literals in some tests.
oleaut32/tests: Use existing helpers to trace variant values.
oleaut32/tests: Do not use VarCmp() to check results of other functions.
include: Add missing enum to wdm.h.
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Paul Gofman (3):
ntdll: Implement NtQueryInformationThread(ThreadIsTerminated).
setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}().
winhttp: Handle chunked requests.
Piotr Caban (14):
winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified.
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
wineps.drv: Fix EMR_SAVEDC record playback.
msvcrt: Initialize writable environment block in env_set.
gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut.
wineps.drv: Fix printing images from iexplore.
wineps.drv: Add paper source selection support in printer properties.
msvcrt: Accept <> characters in string literals in demangler.
msvcrt: Add partial support for managed handle demangling.
wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict.
wineps: Fix color handling in PSDRV_WriteDIBPatternDict.
winedump: Sync demangling code with msvcrt.
Robert Wilhelm (4):
oleaut32: Fix VarR8Round for negative numbers.
vbscript: Sub argument has precedence over global const and local dim.
vbscript: Handle numdecimalplaces argument in Round().
vbscript: For for loop bounds coerce string to real.
Rémi Bernon (52):
gitlab: Add windows tests to MR pipeline.
gitlab: Only run the modifieds tests on Windows for an MR.
win32u: Initialize sysparams before winstation.
win32u: Remove unnecessary config_key lazy initializations.
explorer: Remove unnecessary displayed icon array.
explorer: Split systray add/remove from show/hide_icon.
explorer: Create individual windows for the systray icons.
explorer: Display the individual systray icon windows.
explorer: Use the icon windows for their tooltips.
explorer: Position the balloons relative to the icon windows.
explorer: Handle balloon timer in the icons window proc.
explorer: Use an explicit display constant for hidden icons.
explorer: Support standalone systray window mode.
explorer: Cache the balloon window position.
wineboot: Compute and write the TSC frequency to registry ~Mhz.
dinput/tests: Use exotic axes ordering for winmm tests.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Search for debug report callback from the start of the chain.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Fix python linter warnings.
winewayland.drv: Handle and parse Xkb keymap events.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
explorer: Always set the systray icon tooltip text.
explorer: Hide the standalone systray window on close.
win32u: Introduce a new NtUserSystemTrayCall message call.
winemac: Use the new NotifyIcon user driver interface.
win32u: Introduce new SystrayDock driver entry points.
explorer: Use layered windows for the docked systray icons.
winex11: Use the new SystrayDock driver interface.
explorer: Remove now unnecessary wine_notify_icon support.
winevulkan: Use "host" more consistently instead of "native".
winex11: Use "host" instead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winevulkan: Remove unnecessary dispatch from make_vulkan.
ntdll: Set main_(argc|argv|envp) as early as possible.
winevulkan: Replace "loader_thunk" with dedicated dictionaries.
winevulkan: Use a dictionary in make_vulkan for manual unix thunks.
winevulkan: Use a dictionary for user driver entry points.
winevulkan: Remove redundant make_vulkan needs_unwrapping method.
winevulkan: Introduce a new convert_suffix make_vulkan helper.
winevulkan: Use an enumeration for make_vulkan unwrapping kinds.
winevulkan: Unwrap to driver or host depending on the function.
Torge Matthies (3):
winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Vijay Kiran Kamuju (6):
gdiplus: Add GdipDrawImageFX stub.
dsdmo: Add Distortion effect stub.
dsdmo: Add Gargle effect stub.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowNestedLoadModuleException function.
Yuxuan Shui (1):
dsound: Set position past the end of the buffer is invalid.
Zebediah Figura (33):
ntdll: Check for some more IP socket options at compile time.
ws2_32: Check for AI_ALL at compile time.
ntdll: Print a warning when LdrGetProcedureAddress() fails.
winmm: Reimplement joystick axis mapping.
ntdll: Allow specifying per-process channels.
winegstreamer: Allow videoconvert to parallelize in the parser.
wined3d: Explicitly bind 0 for a NULL SRV.
wined3d: Release the view's resource after destroying the view.
wined3d: Introduce an API for creating an identity SRV on a texture.
d3d9: Use wined3d_texture_acquire_identity_srv().
wined3d: Set d3d 1-9 textures in the state as SRVs.
wined3d: Remove an outdated comment.
wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix().
wined3d: Fix masking out the texcoord index in get_texture_matrix().
d3d9/tests: Add another test for drawing from a mapped buffer.
d3d9: Upload mapped dynamic vertex and index buffers before every draw.
d3d10core/tests: Mark a test as no longer todo.
d3d11core/tests: Mark a test as no longer todo.
quartz: Return the rect from get_default_rect() through a pointer.
quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9.
quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9.
quartz: Split the VMR into two separate filters.
quartz: Specify the mode as a VMRMode.
configure: Use -mpreferred-stack-boundary=2 on i386.
quartz: Stub CLSID_AllocPresenter.
quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter.
quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
quartz: Implement sample allocation in the VMR7 presenter.
wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets.
wined3d: Sleep when waiting for the CS thread.
Zhiyi Zhang (16):
dplayx: Fix a memory leak (Coverity).
oledb32: Fix a memory leak (Coverity).
ntdll: Fix an out-of-bounds write (Coverity).
ntdll: Fix a memory leak (Coverity).
wined3d: Fix a use after free (Coverity).
ntdll: Fix an out-of-bounds read (Coverity).
wbemprox: Fix a memory leak (Coverity).
win32u: Find the correct DIB driver in windrv_CreateDC().
mciwave: Use matching memory allocator (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
wininet: Fix a use-after-free (Coverity).
shell32: Fix a memory leak (Coverity).
ntdll: Fix a memory leak (Coverity).
gdiplus: Fix a memory leak (Coverity).
winegstreamer: Fix a memory leak (Coverity).
winegstreamer: Fix wg_transform_get_status() result check (Coverity).
Ziqing Hui (4):
winegstreamer: Avoid media sink command leaking.
winestreamer: Implement {Begin,End}Finalize for media sink.
winegstreamer: Implement wg_muxer_finalize.
winegstreamer: Set streamheader field for h264 caps.
1
0
The Wine development release 8.21 is now available.
What's new in this release:
- High-DPI scaling and initial Vulkan support in the Wayland driver.
- Beginnings of support for ARM64EC target.
- Updates to the locale database.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.21.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 8.21 (total 29):
- #9127 Multiple applications require system stream support in the MPEG-I splitter (Drome Racers, Ninki Seiyuu no Tsukukurikata)
- #22596 PhotoScape unable to change/save files
- #34197 RootMagic 6 error on launch (Invalid operation GDI+ (Code 1))
- #36739 PreSonus Studio One 2.6 user interface/controls text is invisible
- #47609 Multiple apps crash on unimplemented function msvcp140.dll.??0?$codecvt(a)_UDU_Mbstatet@@@std@@QEAA(a)_K@Z (Godhood, WechatOCR)
- #52963 d3d10core:d3d10core & d3d11:d3d11 - test_resinfo_instruction() fails on Debian 11 + Intel GPU
- #53287 MxManagementCenter crashes on unimplemented function msvcp140.dll.??0?$codecvt(a)_SDU_Mbstatet@@@std@@QEAA(a)_K@Z when adding a camera
- #54554 kernel32:file & ntdll:file get unexpected count values on Windows 11
- #54839 3DMark 2000: missing benchmark information
- #54962 GDI+ text rendering does not handle carriage returns
- #55058 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine
- #55165 Age of Empires II Definitive Edition quits on startup, due to WinVerifyTrust() failing on game binaries.
- #55215 user32:text - test_DrawTextCalcRect() crashes on Windows
- #55403 Office 2021 needs Windows.Management.Deployment.PackageManager
- #55437 Death Stranding: "Start" and "Back" buttons are reversed
- #55504 .NET 7 not working
- #55640 ModOrganizer 2.5.0 beta 5+ (Qt 6.5) requires a better uisettings3::GetColorValue implementation
- #55660 HID with more than 8 axis overwrites inputs after it
- #55709 Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier
- #55770 Port Royale 2: flickering in the menus and during gameplay
- #55788 Wayland driver: GNOME: no cursor over Wine windows when 2 monitors connected
- #55795 .NET 8 SDK Installer does not finish setup
- #55847 SetThreadDpiHostingBehavior not implemented
- #55886 No more audio (FreeBSD and OSS) since Wine 8.15
- #55888 Quicken stopped working after upgrading to wine 8.20
- #55898 WinSCP crashes with wine-8.20
- #55909 wine does not start with free(): invalid pointer when compiling without xrandr
- #55918 printf() can overrun the "p10s" buffer with certain values when using 24-bit precision
- #55929 wined3d: wined3d_state_get_ffp_texture() breaks DragonAge Origins
----------------------------------------------------------------
Changes since 8.20:
Alex Henrie (9):
user32/tests: Allocate clipboard data with HeapAlloc.
gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
winmm/tests: Use calloc instead of HeapAlloc.
sapi: Use CRT allocation functions.
ntoskrnl/tests: Put test_input on the stack in the main_test function.
d3dcompiler_43/tests: Use CRT allocation functions.
d3dcompiler_43: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Alexandre Julliard (72):
winebuild: Add a helper to build an ARM64EC function name.
winebuild: Include x86-64 entry points in ARM64EC builds.
makefiles: Avoid generating the .tab.c file twice with bison.
makefiles: Remove support for obsolete source variables.
winecrt0: Implement setjmp/longjmp for ARM64EC.
ntdll: Add a stub ARM64EC CPU backend.
ntdll: Don't use x86-64 assembly on ARM64EC.
ntdll: Export __chkstk_arm64ec().
makefiles: Use --defines instead of --header for compatibility with older bison.
ntdll: Set function pointers in the ARM64EC metadata on dll load.
ntdll: Implement __os_arm64x_check_call().
ntdll: Implement __os_arm64x_get/set_x64_information().
ntdll: Redirect PE function pointers through the ARM64EC redirection map.
ntdll: Remove DECLSPEC_HIDDEN usage.
make_specfiles: Generate a list of syscalls from the corresponding spec files.
ntdll: Use the generated syscall list.
win32u: Use the generated syscall list.
wow64: Use the generated syscall list.
wow64win: Use the generated syscall list.
wow64: Remove DECLSPEC_HIDDEN usage.
wow64cpu: Remove DECLSPEC_HIDDEN usage.
ntdll: Build the syscall argument array from the generated syscall list.
win32u: Set the syscall dispatcher on the PE side.
win32u: Build the syscall argument array from the generated syscall list.
win32u: Store the service table entry directly into the ntdll variable.
wow64: Build the syscall argument array from the generated list.
winebuild: Stop generating the syscall argument array and related data.
win32u: Remove DECLSPEC_HIDDEN usage.
tools: Upgrade the config.guess/config.sub scripts.
explorer: Remove DECLSPEC_HIDDEN usage.
wusa: Remove DECLSPEC_HIDDEN usage.
ntdll: Generate syscall entry points from the C code with asm macros.
win32u: Generate syscall entry points from the C code with asm macros.
winebuild: Stop generating syscall entry points.
ntdll: Add syscall entries for ARM64EC.
win32u: Add syscall entries for ARM64EC.
tiff: Fix size_t type size detection on 64-bit.
fluidsynth: Use a signed atomic type to avoid warnings.
faudio: Fix a few printf formats.
ntdll: Store the syscall table in the TEB on i386.
ntdll: Store the syscall table in the TEB on ARM.
ntdll: Directly access the syscall table variable on x86-64.
ntdll: Directly access the syscall table variable on ARM64.
ntdll: Add a syscall_cfa member to the ARM64 syscall frame.
ntdll: Add a syscall_cfa member to the ARM syscall frame.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Remove the signal_exit_thread wrapper.
nls: Update locale data to CLDR version 44.
fluidsynth: Make glib replacement functions inline to avoid unused function warnings.
jxr: Fix some clang compiler warnings.
vkd3d: Disable printf format checks.
bcrypt: Remove DECLSPEC_HIDDEN usage.
crypt32: Remove DECLSPEC_HIDDEN usage.
mmdevapi: Remove DECLSPEC_HIDDEN usage.
netapi32: Remove DECLSPEC_HIDDEN usage.
secur32: Remove DECLSPEC_HIDDEN usage.
mountmgr: Remove DECLSPEC_HIDDEN usage.
nsiproxy.sys: Remove DECLSPEC_HIDDEN usage.
winebus.sys: Remove DECLSPEC_HIDDEN usage.
ws2_32: Remove DECLSPEC_HIDDEN usage.
ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization.
ntdll: Convert the ARM64EC context to ARM64 for syscalls.
winedump: Display PE section offsets using their virtual address.
Alexandros Frantzis (26):
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
win32u: Respect per-monitor thread dpi awareness when getting window from point.
winewayland.drv: Prepare to handle different coordinate spaces.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Ignore spurious size hints.
winewayland.drv: Add skeleton Vulkan driver.
winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
winewayland.drv: Implement vkCreateInstance.
winewayland.drv: Implement vkDestroyInstance.
winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr.
winewayland.drv: Implement vkCreateWin32SurfaceKHR.
winewayland.drv: Implement vkDestroySurfaceKHR.
winewayland.drv: Use a client area subsurface as the Vulkan target.
winewayland.drv: Set client area subsurface position.
winewayland.drv: Set client area subsurface size.
winewayland.drv: Forward all client surface pointer events to parent.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
winewayland.drv: Implement vkCreateSwapchainKHR.
winewayland.drv: Implement vkDestroySwapchainKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
winewayland.drv: Implement vkGetSwapchainImagesKHR.
Alfred Agrell (6):
winegstreamer: Store duration in the duration field.
winegstreamer: Add wg_format_from_caps_audio_wma function.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Switch WMA decoder to use wg_format internally.
winegstreamer: Implement DMO interface for WMA decoder.
mf/tests: Test IMediaObject_GetOutputSizeInfo.
Alistair Leslie-Hughes (7):
dbghelp: Remove DECLSPEC_HIDDEN usage.
include: Add DBPROPVAL_MR_* defines.
msdasql: GetAvailableColumns correct assignment of DBCOLUMN data.
rpcrt4: Remove DECLSPEC_HIDDEN usage.
msado15: Updating recordset EditMode when field value changes.
msado15: Correct logic when setting field value.
msdasql: Check rowset pointer before assignment in ICommandText::Execute.
Anton Baskanov (14):
dmsynth: Move instrument search to synth_preset_noteon().
dmsynth: Get rid of instrument reference counting.
dmsynth: Factor out instrument and region search.
dmsynth: Fall back to the Standard drum set when there is no matching instrument or region.
dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
dmime: Factor out timeout computation.
dmime: Don't queue messages with immediate delivery type.
dmime: Always queue messages with non-immediate delivery type.
dmime: Correctly requeue messages with changed time.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime/tests: Test output tool note requeueing.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmsynth: Preserve event order when positions are equal.
dmsynth: Use time instead of position to order events.
Bartosz Kosiorek (2):
msvcrt: Fix _mbsspn_l implementation.
msvcrt: Add _mbsspnp_l implementation.
Bernhard Übelacker (2):
uxtheme: Add stub for RefreshImmersiveColorPolicyState.
notepad: Use GetDesktopWindow() when main window is not yet created.
Brendan Shanks (1):
ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS.
Daniel Lehman (8):
msxml3/tests: Remove unused test field.
msxml3/tests: Add tests for get_xml.
msxml3/tests: Test for specific HRESULT in some tests.
msxml6/tests: Add tests for default namespace.
msxml4/tests: Add tests for default namespace.
msxml3/tests: Add tests for default namespace.
msxml4/tests: Copy create namespace tests.
msxml6/tests: Copy create namespace tests.
Davide Beatrici (1):
wineoss: Fix sound not working.
Dmitry Timoshkov (5):
user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Eric Pouech (13):
dbghelp: Remove DMT_ entries for .DBG and .PDB files.
dbghelp: Expose some internal information about modules to winedbg.
dbghelp: No longer decorate ELF/Mach-O module names.
dbghelp: Expose PE native vs builtin information to winedbg.
dbghelp: Pretend mach-o is present in case of failure.
msvcrt/tests: Test passing environment in child process.
ucrtbase/tests: Introduce environment tests.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Fix ucrtbase environment initialization.
regsvr32: Use message boxes by default for output.
regedit: Use message boxes by default for output.
winedbg: Use dbghelp extended module info.
Esme Povirk (1):
user32/tests: Accept another variation in send_message_5.
Fabian Maurer (1):
winex11: Free correct pointer when using xf86vm.
François Gouget (2):
advapi32/tests: Fix a service stop race condition.
user32/tests: Add a trailing linefeed to ok() and skip() calls.
Hans Leidekker (5):
wldp: Improve the WldpGetLockdownPolicy() stub.
fusion: Bump version to 4.6.1590.0.
wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE.
ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister().
winhttp: Use an unsigned integer for number values in query_headers().
Jacek Caban (13):
configure: Add arm64ec PE target support.
tools: Initial ARM64EC target support.
winebuild: Use COMDAT sections for ARM64EC functions.
winecrt0: Initial ARM64EC support.
include: Don't use dllexport attribute for Wine PE modules.
msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
msi/tests: Initialize pathkey in test_installprops.
gdiplus: Remove unused variable.
ole32/tests: Remove unused variable.
mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select.
mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create.
mshtml: Use Gecko inner window in get_ns_selection.
mshtml: Use Gecko inner window in get_clipboard_commands.
Jactry Zeng (1):
msvcp140: Add codecvt<char32> class stub.
Louis Lenders (2):
wbemprox: Add StandardCimv2 namespace.
shcore: Add stub for RegisterScaleChangeEvent.
Marc-Aurel Zent (2):
ntdll: Implement thread-ID alerts using kqueue/kevent.
ntdll: Use IOPowerSources API to fill battery info on macOS.
Matteo Bruni (1):
opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
Michael Stefaniuc (9):
dmime: Remove redundant NULL check before free().
dmime/tests: Remove superfluous casts to self.
dmime: Remove superfluous casts to self.
dmsynth: Remove superfluous casts to self.
dmusic: Remove superfluous casts to self.
gdiplus: Remove redundant NULL check before free().
sane.ds: Use ARRAY_SIZE instead of open coding it.
winegstreamer: Remove redundant NULL check before free().
quartz: Remove redudant NULL checks before CoTaskMemFree().
Myah Caron (1):
windows.ui: Support accent colors in uisettings3_GetColorValue.
Nell Hardcastle (3):
winebus.sys: Identify DualSense Edge as a DualSense controller.
mmdevapi: Override product strings for DualSense Edge.
hidclass.sys: Add DualSense Edge to device_strings.
Nikolay Sivov (6):
d3dx9/effect: Rename effect initialization helper.
evr/presenter: Handle failure to initialize D3D9.
evr/tests: Skip tests if D3D9 is unusable.
dxva2/tests: Skip tests if D3D9 is unusable.
d3dcompiler/tests: Do not crash on device creation.
oleaut32: Remove some deadcode from VarMod().
Paul Gofman (14):
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
combase: Ensure MTA existence in RoGetActivationFactory().
winepulse.drv: Change device description.
dnsapi: Handle IP address as DNS name in DnsQuery_UTF8().
gdiplus: Round width and height in gdip_format_string().
windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder.
msvcp110: Implement std::_Xbad_function_call().
include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass.
include: Fix ID3DXLoadUserData definition.
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
Paweł Ulita (1):
user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
Piotr Caban (6):
msvcrt: Avoid temporary buffer allocation in _mbsrev_l.
msvcrt: Add _mbsrev tests.
msvcrt: Factor out env_get_index helper.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Hold _ENV_LOCK when accessing environment variables.
msvcp140: Add codecvt<char16> class stub.
Rémi Bernon (47):
dmime/tests: Avoid discarding old notifications in test.
dmime/tests: Test that IDirectMusicPerformance_Stop clears messages.
dmime: Clear all pending messages in IDirectMusicPerformance_Stop.
dmime: Send MIDI_SYSTEM_RESET message on performance reset.
dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET.
dmime: Split segment_state_play_chunk helper.
dmime: Implement segment state repeat and looping.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
winewayland.drv: Basic handling of Wayland keyboard events.
winebus.sys: Ignore events on unsupported axes.
windows.gaming.input: Fix inverted start / select gamepad buttons.
winebus.sys: Fix incorrect hid_device_set index check.
evr: Set last presented sample atomically.
ntdll: Add comments to stack switches in dispatchers.
ntdll: Remove unnecessary stack pointer CFI rules.
ntdll: Add a syscall_cfa member to the i386 syscall frame.
ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
ntdll: Connect syscall frames across user callbacks on i386.
ntdll: Connect syscall frames across user callbacks on x86-64.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
mfplat: Add support for internal MFVideoFormat_A2B10G10R10.
mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub.
mfplat: Add MFInitAMMediaTypeFromMFMediaType stub.
mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType.
mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType.
mfplat/tests: Add IMFMediaType_GetRepresentation tests.
mfplat: Only convert MEDIASUBTYPE for the formats which need it.
mfplat: Use bits per pixel in uncompressed formats metadata.
mfplat: Implement MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFCreateAMMediaTypeFromMFMediaType.
mfplat: Implement IMFMediaType_(Get|Free)Representation.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
include: Use nested namespaces in windows.system.userprofile.idl.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
Santino Mazza (4):
mlang/tests: Test GetStrCodePages with different codepages character.
mlang: Fix GetStrCodePages for characters with different codepages.
mlang/tests: Test for codepages priority.
mlang: Implement codepages priority.
Tim Clem (3):
msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
winemac.drv: Move surface-related logs to the bitblt channel.
winemac.drv: Return success from query_ime_char_rect.
Zebediah Figura (18):
d3d8: Pass NOOVERWRITE to redundantly discarded maps.
wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers().
wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
wined3d: Introduce a wined3d_state_get_ffp_texture() helper.
wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
wined3d: Set the active texture in sampler_texdim().
wined3d: Set the active texture in nvts_texdim().
ws2_32/tests: Test sending data to a peer which is closed.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test send() after TCP reset.
ws2_32/tests: Work around a Linux bug.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
msvcrt: Perform a base-10 logarithm using integer math.
wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
ddraw/tests: Add a test for drawing to a flippable surface.
ddraw: Read the current RTV before flipping any surfaces.
Zhiyi Zhang (13):
uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
msdasql/tests: Fix memory leaks.
msdasql/tests: Add more IDBProperties::GetProperties() tests.
msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties().
oledb32: Add missing const modifiers.
oledb32/tests: Use wide-char string literals.
oledb32/tests: Remove test_odbc_provider().
oledb32/tests: Fix memory leaks.
oledb32/tests: Add more IDataInitialize::GetInitializationString() tests.
oledb32: Remove the trailing semicolon.
oledb32: Fix property count in datainit_GetInitializationString().
oledb32: Quote values containing semicolons.
oledb32: Remove unnecessary properties in datainit_GetInitializationString().
Ziqing Hui (2):
winestreamer: Introduce media_sink_write_stream.
winegstreamer: Implement wg_muxer_read_data.
1
0
The Wine development release 8.20 is now available.
What's new in this release:
- More DirectMusic implementation.
- Protocol associations exported to the Unix desktop.
- Code cleanups in preparation for code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.20.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 8.20 (total 20):
- #22904 Register URL protocol handlers under Linux
- #52716 Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
- #53213 d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
- #53217 d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
- #53218 d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
- #54399 d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
- #54519 d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
- #54780 UndertaleModTool display regression since wine-staging 8.4
- #55316 d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
- #55608 NAM won't open on new update
- #55679 warframe doesn't start in experimental wow64 mode
- #55715 Folio Views 4 crashes when storing a changed file
- #55742 wine crashes when launching Captvty V3
- #55782 System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
- #55789 Spectralayers 9 Pro crashes on audio playback
- #55797 Max Payne (2001) has no sound
- #55838 wget.exe fails to download anything (regression)
- #55839 NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
- #55842 Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
- #55856 cygwin hangs during installation at libzstd1-1.5.5-1
----------------------------------------------------------------
Changes since 8.19:
Alex Henrie (63):
find/tests: Use CRT allocation functions.
msscript: Use CRT allocation functions.
uninstaller: Use CRT allocation functions.
uxtheme/tests: Use CRT allocation functions.
loader: Associate Wine with internet shortcuts.
winemenubuilder: Disallow desktop integration for internet shortcuts.
d3d10core/tests: Use CRT allocation functions.
d3d11/tests: Use CRT allocation functions.
d3d8: Use CRT allocation functions.
d3d8/tests: Use CRT allocation functions.
d3d9: Use CRT allocation functions.
d3d9/tests: Use CRT allocation functions.
ddraw: Use CRT allocation functions.
ddraw/tests: Use CRT allocation functions.
dxgi: Use CRT allocation functions.
dxgi/tests: Use CRT allocation functions.
dplayx: Use CRT allocation functions.
ninput: Use CRT allocation functions.
browseui: Use the wcsdup function instead of reimplementing it.
fsutil/tests: Use CRT allocation functions.
user32/tests: Use CRT allocation functions.
sechost: Use CRT allocation functions.
quartz: Use debugstr_fourcc instead of debugstr_an.
adsldp: Remove unused heap.h include.
avrt: Use CRT allocation functions.
dhcpcsvc: Use CRT allocation functions.
dhcpcsvc/tests: Use CRT allocation functions.
diasymreader: Use CRT allocation functions.
dsuiext: Use CRT allocation functions.
iccvid: Use CRT allocation functions.
inseng: Use CRT allocation functions.
jsproxy: Use CRT allocation functions.
mp3dmod: Use CRT allocation functions.
msado15: Remove unused heap.h include.
msasn1: Use CRT allocation functions.
msdasql: Use CRT allocation functions.
msident: Use CRT allocation functions.
mspatcha: Use CRT allocation functions.
mstask: Use CRT allocation functions.
msvfw32/tests: Use CRT allocation functions.
netio: Use CRT allocation functions.
wtsapi32: Use CRT allocation functions.
gdiplus/tests: Use CRT allocation functions.
include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
gdi32/tests: Use CRT allocation functions.
winmm/tests: Use CRT allocation functions.
setupapi/tests: Use CRT allocation functions.
virtdisk/tests: Use CRT allocation functions.
vulkan-1/tests: Use CRT allocation functions.
winemenubuilder: Create .desktop files for programs that open URIs.
winecfg: Mention protocol associations.
winegstreamer: Remove unused heap.h include.
msiexec: Use CRT allocation functions.
windows.media.devices: Use CRT allocation functions.
winecoreaudio: Remove unused heap.h include.
shdocvw: Use CRT allocation functions.
urlmon/tests: Use CRT allocation functions.
ddrawex: Use CRT allocation functions.
devenum: Use CRT allocation functions.
wmvcore: Use CRT allocation functions.
Revert "dsound: Get rid of the global device GUID arrays.".
dsound: Dynamically allocate the global device GUID arrays.
nsi: Use CRT allocation functions.
Alexandre Julliard (58):
server: Fix returned error when creating an existing symlink.
user32: Enable a few more hook tests.
ntdll: Also update code ranges for pure ARM64EC binaries.
ntdll: Remove an unused global variable.
ntdll: Only check Wow64 system directories for 32-bit platforms.
kernelbase: Only support Wow64 system directories for 32-bit platforms.
wow64: Only support Wow64 system directories for 32-bit platforms.
server: Only create Wow64 system directories for 32-bit platforms.
winegcc: Use a temp file for the implicitly created import library.
makefiles: Always use the global SOURCES variable for .idl files.
makefiles: Always use the global SOURCES variable for .rc files.
makefiles: Always use the global SOURCES variable for .c files.
msvcrt: Use the public definitions for the UNDNAME_ flags.
winedump: Re-import the demangling code from msvcrt.
opengl32: Make the GL driver function table const.
odbc32: Make the Unix function table const.
include: Make sure that Unix function tables are always const.
include: Use NTSYSAPI for all ntdll exports.
include: Use proper dllimports for win32u functions.
include: Use proper dllimports for dbghelp functions.
include: Use proper dllimports for iphlpapi functions.
include: Use proper dllimports for setupapi functions.
include: Use proper dllimports for uxtheme functions.
include: Use proper dllimports for cryptdlg functions.
include: Use proper dllimports for eventlog functions.
include: Use proper dllimports for httpapi functions.
include: Use proper dllimports for url functions.
include: Use proper dllimports for mimeole functions.
include: Use proper dllimports for winmm functions.
include: Use proper dllimports for pathcch functions.
include: Use proper dllimports for propsys functions.
include: Use proper dllimports for userenv functions.
include: Use proper dllimports for credui functions.
include: Use proper dllimports for winscard functions.
include: Use proper dllimports for slc functions.
include: Use proper dllimports for wmi functions.
include: Use proper dllimports for olectl functions.
include: Use proper dllimports for more wininet functions.
ddraw: Use SecureZeroMemory to clear the clipper vtbl.
include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
include: Remove DECLSPEC_HIDDEN from RPC functions.
include: Remove DECLSPEC_HIDDEN from GUID definitions.
widl: Remove DECLSPEC_HIDDEN from generated files.
configure: Use hidden visibility also when building Unix libraries.
wineoss.drv: Allocate the MIDI device array dynamically.
winealsa.drv: Allocate the MIDI device array dynamically.
rpcrt4: Generate stubless thunks at compile time.
rpcrt4: Generate vtbl delegating thunks at compile time.
win32u: Fix handling of process default DPI awareness.
winevdm: Don't claim that 16-bit apps are DPI aware.
makefiles: Support arch-specific IDL flags.
widl: Make the alignment option generic instead of win32/win64-specific.
configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
configure: Assume that pthread.h is present.
configure: Consistently use HOST_ARCH for platform checks.
opengl32: Remove DECLSPEC_HIDDEN usage.
winevulkan: Remove DECLSPEC_HIDDEN usage.
Alfred Agrell (14):
winegstreamer: Don't read format from unparsed MPEG audio.
winegstreamer: Clamp QoS events to stay inside the stream's running time.
winegstreamer: Seek to end of stream instead of to stream duration.
winegstreamer: Include the framerate when converting video format to GstCaps.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
winegstreamer: Add output_compressed parameter to wg_parser_create().
winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
winegstreamer: Implement CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
quartz/tests: Add tests for CLSID_CMpegVideoCodec.
Alistair Leslie-Hughes (26):
include: Add some DBCOLUMN defines.
msdasql: Use DBINITCONSTANTS to get guid values.
hlink: Remove DECLSPEC_HIDDEN usage.
msimtf: Remove DECLSPEC_HIDDEN usage.
sechost: Remove DECLSPEC_HIDDEN usage.
browseui: Remove DECLSPEC_HIDDEN usage.
wintrust: Remove DECLSPEC_HIDDEN usage.
uiautomationcore: Remove DECLSPEC_HIDDEN usage.
gameux: Remove DECLSPEC_HIDDEN usage.
propsys: Remove DECLSPEC_HIDDEN usage.
hnetcfg: Remove DECLSPEC_HIDDEN usage.
sti: Remove DECLSPEC_HIDDEN usage.
advpack: Remove DECLSPEC_HIDDEN usage.
mstask: Remove DECLSPEC_HIDDEN usage.
uiribbon: Remove DECLSPEC_HIDDEN usage.
itss: Remove DECLSPEC_HIDDEN usage.
rsaenh: Remove DECLSPEC_HIDDEN usage.
ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
mpr: Remove DECLSPEC_HIDDEN usage.
msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
comdlg32: Remove DECLSPEC_HIDDEN usage.
msacm32: Remove DECLSPEC_HIDDEN usage.
uxtheme: Remove DECLSPEC_HIDDEN usage.
wmiutils: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
winhttp: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (12):
dmsynth: Offset the loop points by 8 frames.
dmsynth: Handle pitch bend events.
dmsynth: Use correct transform for controls.
dmsynth: Correctly handle internal connections with controls.
dmsynth: Activate reverb and chorus according to effect flags.
dmsynth: Return void from add_mod_from_connection().
dmsynth: Keep track of voice/wave mapping.
dmsynth: Use generators to set root key and fine tune.
dmsynth: Create one FluidSynth sample per wave.
dmsynth: Remove useless private data checks.
dmsynth: Free the allocated presets manually.
dmsynth: Don't leak modulators.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (35):
gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
gdiplus/tests: Add tests for GdipSetPenTransform.
gdiplus: Add additional check to GdipSetPenTransform.
gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
msvcrt: Add _mbsdec_l implementation.
msvcrt: Add _mbslwr_l implementation.
msvcrt: Add _mbsrchr_l implementation.
msvcrt: Add _cprintf_l implementation.
msvcrt: Add _cwprintf_l implementation.
msvcrt: Add _mbsnbcat_l implementation.
msvcrt: Add _mbsbtype_l implementation.
msvcrt: Fix _mbslwr_s_l implementation.
msvcrt: Add _mbsupr_l implementation.
msvcrt: Add _mbsnbcmp_l implementation.
msvcrt: Add _mbsnbcnt_l implementation.
msvcrt: Add _mbsncpy_l implementation.
msvcrt: Add _mbsnicmp_l implementation.
msvcrt: Fix _strnicmp and _strnicmp_l implementation.
msvcrt: Add _mbsnbcat_s_l implementation.
msvcrt: Add _mbsnbcpy_l implementation.
msvcrt: Add _mbsnbicmp_l implementation.
msvcrt: Add _mbsnbset_l implementation.
msvcrt: Add _mbsncat_l implementation.
msvcrt: Add _mbsnccnt_l implementation.
msvcrt: Add _mbsnset_l implementation.
msvcrt: Add _mbspbrk_l implementation.
msvcrt: Add __iswcsym implementation.
msvcrt: Add __iswcsymf implementation.
msvcrt: Add _mbsncmp_l implementation.
msvcrt: Add _mbsrev_l implementation.
msvcrt: Add _mbsset_l implementation.
msvcrt: Add _mblen_l implementation.
Brendan Shanks (5):
localspl: Ensure unixlib function tables and enum stay in sync.
qcap: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
ntdll/unix: Replace some malloc/sprintf calls with asprintf.
ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Christian Costa (1):
wined3d: Add entry info for NVidia RTX 3070.
Connor McAdams (5):
uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
uiautomationcore: Return TRUE from UiaClientsAreListening().
oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
Daniel Lehman (4):
msxml4/tests: Use wide string literals.
msmxl4/tests: Add tests for get_xml.
msxml6/tests: Use wide string literals.
msxml6/tests: Add tests for get_xml.
Dmitry Timoshkov (9):
kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
kernel32: Add ACTCTX field limit checks to CreateActCtxA().
ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
uxtheme: Parse app/class name in OpenThemeData().
uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
uxtheme: If the application class is already set then OpenThemeData() should fail.
Eric Pouech (22):
dpnsvr: Move to GUI subsystem (as native).
spoolsv: Move to GUI subsystem (as native).
svchost: Move to GUI subsystem (as native).
services: Move to GUI subsystem (as native).
pdh: Zero out magic fields with SecureZeroMemory().
dssenh: Use SecureZeroMemory to clear magic fields.
secur32: Use SecureZeroMemory to clear magic fields.
user32: Use SecureZeroMemory to clear magic fields.
winscard: Use SecureZeroMemory() to clear magic fields.
wintrust: Use SecureZeroMemory() to clear magic fields.
wsdapi: Use SecureZeroMemory() to clear magic fields.
wininet: Use SecureZeroMemory() to clear magic fields.
msvcrt/tests: Improve environment tests (initial conditions).
msvcrt/tests: Add tests about allocation of environment entries.
msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
msvcrt/tests: Test adding Unicode env variables.
msvcrt: Use msvcrt heap for allocating envionment data.
msvcrt: Fix getmainargs() family to return correct environment block.
taskmgr: No longer use console/file output APIs.
wordpad: Remove unneeded output messages.
mshta: No longer use console / crt API.
winebrowser: Remove misleading comment.
Esme Povirk (1):
user32/tests: Improve timer measurement method.
Fabian Maurer (2):
winegstreamer: Implement IWMResamplerProps.
msvcrt: Fsetpos resets EOF flag.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (24):
mshtml: Keep ref from the document node to the inner window.
mshtml: Properly traverse document nodes.
mshtml/tests: Test parent window links after navigation.
mshtml: Keep ref from the ImageElementFactory to the inner window.
mshtml: Keep ref from the OptionElementFactory to the inner window.
mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
mshtml: Keep ref from the OmHistory to the inner window.
mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
mshtml: Keep ref from the associated Style to the Element.
mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
mshtml: Fix window leak on error in async_stop_request.
jscript: Fix EnumVARIANT leak in enumerators.
jscript: Fix value leak in Array.shift.
jscript: Fix array leak in Array.filter.
jscript: Don't addref before calling jsdisp_propput_name.
jscript: Fix value arg leak in transform_json_object.
jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
jscript/tests: Fix Date object leak in test_default_value.
mshtml/tests: Fix BindInfo leak in htmldoc test.
mshtml: Return outer window to external callers.
mshtml: Don't NULL out the doc's window when unlinking the window.
Hans Leidekker (4):
gdi32/tests: Skip broken Noto Color Emoji font in character width test.
win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
ntdll: Bump current build number to 19043 (Win10 2009).
advapi32/tests: Get rid of an unreliable eventlog test.
Jacek Caban (14):
configure: Disable -Wmicrosoft-enum-forward-reference warnings.
msctf: Avoid implicit enum casts.
qmgr: Avoid implicit enum casts.
shcore: Avoid implicit enum casts.
webservices: Store xmlbuf encoding as unsigned int.
gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
gdiplus: Avoid implicit enum casts.
d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
d3d8: Use designated initializers in tss_lookup.
ddraw: Use designated initializers in tss_lookup.
kernel32/tests: Remove unused variable.
msvcrt/tests: Don't define structs types inside other struct declaration.
msvcp60: Use char type for FROZEN macro.
Louis Lenders (2):
uxtheme: Add stub for SetPreferredAppMode.
uxtheme: Add stub for AllowDarkModeForWindow.
Nikolay Sivov (6):
include: Correct ID3D10EffectPool interface uuid.
shell32: Fix string size condition check (Coverity).
mf/samplegrabber: Release current media type on shutdown.
mf/samplegrabber: Check shutdown state when setting the clock.
mf/samplegrabber: Reset the clock before OnShutdown().
mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
Owen Rudge (1):
comdlg32: Perform case-insensitive comparison of extension in file dialog.
Paul Gofman (13):
mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
mfplat/tests: Add more tests for copying 2d buffers.
mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
mfplat/sample: Refactor sample_CopyToBuffer().
mfplat/sample: Optimize copying to 2d buffer.
ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
kernelbase: Don't inherit all the handles in conhost.exe.
user32: Return empty string from LoadStringW() if resource is not found.
user32: Put 0 to output string even for 1 char buffer in LoadStringW().
kernelbase: Return empty string from LoadStringW() if resource is not found.
kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
winmm: Fix pszSound allocation in PlaySound_Alloc().
Rémi Bernon (24):
dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
dmime/tests: Add a track and longer segment to notifications tests.
dmime: Use the current time if PlaySegmentEx start_time is 0.
dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
dmime/tests: Check more notification / dirty messages fields.
dmime: Fix performance message requeue-ing from the message thread.
dmband: Support start_time and end_time Play parameters.
dmime: Support start_time and end_time Play parameters.
dmime: Implement segment state chunked playback.
dmime: Send notification messages from segment_play_chunk.
dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
dmime/tests: Test tempo track GetParam with GUID_TempoParam.
dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
dmime/tests: Add helpers to scale and check music time with tempo.
dmime/tests: Test playing tempo track effect on performance times.
dmime: Support playing secondary and control segments.
dmime: Better implement performance times with tempo track.
dmime: Rename struct pchannel_block to struct channel_block.
dmime: Use a dedicated struct channel to hold performance channels.
dmime: Introduce a new performance_get_channel helper.
dmime: Simplify and rename channel_block_set to channel_block_init.
dmime: Avoid leaking performance channel block ports.
Santino Mazza (1):
mf: Handle errors with source event generator in session.
Shaun Ren (2):
msttsengine: Add stub dll.
msttsengine: Add ISpTTSEngine stub.
Sven Baars (1):
advapi32/tests: Fix a typo (Coverity).
Tim Clem (1):
msvcrt: Promote the log from _wassert from a trace to an error.
Victor Chiletto (1):
msvcrt, ucrtbase: Introduce rewind_preserve_stack.
Yuxuan Shui (2):
include: Add InterlockedExchangeAdd16.
ntdll: Tweak the binary representation of SRWLOCK.
Zebediah Figura (28):
ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
server: Only set sock->event when the event is first noticed.
d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d10core/tests: Use slightly different values in test_sample_c_lz().
d3d11/tests: Use slightly different values in test_sample_c_lz().
wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
wined3d: Pass shader type and unmodified index to context_preload_texture().
d3d8: Store the texture's parent device as a d3d8_device pointer.
wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
wined3d/glsl: Clamp ftou lower bound to zero.
wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
wined3d/glsl: Flush NaN to zero in ftoi.
gitlab: Enable d3d10core:d3d10core and d3d8:visual.
mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
d3d9/tests: Test that GetDC() records a dirty rect.
wined3d: Record a dirty rect in wined3d_texture_create_dc().
wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
wined3d: Do not use atomics to update the resource bind count.
Zhiyi Zhang (6):
user32/tests: Add more parameter checks for SetWindowsHookExA().
win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
ddraw/tests: Test WS_EX_TOPMOST restoration.
ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
uxtheme: Fix a test failure.
Ziqing Hui (10):
winegstreamer: Use NTSTATUS value in wg_muxer_create.
winegstreamer: Introduce link_src_to_sink.
winegstreamer: Use gst_element_get_compatible_pad.
winegstreamer: Introduce find_element_factories.
winegstreamer: Introduce factory_create_element.
winegstreamer: Implement wg_muxer_add_stream.
winegstreamer: Create parser for muxer stream.
winegstreamer: Implement wg_muxer_start.
winegstreamer: Implement ProcessSample for media sink.
winegstreamer: Implement wg_muxer_push_sample.
1
0
The Wine development release 8.19 is now available.
What's new in this release:
- Mono engine updated to version 8.1.0.
- More DirectMusic implementation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.19.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 8.19 (total 44):
- #8174 Ares P2P 2.x embedded media player fails to play .mpg files
- #9027 No sound for rise of nations - all versions
- #23489 Buccaneer: quits silently when entering the Tavern
- #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
- #32896 Serious Sam: The Random Encounter has no sound
- #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
- #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
- #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
- #45135 Black Rockman Shooter has no sound
- #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
- #45893 Midtown Madness: Extremely Slow with csmt on
- #47767 Airport Mania First Flight - Very long loading times and awful performance
- #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
- #49804 Multiple WPF 4.5+ .NET applications fail to run with Wine-Mono due to missing support of Ribbon control 'System.Windows.Controls.Ribbon' (OpenGL Extensions Viewer 6.1.2, CapFrameX v1.6.0)
- #52014 Memento Mori freezes on launch
- #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
- #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
- #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
- #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
- #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
- #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
- #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
- #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
- #55560 The 64-bit dbghelp:dbghelp times out in Wine
- #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
- #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
- #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
- #55650 dbghelp:dbghelp fails on macOS
- #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
- #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
- #55718 Word 2007 is not able to print multiple copies of a page
- #55720 msxml3:domdoc - test_domnode() fails in Wine
- #55722 dmime:dmime - test_band_track_play() fails on macOS
- #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
- #55744 psapi:psapi_main fails in Wine
- #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
- #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
- #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
- #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
- #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
- #55790 Unreal II The Awakening: general protection fault when loading a level
- #55792 Tron 2.0 crashes before the menu appears
- #55808 Catalan translation inserted twice in wine.desktop
- #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
----------------------------------------------------------------
Changes since 8.18:
Akihiro Sagawa (1):
cmd: Reset totals after trailer output.
Alex Henrie (13):
evr: Use debugstr_fourcc instead of debugstr_an.
iccvid: Use debugstr_fourcc instead of debugstr_an.
d3d10: Use debugstr_fourcc instead of debugstr_an.
dwrite: Use the debugstr_fourcc function instead of reimplementing it.
d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
loader: Associate Wine with batch files.
winemenubuilder: Disallow desktop integration for batch files.
loader: Translate wine.desktop to Catalan.
loader: Add separating dash to Spanish translation of wine.desktop.
win32u: Use debugstr_fourcc instead of debugstr_an.
wined3d: Use debugstr_fourcc instead of debugstr_an.
commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Alexandre Julliard (20):
makefiles: Always use the global SOURCES variable for .man.in files.
makefiles: Always use the global SOURCES variable for .svg files.
makefiles: Always use the global SOURCES variable for .l files.
makefiles: Always use the global SOURCES variable for .y files.
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
ntdll: Move RtlUserThreadStart implementation to the CPU backends.
ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
ntdll: Also send segment registers to the server on suspend.
zydis: Disable assertions.
dbghelp: Fix a compiler warning on ARM64.
Revert "loader: Translate wine.desktop to Catalan".
ntdll: Simplify platform checks for exception handling functions.
msvcrt: Simplify platform checks for exception handling functions.
msvcrt: Export more exception handling functions on ARM platforms.
kernel32: Export the Ums functions on ARM64.
kernelbase: Export the extended context functions on all platforms.
ntdll: Export RtlCopyMemory on ARM platforms.
vcruntime140_1: Only build for x86-64.
winebuild: Always use .balign for alignment.
shlwapi: Remove unneeded UNALIGNED attributes.
Alexandros Frantzis (2):
winewayland.drv: Ensure outputs can access xdg information robustly.
winewayland.drv: Ensure the logical output dimensions have sane values.
Alistair Leslie-Hughes (4):
msxml: Always increase error count when detected.
msxml3: Don't call qsort if we have no data (Coverity).
msxml3: Move tid_NULL out of possible enum values.
msxml3: Do not leak bind context on error paths (Coverity).
Arkadiusz Hiler (1):
winex11.drv: Send missed KEYUP events on KeymapNotify.
Bartosz Kosiorek (4):
gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
gdiplus: Improve performance of units_to_pixels by not using division.
gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
Brendan Shanks (9):
configure: Only build Wayland if linux/input.h is present.
winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
ctapi32: Ensure unixlib function tables and enum stay in sync.
dnsapi: Ensure unixlib function tables and enum stay in sync.
wpcap: Ensure unixlib function tables and enum stay in sync.
winscard: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Disable declaration-after-statement warnings in ObjC files.
winemac.drv: Fix minimizing windows when Stage Manager is enabled.
Connor McAdams (15):
uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
uiautomationcore: Implement IUIAutomationElement::get_CachedName.
uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
uiautomationcore: Remove accidentally leftover FIXME.
uiautomationcore: Only print FIXME messages for missing default clientside providers once.
uiautomationcore/tests: Fix test failure on Win10v1709.
uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Daniel Lehman (1):
advapi32/tests: Add ReadEventLogW tests for direction.
Dmitry Timoshkov (4):
crypt32: Avoid truncating unicode chars.
crypt32/tests: Add some tests for quoted RDN values.
crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
Eric Pouech (9):
wbemprox: Use correct string id.
dsound: Forward error code when device cannot be found.
quartz: Return correct error when no audio devices are present.
mmdevapi: Don't fail when no audio backends are present.
dbghelp: Rename internal field (system -> host).
dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
dbghelp: Set the machine type for mach-O modules.
dbghelp: Simplified module_find_by_addr().
dbghelp: Remove unneeded parameter to pe_map_file.
Esme Povirk (2):
user32/tests: Reduce size demand in test_hvredraw.
mscoree: Update Wine Mono to 8.1.0.
Fabian Maurer (2):
mf/tests: Increase buffer to prevent stack corruption.
ntdll: Add WinSqmSetIfMaxDWORD stub.
Gabriel Ivăncescu (4):
jscript: Fix Array.map when last element doesn't exist.
jscript: Fix Array.reduce when last element doesn't exist.
mshtml: Set outer window to uninitialized page when document obj is released.
mshtml: Return proper errors when navigating with no browser.
Gerald Pfeifer (1):
readme: Update FreeBSD information.
Hans Leidekker (3):
kernelbase: Trace global memory counters in decimal.
advapi32/tests: Get rid of workarounds for old Windows versions.
advapi32/tests: Skip WoW64 registry tests on 32-bit.
Helix Graziani (1):
uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Jacek Caban (9):
dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
wined3d: Use return type to return result from read_dword.
wined3d: Remove unused parallel_point_count variable.
wined3d: Use unsigned type for res_type bit field.
Jeff Smith (4):
gdiplus/tests: Add tests related to setting the page tranform.
gdiplus: Implement GdipResetPageTransform.
gdiplus: Fix a GdipSetPageScale return status.
gdiplus: Fix GdipSetPageUnit parameter validation.
Jinoh Kang (1):
ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
Louis Lenders (1):
uxtheme: Add ShouldAppsUseDarkMode.
Matteo Bruni (5):
wined3d: Fix handling of system-memory GL vertex buffers.
wined3d: Handle NULL push constant buffers with the ARB shader backend.
wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
wined3d: Implement shadow sampling for the ARB shader backend.
wined3d: Don't skip setting clip planes if the view transform state is dirty.
Mohamad Al-Jaf (16):
windows.media.mediacontrol/tests: Remove flakey ref count test.
include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
include: Add IMusicDisplayProperties interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
include: Add IMusicDisplayProperties2 interface definition.
windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Nikolay Sivov (7):
mfmediaengine/tests: Use a single helper to create engine instances.
include: Add IMFMediaEngineAudioEndpointId definition.
mfmediaengine: Keep engine extension pointer.
mfmediaengine: Use extension object in CanPlayType().
maintainers: Add EVR to the Media Foundation section.
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
d3d10_1/tests: Add some more tests for fx_4_1 blend states.
Paul Gofman (8):
ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
ntdll: Use .seh handler in call_handler() on x64.
ntdll/tests: Add test for collided unwind.
ntdll: Use .seh handler in call_unwind_handler() on x64.
winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
Piotr Caban (1):
gdi32: Fix leak in GdiDeleteSpoolFileHandle.
Rémi Bernon (56):
include: Fix debugstr_fourcc printf format to print at most 4 chars.
dmime: Rewrite message thread with a condition variable.
dmusic: Set synth sink master clock when creating port.
dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
dmusic: Forward IDirectMusicPort_Activate to synth and sink.
dmime: Use port latency time for messages with -1 time.
dmime: Update performance latency time with port latency.
dmime: Use latency time to decide when to process messages.
dmsynth: Create a render thread on sink activation.
dmsynth: Implement sink rendering to DirectSound buffer.
dmsynth: Correctly lookup instrument from the default drum bank.
dmsynth: Avoid using fluid_ prefix for internal helpers.
dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
dmsynth: Fix FluidSynth generators for direct connections.
dmsynth: Convert modulator values from DLS2 to SF2 convention.
dmsynth: Set default modulators according to the DLS2 spec.
dmband: Download segment tracks if performance auto-download is set.
dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
dmime: Don't interrupt track iteration if SetParam failed.
dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
dmusic: Use a dmusic_midi.h header for MIDI messages.
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
dmime: Remove FIXME from methods now mostly implemented.
dmime: Avoid crashing when purging notification messages.
dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
dmusic: Implement IDirectMusicObject interface on wave objects.
dmusic: Use the IDirectMusicObject interface for waves.
dswave: Use the dmusic wave object implementation.
dmime: Avoid releasing the newly created graph twice.
dmime/tests: Remove flaky track playing state test.
dmime/tests: Avoid checking message segment state reference count.
dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
dmsynth: Set loop and sample generators on the fluid_voice.
dmime: Force recompute MIDI message reference time.
dmband: Skip band / band track chunk on parsing failure.
dmime: Skip sequence track chunk on parsing failure.
dmime: Skip segment chunk on parsing failure (or success).
dmime: Ignore badly formed wave if format and data have been found.
dmime: Remove shadowing local hr variable.
dmusic: Ignore some known wave chunks.
gitlab: Run tests with LP_NUM_THREADS=4 env var.
mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
dmime: Pass IDirectMusicPerformance8 to segment state functions.
dmime: Pass PlaySegmentEx start time as track time offset.
dmband: Use time_offset to align track start with music time.
dmime: Use time_offset to align track start with music time.
dmime: Use an internal performance message for segment end.
dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
dmstyle: Rewrite style part list parsing.
dmstyle: Rewrite style pref chunk parsing.
dmstyle: Rename style_motif to style_pattern.
dmstyle: Rewrite style pttn list parsing.
Sven Baars (2):
wined3d: Don't override the default renderer in wined3d_dll_init().
nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
Yuxuan Shui (1):
mfmediaengine: Don't send event notify when engine is shutdown.
Zebediah Figura (18):
advapi32: GetNamedSecurityInfo() takes a const name argument.
advapi32/tests: Use StringFromGUID2().
advapi32: Fix rewinding the last path segment in SetSecurityInfo().
advapi32/tests: Add more tests for GetSecurityInfo().
advapi32: Respect object type in GetSecurityInfo().
advapi32: Respect object type in SetSecurityInfo().
user32/tests: Add basic tests for GetUserObjectSecurity().
advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
wined3d: Rename buffer dirty ranges fields.
wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
include: Convert d3d10shader.h to an IDL.
include: Convert d3d10effect.h to an IDL.
ntdll: Do not reject data directories at the end of a file.
ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
1
0
The Wine development release 8.18 is now available.
What's new in this release:
- Bundled FluidSynth library for DirectMusic.
- More window management in the Wayland driver.
- More effect support in Direct3D 10.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.18.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 8.18 (total 44):
- #32574 Patrician 4 fails to start (Error in 'App::Initialize')
- #41645 Unreal Tournament 2004 crashes
- #43017 Unreal Tournament 2004/UT2004.exe crashes due to "intel_do_flush_locked failed: Cannot allocate memory"
- #43185 "Battle Bugs" game in unresponsive once game starts
- #44275 Shadow of Memories demo hangs at graphic setting screen
- #44276 Poor resolution change handling with Shadow of Memories demo
- #48905 Inner Chains Launches to Black Screen With Mouse Cursor
- #52641 Feeding Frenzy 2 crashes while loading
- #53276 comctl32:edit & user32:edit - test_paste() sometimes fails to access the clipboard on Windows
- #54069 ddraw:ddraw7 - test_texture_wrong_caps() sometimes fails on Windows 8+
- #54156 comctl32:edit & user32:edit - test_paste() sometimes gets an empty string on Windows
- #54420 preloader warning "failed to reserve range" macOS Ventura
- #54430 user32:menu - test_menu_input()'s test 0 sometimes fails on Windows 7
- #54441 windows.media.speech:speech - test_Recognition() sometimes gets unexpected recognizer state on Windows 10
- #54699 Motorola Ready For Assistant does not start, RoOriginateLanguageException in Windows.Networking
- #54744 explorerframe:taskbarlist - test_ITaskbarList() sometimes gets E_NOTIMPL on Windows
- #54783 cryptowinrt:crypto - test_Credentials_Statics() sometimes gets unexpectedly high refcount in Wine
- #54791 explorerframe:nstc - test_events() sometimes gets unexpected events on Windows 7
- #55108 xaudio2_8:xaudio2 fails on Windows 10+
- #55211 Print file not truncated before new print job is started with same target file
- #55236 scrrun:dictionary - The 64-bit test_hash_value() gets bad hashes on Windows
- #55241 The 64-bit winmm:capture & winmm:wave crash on Windows 8
- #55245 ntdll:om - The 32-bit test_all_kernel_objects() gets an access violation on the w8 VM
- #55272 The 64-bit ntdll:exception crashes on Windows 10 1607 & 1709
- #55273 ntdll:wow64 - The 64-bit test_cpu_area() gets bad offsets on Windows 10 1607 & 1709
- #55528 Vitis 2020.1 can't find its libraries (cmd.exe bug with nested one-line if statement that sets PATH)
- #55606 Finale 27 printing - incorrect linecap
- #55627 secur32:negotiate & secur32:ntlm crash from a NULL dereference on macOS
- #55631 ntdll:file - test_file_rename_information fails on Windows 10 1607 and older
- #55632 ntdll:file - test_file_link_information() fails on Windows 10 1709 and older
- #55634 Genshin Impact uses very long URLs
- #55648 ntdll:wow64 - test_peb_teb() crashes on macOS
- #55652 A FindResourceW() call prevents windows.applicationmodel:model from running on Windows 8
- #55656 user32:dialog - test_IsDialogMessage() fails in the hi-u8 and mx-MX locales on Windows
- #55658 msinfo32 fails to start on macOS / wow64 (was psapi:psapi_main - test_EnumProcessModules*() fails on macOS)
- #55670 Wordpad is no longer able to print multiple copies of a page
- #55674 64-bit wineserver/wine-preloader hangs on macOS 14.
- #55686 msvcr120:msvcr120 - test_StructuredTaskCollection() sometimes fails in Wine
- #55696 msvfw32:mciwnd - The 64-bit test_MCIWndCreate() crashes in Wine
- #55701 Sniper Elite 5 launcher opens Wine Internet Explorer instead of Options window
- #55708 cpython 3.12.0 fails to run on wine, needs unimplemented function propsys.dll.VariantToString
- #55713 mspaint.exe crashes with: Unhandled exception: unimplemented function propsys.dll.PropVariantToUInt32WithDefault
- #55732 kernel32:loader - The 64-bit test_import_resolution() fails in Wine
- #55733 ntdll:file - test_file_rename_information_ex() fails on Windows 10 1607 & 1709
----------------------------------------------------------------
Changes since 8.17:
Alex Henrie (14):
http: Use the strdup function instead of reimplementing it.
riched20: Use CRT allocation functions.
mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc.
winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc.
include: Introduce wine_dbgstr_fourcc and debugstr_fourcc.
comctl32: Use the debugstr_fourcc function instead of reimplementing it.
ddraw: Use the debugstr_fourcc function instead of reimplementing it.
mciavi32: Use the debugstr_fourcc function instead of reimplementing it.
mscms: Use the debugstr_fourcc function instead of reimplementing it.
msvfw32: Use the debugstr_fourcc function instead of reimplementing it.
cmd: Reset ignoreBracket when moving to the next line.
uninstaller: Don't overallocate in FetchFromRootKey.
msvcrt/tests: Check errno after strdup(NULL).
msvcrt/tests: Add tests for wcsdup.
Alexandre Julliard (34):
nls: Update character tables to Unicode 15.1.0.
mpg123: Import upstream release 1.32.2.
tiff: Import upstream release 4.6.0.
zlib: Import upstream release 1.3.
xml2: Import upstream release 2.11.5.
ldap: Import upstream release 2.5.16.
faudio: Import upstream release 23.10.
kernel32/tests: Add some dynamic base tests.
kernel32/tests: Delete the correct manifest file.
ntdll: Do an explicit mmap address search for any range not covering the entire address space.
ntdll: Add a helper to find a mapping address for a PE image.
ntdll: Always allocate dynamically relocatable dlls top-down.
ntdll: Fix relocation of the 32-bit ntdll.
ntdll: Move the module relocation support to virtual.c.
ntdll: Support relocating the main exe.
server: Set the dynamically relocated flag when relocations are present.
server: Assign a system-wide mapping address for dynamic base modules.
ntdll: Relocate dynamic base modules when mapping them.
winegcc: Enable dynamic base by default.
server: Remove some leftover code from a failed rebase.
ntdll: Only create the main module on the 32-bit side for wow64.
ntdll: Add a separate helper to build the main module on Wow64.
ws2_32: Make htonl/htons/ntohl/ntohs proper functions.
include: Stop pretending to support big-endian.
winebuild: Add a helper to output an asm function header.
ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers.
makefiles: Remove unnecessary imports of version.dll.
makefiles: Remove unnecessary imports of usp10.dll.
makefiles: Always use the global SOURCES variable for .mc files.
makefiles: Always use the global SOURCES variable for .po files.
makefiles: Always use the global SOURCES variable for .m files.
makefiles: Always use the global SOURCES variable for .sfd files.
makefiles: Always use the global SOURCES variable for .in files.
ntdll: Move LdrInitializeThunk to the CPU backends.
Alexandros Frantzis (7):
winewayland.drv: Respect the compositor requested surface config.
winewayland.drv: Handle xdg_toplevel tiled states.
winewayland.drv: Store and use the latest window config for a wayland_surface.
winewayland.drv: Handle application-initiated fullscreen state.
winewayland.drv: Use surface geometry to satisfy state size constraints.
winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
winewayland.drv: Avoid resizing fullscreen windows.
Alistair Leslie-Hughes (6):
d3dxof: Remove DECLSPEC_HIDDEN usage.
msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter.
wpcap: Return NULL on error in get_broadcast.
msado15: Move to newly created row in Recordset::AddNew.
msado15: Show fixme only if field_list needs to be used in Recordset::AddNew.
d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory().
Ally Sommers (1):
server: Move getpeername() implementation from ntdll/unix.
Arkadiusz Hiler (1):
xinput1_3: Hold module reference while the hid thread is running.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (7):
configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool.
winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool.
winemac.drv: Use ObjC literals.
wow64cpu: Use RTL_CONSTANT_STRING.
cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW.
winemac.drv: Fix redundant calls to [NSCursor set].
Connor McAdams (17):
uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
uiautomationcore/tests: Add tests for COM event handler event advisement.
uiautomationcore: Add support for passing WinEvents to the COM API.
uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
Daniel Lehman (5):
advapi32/tests: Add ReadEventLogW tests for EventLogStarted.
advapi32/tests: Add ReadEventLogA tests for EventlogStarted.
msxml4/tests: Copy namespaces as attributes tests.
msxml6/tests: Copy namespaces as attributes tests.
advapi32/tests: Skip ReadEventLog on failure to open System log.
Eric Pouech (6):
winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
msvfw32: Correctly store internal pointer.
dbghelp: Simplify allocation code.
dbghelp: Read debuggee environment by page.
winedbg: Set first LDT entry value as ntdll does.
winedbg: Correctly read LDT entries for wow64 debuggee.
Esme Povirk (1):
user32/tests: Print regions in test_hvredraw failure case.
Etaash Mathamsetty (1):
gdi32: Add stub for D3DKMTQueryAdapterInfo.
Fabian Maurer (1):
propsys: Implement PropVariantToUInt32WithDefault.
François Gouget (9):
winewayland.drv: Add a trailing linefeed to a TRACE() message.
dmsynth: Add a trailing linefeed to TRACE() messages.
nsiproxy.sys: Add a trailing linefeed to a TRACE() message.
secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
advapi32/tests: Better identify OpenEventLogA() failures.
advapi32/tests: Add the read_write info to the failures context.
advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails.
Gabriel Ivăncescu (11):
mshtml: Call handle_event on the proper dispex object.
mshtml: Remove unused IUnknown_iface in func_disp_t.
mshtml: Traverse EventTarget listeners.
mshtml: Implement SuperNavigate undocumented flag 2.
shdoclc: Add a basic generic html page for navigation errors.
ieframe: Implement IEHTMLWindow2_get_document.
ieframe: Navigate to a basic error page on failed navigation.
ieframe: Use the original URL for error pages' address bar.
ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
ieframe: Send the original URL for error pages in FireDocumentComplete notification.
ieframe: Implement DocObjectService_IsErrorUrl.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.267.
Hans Leidekker (2):
mmdevapi/tests: Don't initialize the audio client twice.
mmdevapi/tests: Relax a capture test.
Helix Graziani (3):
nsiproxy.sys: Implement ipv6_forward_enumerate_all.
winecfg: Change system theme alongside app theme.
uxtheme: Add ShouldSystemUseDarkMode.
Jactry Zeng (1):
user32: Add more builtin string resources.
Joel Holdsworth (7):
ntdll: Initial implementation of FileRenameInformationEx.
ntdll: Initial implementation of FileLinkInformationEx.
ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
Marcus Meissner (1):
user32/tests: Use correct size to LoadStringW.
Martin Storsjö (1):
configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
Matteo Bruni (1):
d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest().
Mohamad Al-Jaf (17):
windows.storage.applicationdata: Add stub DLL.
windows.storage.applicationdata: Add IApplicationDataStatics stub interface.
windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests.
windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
include: Add ISystemMediaTransportControls interface definition.
windows.media.mediacontrol: Add stub DLL.
include: Add systemmediatransportcontrolsinterop.idl file.
windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface.
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow().
windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests.
windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
include: Add windows.security.credentials.ui.idl file.
windows.security.credentials.ui.userconsentverifier: Add stub DLL.
windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface.
windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests.
Nikolay Sivov (25):
d3d10/effect: Add support for 'buge'/'bult' instructions.
d3d10/tests: Compact returned arrays checks.
d3d10/effect: Add support for 'ceil' instruction.
d3d10/effect: Add support for 'floor' instruction.
d3d10/effect: Add support for 'dot' instruction.
propsys: Partially implement VariantToString().
propsys: Handle VT_I4 type in VariantToString().
d3d10/effect: Add support for 'imul' instruction.
d3d10/tests: Use vector helpers in more places.
d3d10/effect: Add support for 'sqrt' instruction.
d3d10/effect: Add support for 'rsq' instruction.
d3d10/effect: Add support for 'log' instruction.
d3d10/effect: Add support for 'exp' instruction.
d3d10/effect: Add support for 'not' instruction.
d3d10/effect: Add support for 'or' instruction.
d3d10/effect: Add support for shift instructions.
d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
gdi32/emf: Fix miter limit serialization.
gdi32/tests: Add some tests for SetMiterLimit() argument validation.
gdi32: Reject invalid values in SetMiterLimit().
gdi32/emf: Add SetMetaRgn() recording.
winedump/emf: Add EMR_SETMITERLIMIT record dumping.
gdi32/emf: Add SetBrushOrgEx() recording.
gdi32/tests: Add some tests for FixBrushOrgEx().
d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Paul Gofman (5):
secur32: Synchronize access to schannel handle table.
server: Hold socket reference in sock_poll_event().
ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION.
imagehlp: Import functions instead of forwarding.
ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64).
Piotr Caban (16):
msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
gdi32: Pass default DEVMODE to winspool in CreateDC.
gdi32: Add partial support for creating EMREXTCREATEPEN records.
wineps: Add support for EMR_EXTCREATEPEN record playback.
localspl: Add ResetPrinter implementation.
winspool.drv: Add ResetPrinterW implementation.
gdi32: Update printer DEVMODE in ResetDCW.
gdi32: Fix METADC handling in PlayMetaFile.
gdi32: Test PlayMetaFile on METADC.
include: Add winppi.h header.
gdi32: Add GdiGetSpoolFileHandle stub.
gdi32: Add GdiDeleteSpoolFileHandle stub.
gdi32: Add GdiGetDevmodeForPage stub.
gdi32: Add GdiGetDevmodeForPage implementation.
wineps.drv: Use first page DEVMODE to determine number of copies and collation.
localspl: Truncate output file when printing to file.
Rémi Bernon (40):
dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
dmime: Implement some segment state default values.
dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
dmime: Introduce a new segment_state_create constructor.
dmime/tests: Tests interaction between CloseDown and notifications.
dmime: Keep messages with the same time ordered.
dmime: Free all pending messages after CloseDown.
dmime: Send DMUS_PMSGT_DIRTY messages from the performance.
dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
dmime: Implement IDirectMusicPerformance_GetNotificationPMsg.
dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state.
include: Avoid narrowing warning in wine_dbgstr_fourcc.
dmime/tests: Queue the message before calling SendPMsg twice.
dmsynth: Import and use FluidSynth 2.3.3.
fluidsynth: Use Wine debugging facility for traces.
dmsynth: Simplify IDirectMusicSynth8_Open checks.
dmsynth: Create a fluid_synth instance on Open.
dmsynth: Create and register a fluid_sfont instance.
server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
dmime: Get rid of the IDirectMusicWaveTrack typedef.
dmime: Include dmobject.h in dmime_private.h.
dmusic: Split wave entry points to dmusic_wave.h.
dmime: Create a wave track when loading a segment from a .wav.
dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
dmime: Implement IDirectMusicTrack_Play for the wave track.
dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
dmsynth: Fix synth download of articulations list.
dmsynth: Improve debug traces of DLS2 connections.
dmsynth: Guard synth members with a CS.
dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer.
dmsynth: Play some MIDI events in IDirectMusicSynth_Render.
dmsynth: Create fluid_preset and fluid_voice from instrument.
dmband: Download / unload bands when initializing / ending band track.
dmime: Implement sequence track IDirectMusicTrack_Play.
dmime: Implement band track IDirectMusicTrack_Play.
dmime: Output DMUS_MIDI_PMSG into a music buffer on the port.
dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages.
dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
winex11: Forcefully unmap the clipping window when it loses focus.
Stefan Dösinger (1):
wined3d: Reference the push constant buffers.
Zebediah Figura (15):
objsel: Remove unnecessary includes.
objsel: Remove DLL refcount tracking.
objsel: Merge factory.c into objsel.c.
objsel: Do not check for a NULL interface in COM methods.
objsel: Do not create an object from IClassFactory::QueryInterface().
wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES.
wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures".
wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures".
wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages".
wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags.
wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
shell32: Fix parsing empty arguments in parse_dde_command().
ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
ddraw: Refactor how bind flags are computed.
ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible.
Zhiyi Zhang (2):
mf: Avoid a double free of presentation clock timers.
winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.
1
0
The Wine development release 8.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.9.
- Initial window management in the Wayland driver.
- SoundFont support in DirectMusic.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.17.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 8.17 (total 19):
- #34789 MeGUI: Wrong icon for file chooser
- #38823 Sumatra PDF 3.0: tabs don't work correctly
- #43137 The Elder Scrolls: Oblivion crashes after opening logo screens.
- #46483 Cemu 1.12.0 crashes on unimplemented function msvcp140.dll.?_Throw_C_error(a)std@@YAXH(a)Z
- #48969 RageMP crashes on unimplemented function msvcp140.dll.?_Throw_future_error(a)std@@YAXAEBVerror_code(a)1@@Z
- #51327 GdipCreateFont initializes font with ANSI_CHARSET
- #54588 iphlpapi:iphlpapi - test_GetExtendedTcpTable() sometimes fails because the buffer is too small in Wine
- #55001 ToneX by IK Multimedia needs unimplemented function msvcp140.dll.?_Throw_C_error(a)std@@YAXH(a)Z
- #55184 Dwarf Fortress (Steam) crashes on unimplemented function msvcp140_atomic_wait.dll.__std_acquire_shared_mutex_for_instance
- #55240 The 64-bit winmm:capture & winmm:wave get BADDEVICEID on Windows 10+
- #55486 Finale 27 printing mangled
- #55522 SoftEther VPN Server Manager
- #55529 Text in SRPG Studio games ends with a tofu/missing character glyph.
- #55587 quartz:vmr9 - test_changed3ddevice() crashes on Windows 8+
- #55592 Separable Subsurface Scattering needs 'mov' opcode support for fx_4_0 effect
- #55599 Metatrader 4 - not possible to add any indicator to a chart
- #55614 ReCore crashes on unimplemented function msvcp110.dll.?_Winerror_map(a)std@@YAPEBDH(a)Z
- #55635 mfreadwrite:mfplat - test_interfaces() crashes on Windows 7 & 8
- #55651 d3d10:effect - test_effect_fx_4_1_blend_state() fails on Windows 7+
----------------------------------------------------------------
Changes since 8.16:
Akihiro Sagawa (3):
cmd/tests: Add dir built-in command test.
cmd/tests: Test file time stamp format.
cmd: Always outputs leading zeros when listing file time information.
Alex Henrie (24):
include: Move RTL functions that belong in winnt.h from winternl.h to winnt.h.
oleaut32: Use CRT allocation functions in connpt.c.
oleaut32: Use CRT allocation functions in hash.c.
oleaut32: Use CRT allocation functions in olepicture.c.
oleaut32: Use CRT allocation functions in typelib.c.
advpack: Use CRT allocation functions.
gameux: Use CRT allocation functions.
mciwave: Use CRT allocation functions.
msvfw32: Use CRT allocation functions.
ncrypt: Use the wcsdup function instead of reimplementing it.
shell32: Use the wcsdup function instead of reimplementing it.
wshom: Use the wcsdup function instead of reimplementing it.
dsound: Use malloc and free instead of _recalloc.
conhost: Use the wcsdup function instead of reimplementing it.
dxdiag: Use CRT allocation functions.
reg: Use the wcsdup function instead of reimplementing it.
regedit: Use the wcsdup function instead or reimplementing it.
sc: Use CRT allocation functions.
wordpad: Use the wcsdup function instead of reimplementing it.
avifil32: Use CRT allocation functions.
wpcap: Use the strdup function instead of reimplementing it.
include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h.
include: Correct conflicting definition of PSID.
include: Correct conflicting definition of PSECURITY_DESCRIPTOR.
Alexandre Julliard (26):
winebuild: Add a separate helper for .seh annotations.
winebuild: Remove unnecessary .cfi_startproc/endproc annotations.
winebuild: Add a few more SEH annotations.
winebuild: Make the syscall thunks position-independent on ARM64.
oleaut32: Add SEH annotations to ARM64 assembly code.
rpcrt4: Add SEH annotations to ARM64 assembly code.
vcomp: Add SEH annotations to ARM64 assembly code.
ntdll: Remove unneeded SEH annotations in Unix code.
kernel32/tests: Comment out one more test that can crash on Windows.
kernel32/tests: Don't make assumptions about argv[0] of the main process.
kernel32/tests: Unaligned SRW locks crash on ARM platforms.
kernel32/tests: Update dll characteristics to make the module loadable on ARM64.
vkd3d: Import upstream release 1.9.
server: Don't zero out the PE optional header regardless of specified size.
winedump: Don't zero out the PE optional header regardless of specified size.
ntdll: Consistently use the IMAGE_FIRST_SECTION helper macro.
dbghelp: Consistently use the IMAGE_FIRST_SECTION helper macro.
imagehlp: Use the IMAGE_FIRST_SECTION helper macro.
krnl386: Use the IMAGE_FIRST_SECTION helper macro.
widl: Use the IMAGE_FIRST_SECTION helper macro.
kernel32/tests: Fix loader tests on Windows ARM64.
winebuild: Set ASLR-related dll flags by default.
server: Require ASLR support on non-x86 platforms.
ntdll: Release the low address space reservation for 64-bit apps.
ntdll: Don't release the low address space reservation on wow64.
ntdll: Don't free reserved memory on 64-bit macOS.
Alexandros Frantzis (7):
winewayland.drv: Remove wayland_surface destruction double locking.
winewayland.drv: Handle xdg_toplevel close event.
winewayland.drv: Handle xdg_toplevel configure event size hint.
winewayland.drv: Handle xdg_toplevel maximized state.
winewayland.drv: Handle client-initiated user-driven window move.
winewayland.drv: Handle client-initiated user-driven window resize.
winewayland.drv: Fix removal of wl_seat globals.
Alistair Leslie-Hughes (9):
mfreadwrite/reader: Update to IMFSourceReaderEx.
d3drm: Correctly query for the returned interface.
msado15: Recordset::Open - Correctly update count/index values.
mfreadwrite/tests: Move test_interfaces after test_factory.
msado15: _Recordset::Filter set index on value.
d3dx9: Trace pointer value in D3DXValidMesh().
msado15: Implement _Recordset::get_ActiveConnection.
msado15: _Recordset::Open store active connection parameter.
msado15: Update editMode in AddNew/Cancel/Update functions.
Ally Sommers (2):
server: Return WSAEOPNOTSUPP on listen() if the socket's type is SOCK_DGRAM.
ws2_32/tests: Add more tests for SO_REUSEADDR.
Andrew Brobston (1):
d2d1: Support GUID_WICPixelFormat32bppRGB.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests of InterpolationMode Bilinear for GdipDrawImagePointsRect.
Biswapriyo Nath (19):
include: Add ID3D12VideoDecoder in d3d12video.idl.
include: Add ID3D12VideoDevice in d3d12video.idl.
include: Add ID3D12VideoDecoderHeap in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList in d3d12video.idl.
include: Add video decode profile guids in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT in d3d12video.idl.
include: Add ID3D12VideoDevice1 in d3d12video.idl.
include: Add ID3D12VideoExtensionCommand in d3d12video.idl.
include: Add ID3D12VideoDevice2 in d3d12video.idl.
include: Add ID3D12VideoEncoder in d3d12video.idl.
include: Add ID3D12VideoEncoderHeap in d3d12video.idl.
include: Add ID3D12VideoDevice3 in d3d12video.idl.
include: Add ID3D12VideoMotionEstimator in d3d12video.idl.
include: Add ID3D12VideoMotionVectorHeap in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList2 in d3d12video.idl.
include: Add some structures in d3d12video.idl.
Brendan Shanks (3):
winecoreaudio: Stop using the deprecated kAudioObjectPropertyElementMaster constant.
winecoreaudio: Use os_unfair_lock when available instead of OSSpinLock.
msv1_0: Implement ntlm_fork() using posix_spawn().
Connor McAdams (21):
uiautomationcore: Add UiaHasServerSideProvider stub.
uiautomationcore: Add a common helper function for creating HUIANODEs.
uiautomationcore: Implement UiaHasServerSideProvider.
include: Add missing WinEvent definitions.
uiautomationcore/tests: Add method expect definitions for all Accessible test interfaces.
uiautomationcore/tests: Add support for debug printing Accessible method calls.
uiautomationcore/tests: Add support for debug printing Provider method calls.
uiautomationcore: Add stub IRawElementProviderFragmentRoot implementation for MSAA providers.
uiautomationcore: Add a common helper function for querying IServiceProvider on IAccessible interfaces.
uiautomationcore: Implement IRawElementProviderFragment::get_FragmentRoot for MSAA providers.
uiautomationcore: Don't return oleacc proxy IAccessibles from GetIAccessible for MSAA providers.
uiautomationcore/tests: Increase wait timeout for cross-process event with navigation.
uiautomationcore: Pass through failure HRESULTS on MSAA accState based property IDs for MSAA providers.
uiautomationcore: Implement IRawElementProviderFragmentRoot::GetFocus for MSAA providers.
uiautomationcore: Add stub IProxyProviderWinEventHandler implementation for MSAA providers.
uiautomationcore: Handle EVENT_SYSTEM_ALERT in IProxyProviderWinEventHandler::RespondToWinEvent() for MSAA providers.
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
uiautomationcore: Add WinEvent hook on the UIA event thread.
uiautomationcore: Track HWNDs that need WinEvent translation.
uiautomationcore: Make sure event thread is started when listening for WinEvents.
Eric Pouech (3):
dbghelp: Check that dwarf unwinder did actually unwind.
ntdll: Allow empty application nodes in actctx.
winedump: Improve dumping DEBUG directory entries in PE images.
Esme Povirk (4):
user32/tests: Account for some messages from dual-monitor setups.
user32/tests: Fix WM_WINDOWPOSCHANGED entries.
user32/tests: Use a child window for test_PeekMessage3.
user32/tests: Use open_clipboard helper in msg tests.
François Gouget (1):
tests: Update the documentation.
Gabriel Ivăncescu (22):
mshtml: Move some Element methods around.
mshtml: Move some AnchorElement methods up.
mshtml: Move some AreaElement methods up.
mshtml: Move some FormElement methods up.
mshtml: Move some FrameElement methods down.
mshtml: Move some IFrame methods down.
mshtml: Move some ObjectElement methods up.
mshtml: Move some SelectElement methods up.
mshtml: Move node vtbl QI methods around.
mshtml: Move node vtbl destructor methods down.
mshtml: Get rid of useless element destructors.
mshtml: Use specific dispex vtbls for remaining HTML elements.
mshtml: Use specific dispex for each SVG element.
mshtml: Use the dispex's query_interface for DocumentType nodes.
mshtml: Use the dispex's query_interface for Document nodes and fragments.
mshtml: Use the dispex's query_interface for DOMTextNodes.
mshtml: Use the dispex's query_interface for the remaining nodes.
mshtml: Use the dispex's destructor for all nodes.
mshtml: Use the dispex's get_dispid for all nodes.
mshtml: Use the dispex's get_name for all nodes.
mshtml: Use the dispex's invoke for all nodes.
mshtml: Use the event_target vtbl's handle_event for all nodes.
Hans Leidekker (6):
winmm/tests: Avoid truncating the handle passed to waveInGetDevCapsW().
wbemprox: Get Win32_OperatingSystem.BuildType from the registry.
wbemprox: Fix Win32_OperatingSystem.TotalVirtual/VisibleMemorySize.
wbemprox: Implement Win32_OperatingSystem.InstallDate.
systeminfo: Add an implementation on top of WMI.
secur32: Only return success from initialize_package() when initialization fully succeeds.
Henri Verbeet (2):
wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
Huw D. M. Davies (1):
gdiplus: Copy the compound array in GdipClonePen().
Jacek Caban (4):
mshtml: Remove unused functions.
include: Support ARM64EC target in intrin.h.
include: Move __getReg intrinsic to intrin.h.
include: Support ARM64EC target in winnt.h.
Jactry Zeng (5):
msi: Use CreateFileW() for handling path from cabinet_open() instead.
cabinet/tests: Initialize CURR_DIR globally.
msxml3: Store ValidateOnParse property in domdoc_properties instead.
msxml3: Add ValidateOnParse support for IXMLDOMDocument3_{get,set}Property().
msxml3/tests: Add tests of ValidateOnParse property.
Jeff Smith (2):
gdiplus/tests: Test GdipCreateFont character set initialization.
gdiplus: Fix GdipCreateFont character set initialization.
Jinoh Kang (1):
wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
Joel Holdsworth (6):
include: Add flags to FILE_RENAME_INFORMATION used by FileRenameInformationEx.
ntdll/tests: Test both FileRenameInformation and FileRenameInformationEx in test_file_rename_information.
include: Add flags to FILE_LINK_INFORMATION used by FileLinkInformationEx.
ntdll/tests: Test both FileLinkInformation and FileLinkInformationEx in test_file_link_information.
ntdll/tests: Skip FileRenameInformationEx tests on older Windows versions.
ntdll/tests: Skip FileLinkInformationEx tests on older Windows versions.
Martin Storsjö (2):
include: Update the d3d12 headers from vkd3d.
include: Update the d3d12 header from vkd3d.
Mohamad Al-Jaf (7):
windows.applicationmodel: Add IPackageStatics stub interface.
windows.applicationmodel: Implement IPackageStatics::get_Current().
windows.applicationmodel: Implement IPackage::get_InstalledLocation().
windows.applicationmodel: Add IStorageItem stub interface.
windows.applicationmodel/tests: Add IStorageItem::get_Path() tests.
windows.applicationmodel: Implement IStorageItem::get_Path().
windows.applicationmodel/tests: Use PathRemoveFileSpecW() instead of PathCchRemoveFileSpec().
Nikolay Sivov (6):
d3d10/effect: Implement 'mov' opcode for expressions.
d3d10/effect: Implement instructions used for signed integer division.
d3d10/effect: Add signed integer compare instructions for expressions.
d3d10/tests: Add some tests for D3D10.1 blend state in effects.
d3dcompiler: Add support for matrix majority compiler flags.
d3d10/tests: Test for correct return value.
Paul Gofman (7):
mf/tests: Add tests for AAC decoder with different input number of channels.
winegstreamer: Handle missing or zero channel count in _GetOutputAvailableType in AAC decoder.
winegstreamer: Correct output available types attrs in AAC decoder for channel count > 2.
winegstreamer: Validate maximum channel count in _SetInputType in AAC decoder.
winegstreamer: Also return output with 2 channels for multichannel inputs from AAC decoder.
shell32: Avoid stack corruption with long name in SHELL_TryAppPathW().
shell32: Handle long command line in execute_from_key().
Piotr Caban (7):
msvcp110: Add _Winerror_map implementation.
msvcr110: Simplify _StructuredTaskCollection finished task counter updating.
msvcr110: Use Context blocking functions in _StructuredTaskCollection class.
msvcp140_atomic_wait: Add __std_acquire_shared_mutex_for_instance implementation.
wineps.drv: Remove unused hmtx_tab field from TYPE42 structure.
wineps.drv: Don't crash if specified font is missing required table in T42_download_header.
msvcp90: Silence FIXME in _Locinfo::_Locinfo_ctor and _Locinfo::_Locinfo_Addcats functions.
Rémi Bernon (74):
dmusic: Avoid swallowing collection Load failures.
dmusic: Rewrite downloading instrument to port.
dmusic: Parse collection wave table.
dmusic: Parse collection wave lists.
dmusic: Keep an internal ref on the instrument's collection.
dmusic: Implement downloading wave to port.
dmusic: Parse instrument regions articulation lists.
dmusic: Implement instrument articulation downloads.
dmime/tests: Test that SendPMsg also converts reference time.
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
dmime: Get rid of the DMUS_PMSGItem typedef.
dmime: Use a struct list to keep performance messages.
dmime: Remove unnecessary struct message members.
dmime: Rename DMUS_PMSGToItem to message_from_DMUS_PMSG.
dmime: Pass the DMUS_PMSG through the performance graph.
dmband: Rename IDirectMusicBandImpl prefix to band.
dmband: Get rid of the IDirectMusicBandImpl typedef.
dmband: Get rid of the IDirectMusicBandTrack typedef.
dmband: Avoid leaking bands on band track Release.
dmband: Avoid leaking collection on band release.
dmband: Rewrite band lbin list parsing.
dmband: Rewrite band lbil list parsing.
dmband: Rewrite band dmbd chunk parsing.
dmband: Rewrite band IPersistStream_Load.
dmime: Rename IDirectMusicSegment8Impl method prefix to segment.
dmime: Use one-liners for segment parameter checks.
dmime: Get rid of the IDirectMusicSegmentImpl typedef.
dmime: Avoid leaking tracks in IDirectMusicSegment_Release.
dmime: Rewrite segment IDirectMusicSegment_GetTrack.
dmime: Rewrite segment IDirectMusicSegment_GetTrackGroup.
dmime: Rewrite segment IDirectMusicSegment_InsertTrack.
dmime: Rewrite segment IDirectMusicSegment_RemoveTrack.
dmime: Use segment_append_track in Clone and parse_track_form.
dmime/tests: Add some DMUS_NOTIFICATION_PMSG tests.
dmime/tests: Test wave segments and DMUS_WAVE_PMSG.
dmime/tests: Test sequence track and DMUS_NOTE_PMSG.
dmime/tests: Test band track and DMUS_PATCH_PMSG.
dmusic/tests: Fixup chunk alignment in steam_end_chunk.
dmusic: Keep the original instrument patch in the entry.
dmband: Rewrite band track lbdl/lbnd lists parsing.
dmband: Rewrite band track DBMT chunk parsing.
dmband: Rewrite band track IPersistStream_Load.
dmime: Get rid of the IDirectMusicSeqTrack typedef.
dmime: Implement DirectMusicSeqTrack IPersistStream_Load.
dmloader: Rename IDirectMusicLoaderImpl method prefix to loader.
dmloader: Get rid of the IDirectMusicLoaderImpl typedef.
dmloader: Initialize ref to 1, and release after QueryInterface.
dmloader: Introduce a new loader_stream_create helper.
dmloader: Get rid of the custom generic stream wrapper.
dmime/tests: Remove some duplicated tests.
dmime/tests: Move performance tests into dmime.c.
dmime/tests: Test performance Init with a created port.
dmime: Set the port direct sound before activating it.
dmime: Initialize performance in Init rather than InitAudio.
dmime: Return DMUS_E_AUDIOPATHS_IN_USE when audio paths are in use.
dmime: Return DMUS_E_AUDIOPATH_INACTIVE when audio paths are not enabled.
dmloader: Use a simpler file stream implementation.
dmusic/tests: Test default gm.dls sound font instruments.
dmloader: Remove invalid default DLS collection check.
dmloader: Add fallbacks if the configured GMFilePath doesn't exist.
dmusic: Avoid leaking articulations when freeing regions.
dmusic: Avoid crashing in traces if wave doesn't have a WSMPL.
dmusic: Implement SoundFont2 collection parsing.
dmusic: Implement SoundFont2 wave sample parsing.
dmusic: Implement SoundFont2 instrument parsing.
dmime/tests: Add some tests for GUID_ConnectToDLSCollection.
dmime/tests: Test segment state and playing a custom track.
dmime: Implement IDirectMusicSegment_SetParam.
dmband: Implement band track GUID_ConnectToDLSCollection parameter.
dmime: Implement IDirectMusicSegment_(Download|Unload).
dmband: Implement IDirectMusicBand_(Download|Unload).
dmband: Implement band track GUID_UnloadFromAudioPath parameter.
dmband: Implement band track GUID_DownloadToAudioPath parameter.
dmime: Implement IDirectMusicPerformance_DownloadInstrument.
Yuxuan Shui (4):
gdi32: Make GetStockObject hotpatchable.
user32: Make CallWindowProcA hotpatchable.
user32: Add hotpatchable wrapper for GetWindowLongA.
rtworkq: Fix leak of thread pool work items.
Zebediah Figura (5):
wined3d: Pass a wined3d_stateblock_state to wined3d_device_validate_device().
d3d10core/tests: Test performing a full clear after a draw.
wined3d: Remove invalid parameter checks from internal wined3d_device_set_*() functions.
wined3d: Make wined3d_stateblock_state_{init,cleanup}() static.
wined3d: Move struct wined3d_stateblock into stateblock.c.
Zhiyi Zhang (2):
user32/tests: Fix test failures in Hindi UTF-8 and mixed locales.
user32: Enable IsDialogMessageA() ASCII to Unicode mapping only when the user default lang ID is CJK.
1
0
The Wine development release 8.16 is now available.
What's new in this release:
- Beginnings of a DirectMusic revival.
- Many fixes and improvements in the regression tests.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.16.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 8.16 (total 33):
- #42809 GPS Track Editor: arrows not shown
- #51561 Wine's built-in gdiplus.dll lags in Paint.NET compared to native (Win 7) gdiplus.dll
- #51995 Roblox's bad performance on Wine
- #52196 BENNING PC-Win ST 750-760 Designer crashes on start, needs GdipSetPenCompoundArray implementation
- #53435 user32:msg - test_SendMessage_other_thread() sometimes gets a wrong status on Windows
- #54202 mscoree:mscoree breaks user32:msg - subtest_hvredraw() fails on most Windows 7 test configurations
- #54331 Game "Antecrypt": Black screen after launch
- #54368 ::DrawGeometry doesn't respect stroke style
- #54655 user32:msg - test_InSendMessage() sometimes gets unexpected flags on Windows
- #54683 shlwapi:ordinal - test_SHFormatDateTimeA() fails due to daylight saving time on Windows
- #54944 ntdll:exception - test_extended_context() crashes on Window 11
- #54945 ntdll:exception - test_virtual_unwind() fails on Windows 11
- #54998 DnsQuery(DNS_TYPE_SRV) fails to parse some of the server answers
- #55225 kernel32:thread - The 32-bit test_stack() gets an unexpected values for -2 & -3 indexes on Windows
- #55227 wtsapi32:wtsapi - The 32-bit check_wts_process_info() fails to get the user token on Windows 7 & 8
- #55237 oleaut32:usrmarshal - The 64-bit test_marshal_VARIANT() gets bad values for wv[5&6] on Windows 8+
- #55238 ntdll:exception - The 64-bit test_nested_exception() fails on Windows 11
- #55244 mshtml:misc - test_HTMLStorage() crashes in Wine
- #55246 ntdll:om - The 64-bit test_object_types() crashes on Windows 8+
- #55317 user32:msg - test_hotkey() finds no free WinKey+letter on Windows 11
- #55354 user32:msg - test_dialog_messages() sometimes gets a bad sequence on Windows 7
- #55366 The GitLab CI sometimes tries to link winscard with libpcsclite on macOS
- #55459 Softerra LDAP Browser fails to turn off LDAP_OPT_ENCRYPT, LDAP_OPT_ROOTDSE_CACHE, and LDAP_OPT_SIGN
- #55501 PS Core (pwsh.exe) fails to start:Call to unimplemented function wldp.dll.WldpGetLockdownPolicy
- #55505 Vitis 2020.1 needs support for `if exist ""` in batch file
- #55507 Softerra LDAP Browser needs LDAP_OPT_CLIENT_CERTIFICATE
- #55508 Wine 8.15: compiles successfully in Flatpak but fails during runtime with a SIGSEGV
- #55531 combase:roapi - test_ActivationFactories() fails on Windows and Wine
- #55532 kernel32:actctx - test_two_dlls_at_same_time() crashes on Windows 7+ and Wine
- #55533 setupapi:devinst & setupapi:install - test_class_installer() fails on Windows 7+ and Wine
- #55534 ucrtbase:thread - test_thread_library_reference() fails on Windows 7+ and Wine
- #55535 The dinput:hid test summary line fails to take skip messages into account on Windows 7
- #55539 user32:msg test_hvredraw fails in win1709 with unexpected region
----------------------------------------------------------------
Changes since 8.15:
Alex Henrie (19):
wldap32: Rename cert_callback to server_cert_callback.
wldap32: Implement setting LDAP_OPT_CLIENT_CERTIFICATE.
msctf: Use CRT allocation functions.
shcore: Use CRT allocation functions.
shlwapi: Use CRT allocation functions.
snmpapi: Use CRT allocation functions.
uiautomationcore: Use CRT allocation functions.
mpr: Use CRT allocation functions.
cmd: Handle `if exist` with an empty string argument.
wintab32: Use CRT allocation functions.
wintrust: Use CRT allocation functions.
extrac32: Use CRT allocation functions.
oleview: Use CRT allocation functions.
wineboot: Use CRT allocation functions.
winemenubuilder: Use CRT allocation functions.
winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc.
winmm: Use CRT allocation functions.
newdev: Use CRT allocation functions.
http: Use CRT allocation functions.
Alexandre Julliard (21):
kernel32/tests: Also remove stack pointer checks on 64-bit.
oleaut32/tests: Mark the win9x behavior as todo on Wine.
makedep: Make the spec file optional for testdll resources.
makedep: Make the spec file optional for data-only dlls.
makedep: Make the spec file optional for native modules.
winegcc: Don't disable unwind tables for PE targets.
winebuild: Add SEH information to relay entry points on ARM64.
ntdll/tests: Use a valid buffer address for misalignment test.
ntdll: Always fetch the %fs register from the thread data.
ntdll: Ignore attempts to change segment registers on x86-64.
ntdll: Don't save segment registers in the syscall frame on x86-64.
ntdll: Add missing backslash to query image file execution options.
win32u: Use the correct length for kernel object names in object attributes.
wow64: Don't add MEM_RESERVE for invalid flags combinations.
include: Add DECLSPEC_NOINLINE macro.
ntdll/tests: Fix some test failures on ARM64 Windows.
localspl: Fix an uninitialized variable warning with clang.
ntdll: Fix the hardcoded selector values for ARM64.
ntdll: Fixup the pc address for breakpoint exceptions on ARM64.
ntdll: Fix the SystemProcessorFeaturesInformation value on ARM platforms.
ntdll/tests: Mark some tests as todo for ARM64.
Alexandros Frantzis (5):
winewayland.drv: Add initial stub for wl_pointer handling.
winewayland.drv: Handle pointer focus events.
winewayland.drv: Handle pointer motion events.
winewayland.drv: Handle pointer button and scroll events.
winewayland.drv: Implement SetCursor using cursor bitmap data.
Alfred Agrell (6):
quartz: Fill in VMR9SurfaceAllocatorNotify_NotifyEvent stub.
quartz: Recreate surfaces in VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_NotifyEvent.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz: Delete some redundant members from struct quartz_vmr.
quartz/tests: Fix segfault in changed3ddevice test.
Alistair Leslie-Hughes (6):
diasymreader: Remove DECLSPEC_HIDDEN usage.
qmgr: Remove DECLSPEC_HIDDEN usage.
kernel32: Remove DECLSPEC_HIDDEN usage.
user32: Remove DECLSPEC_HIDDEN usage.
wshom.ocx: Remove DECLSPEC_HIDDEN usage.
d3drm: Correct D3DRMIMAGE validation.
Arkadiusz Hiler (2):
dsound: Get rid of DSOUND_capturers and related lock.
dsound: Get rid of the global device GUID arrays.
Bartosz Kosiorek (1):
gdiplus/tests: Extend DrawImage scaling tests.
Billy Laws (1):
include: Add CHPEV2 CPU area definitions.
Biswapriyo Nath (6):
include: Add AudioCaptureEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioRenderEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioEffectsManager runtimeclass in windows.media.effects.idl.
include: Add IPackage2 definition in windows.applicationmodel.idl.
include: Add missing error codes in msctf.idl.
include: Add IEnumTfPropertyValue definition in msctf.idl.
Brendan Shanks (15):
tools: Use posix_spawn() instead of fork()/execvp().
server: Remove the fallback epoll() syscalls.
crypt32: Ensure unixlib function tables and enum stay in sync.
msv1_0: Ensure unixlib function tables and enum stay in sync.
ws2_32: Ensure unixlib function tables and enum stay in sync.
bcrypt: Ensure unixlib function tables and enum stay in sync.
winegstreamer: Ensure unixlib function tables and enum stay in sync.
dwrite: Ensure unixlib function tables and enum stay in sync.
winspool.drv: Ensure unixlib function tables and enum stay in sync.
netapi32: Ensure unixlib function tables and enum stay in sync.
capi2032: Ensure unixlib function tables and enum stay in sync.
winealsa: Ensure unixlib function tables and enum stay in sync.
winecoreaudio: Ensure unixlib function tables and enum stay in sync.
wineoss: Ensure unixlib function tables and enum stay in sync.
winepulse: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (2):
msxml3/tests: Fix failure messages.
msvcp110: Add std::_Throw_future_error.
Dmitry Timoshkov (15):
wldap32: Add support for ldap_set_option(LDAP_OPT_HOST_NAME).
kerberos: Add ISC_REQ_DELEGATE to the list of supported flags.
dnsapi/tests: Add some tests for DNS_TYPE_SRV messages.
dnsapi: Accept name records of exact size at the end of the packet.
dnsapi: Set correct wDataLength for DNS_TYPE_SRV records.
gdiplus/tests: Fix compilation with PSDK compiler.
gdiplus/tests: Add a test for calling GdipImageSelectActiveFrame() with invalid frame on a memory bitmap.
gdiplus: In GdipImageSelectActiveFrame rely on codec->select_func() to fail.
comctl32: Use iswalnum() to filter alpha numeric characters from unicode messages.
schedsvc: Remove duplicate dwControlsAccepted initialization.
wevtsvc: Remove duplicate dwControlsAccepted initialization.
srvsvc: Add LanmanServer stub service.
user32: Listbox shouldn't send WM_COMMAND/LBN_DBLCLK notification if it has no items.
server: Write terminating '\0' in the strings.
d2d1: Scale stroke width for D2D1_STROKE_TRANSFORM_TYPE_FIXED in DrawGeometry::ID2D1DeviceContext1().
Eric Pouech (3):
kernel32/console: Add tests for GenerateConsoleCtrlEvent().
cmd: Better handle ctrl-c events.
dbghelp: Don't insert dwz file map into module's file maps' chain.
Esme Povirk (8):
user32/tests: Trace run number in test_SendMessage_other_thread.
user32/tests: Wait for GetMessage call to complete.
user32/tests: Check all letters in test_hotkey.
user32/tests: Register test_hvredraw class in temp desktop.
user32/tests: Detect win7's broken GetQueueStatus behavior.
user32/tests: Delete a faulty test.
user32/tests: Account for ignored messages in PeekMessage call.
user32/tests: Ignore other messages in test_broadcast.
Etaash Mathamsetty (2):
include: Update definition of KDPC.
ntoskrnl.exe/tests: Add KeInitializeDpc tests.
Evan Tang (2):
d3d11: Add tests for clearing RTs in the middle of a render.
wined3d: Restart vk render pass on RT clear.
François Gouget (2):
dmsynth/tests: Add the trailing linefeed to a win_skip() message.
kernel32/tests: Allow a 0 removed entry count in the completion test.
Gabriel Ivăncescu (61):
mshtml: Implement querySelector for document fragments.
mshtml: Implement querySelectorAll for document fragments.
mshtml: Expose an EventTarget interface on the outer window for events' target dispatch.
mshtml: Return interface directly from node vtbl's QI instead of HRESULT, without AddRef.
mshtml: Introduce query_interface in dispex vtbl and use it for DOM Nodes.
mshtml: Use query_interface in the dispex vtbl for inner windows.
mshtml: Use query_interface in the dispex vtbl for XMLHttpRequest.
mshtml: Trace the object name in dispex methods.
mshtml: Unstub some implemented event handlers in IHTMLWindow7 interface.
mshtml: Use query_interface in the dispex vtbl for builtin constructors.
mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
mshtml: Use query_interface in the dispex vtbl for CSS Styles.
mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and collections.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMAttribute.
mshtml: Use query_interface in the dispex vtbl for HTMLEventObj.
mshtml: Use query_interface in the dispex vtbl for DOM Events.
mshtml: Get rid of the custom query_interface for DOM Events.
mshtml: Use query_interface in the dispex vtbl for MutationObserver.
mshtml: Use query_interface in the dispex vtbl for DOMTokenList.
mshtml: Use query_interface in the dispex vtbl for HTMLRect.
mshtml: Use query_interface in the dispex vtbl for DOM and Text Ranges.
mshtml: Use query_interface in the dispex vtbl for HTMLSelectionObject.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMImplementation.
mshtml: Use query_interface in the dispex vtbl for HTMLScreen.
mshtml: Use query_interface in the dispex vtbl for History.
mshtml: Use query_interface in the dispex vtbl for Navigator.
mshtml: Use query_interface in the dispex vtbl for Console.
mshtml: Use query_interface in the dispex vtbl for MediaQueryList.
mshtml: Use query_interface in the dispex vtbl for Performance.
mshtml: Use query_interface in the dispex vtbl for PerformanceNavigation.
mshtml: Use query_interface in the dispex vtbl for PerformanceTiming.
mshtml: Get rid of `outer` in DispatchEx.
mshtml: Forward objects' IUnknown methods to the DispatchEx.
mshtml: Get rid of the custom qi for CSS Styles.
mshtml: Traverse and unlink AnchorElements using the dispex.
mshtml: Traverse and unlink AreaElements using the dispex.
mshtml: Traverse and unlink BodyElements using the dispex.
mshtml: Traverse and unlink FormElements using the dispex.
mshtml: Traverse and unlink FrameElements using the dispex.
mshtml: Traverse and unlink IFrames using the dispex.
mshtml: Traverse and unlink ImageElements using the dispex.
mshtml: Traverse and unlink InputElements using the dispex.
mshtml: Traverse and unlink ButtonElements using the dispex.
mshtml: Traverse and unlink LinkElements using the dispex.
mshtml: Traverse and unlink ObjectElements using the dispex.
mshtml: Traverse and unlink OptionElements using the dispex.
mshtml: Traverse and unlink ScriptElements using the dispex.
mshtml: Traverse and unlink SelectElements using the dispex.
mshtml: Traverse and unlink StyleElements using the dispex.
mshtml: Traverse and unlink TableElements using the dispex.
mshtml: Traverse and unlink TextAreaElements using the dispex.
mshtml: Unlink document nodes and fragments using the dispex.
Gerald Pfeifer (1):
ntdll: Fix leave_handler for FreeBSD and NetBSD.
Hans Leidekker (19):
wtsapi/tests: Use a heap buffer for the user SID.
webservices/tests: Fully initialize xmlstr.
wbemprox: Call GetAdaptersAddresses() in a loop.
netprofm: Call GetAdaptersAddresses() in a loop.
wpcap: Call GetAdaptersAddresses() in a loop.
ipconfig: Use CRT allocation functions.
ipconfig: Call GetAdaptersAddresses() in a loop.
wsdapi: Use CRT allocation functions.
wsdapi: Call GetAdaptersAddresses() in a loop.
wsdapi/tests: Use CRT allocation functions.
wsdapi/tests: Call GetAdaptersAddresses() in a loop.
ws2_32/tests: Use CRT allocation functions.
ws2_32/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Use CRT allocation functions.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
wpcap/tests: Accept another return value from pcap_can_set_rfmon().
winscard/tests: Skip tests when SCardListReadersA() returns an empty list.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Call GetExtendedTcp/UdpTable() in a loop.
Helix Graziani (1):
wldp: Add WldpQueryWindowsLockdownMode stub.
Huw D. M. Davies (1):
ntdll: Store the codepage data addresses in both PEBs.
Jacek Caban (10):
ntdll: Unconditionally forward console events to kernelbase.
mshtml: Use unsigned types for bitfields.
msvcrt: Use unsigned types for bitfields.
ole32/tests: Don't use bitfield for called_todo.
regedit: Use unsigned types for bitfields.
shell32: Use unsigned types for bit fields.
shell32: Use a signed value to assign single signed bitfields values.
server: Store both contexts in pending context object.
ntdll/tests: Add tests for setting context on unsuspended thread.
wow64win: Implement wow64_NtUserImmTranslateMessage.
Jacob Czekalla (1):
comctl32/status: Invalidate entire status bar on WM_SIZE.
Jeff Smith (3):
xaudio2/tests: Improve IID_IXAudio2 interface version checking.
dwrite: Treat null character as NO_VISUAL in script analyzer.
gdiplus: GdipIsVisiblePathPoint is not affected by world transform.
Jinoh Kang (3):
loader: Fix calculation of thread_data address in Linux x86-64 preloader.
loader: Don't return from __stack_chk_fail() stub in preloader.
user32/tests: Isolate window update region tests in a temporary desktop.
Joel Holdsworth (1):
ntdll/tests: Update link test to reflect Windows 11 behaviour.
Julian Rüger (1):
po: Update German translation.
Lorenzo Ferrillo (2):
ole32: Leave the RunningObjectTable Critical Section before umarshalling object.
ole32: Add debug info to RunningObjectTable critical section.
Matteo Bruni (11):
wined3d: Don't call wined3d_context_gl_apply_blit_state() from texture2d_read_from_framebuffer().
wined3d: Prepare/load the destination resource location in ffp_blitter_blit().
wined3d: Prepare/load the destination resource location in arbfp_blitter_blit().
wined3d: Don't bind the FBO to GL_READ_FRAMEBUFFER in wined3d_context_gl_apply_blit_state().
wined3d: Don't call wined3d_texture_load() from wined3d_context_gl_apply_blit_state().
wined3d: Don't setup FBO and draw buffers in wined3d_context_gl_apply_blit_state().
wined3d: Rename wined3d_context_gl_apply_fbo_state_blit() function.
wined3d: Handle depth textures in texture2d_read_from_framebuffer().
wined3d: Don't force going through a texture when downloading from renderbuffers.
wined3d: Skip acquiring a context for an offscreen resource in texture2d_read_from_framebuffer().
wined3d: Don't skip ARB fragment program selection when fog state is dirty.
Mohamad Al-Jaf (5):
windows.applicationmodel: Add stub DLL.
appxdeploymentclient: Add stub DLL.
appxdeploymentclient: Implement IActivationFactory::ActivateInstance().
include: Add Windows.Management.Deployment.IPackageManager2 interface definition.
appxdeploymentclient: Add IPackageManager2 stub interface.
Nikolay Sivov (2):
kernel32/tests: Add activation context test with empty assembly manifest.
ntdll/actctx: Accept empty assembly elements.
Paul Gofman (18):
ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToNtPathName_U with mask.
ntdll/tests: Test NtQueryDirectoryFile with wildcards.
kernel32/tests: Add more tests for FindFirstFile with wildcards.
kernelbase: Duplicate file name matching code for FindNextFileW().
kernelbase: Get unprocessed mask in FindFirstFileExW().
kernelbase: Support masks suggesting no extension in FindNextFile().
ntdll/tests: Adjust test_virtual_unwind() for Win11 results.
include: Define up to date exception flags.
ntdll/tests: Adjust test_nested_exception() for Win11 results.
ntdll/tests: Adjust test_extended_context() for Win11 results.
ntdll/tests: Adjust test_raiseexception_regs() for Win11 results.
wtsapi32: Improve WTSEnumerateSessionsW() stub.
wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSessionsW().
wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW().
server: Support FileStandardInformation for pipes.
server: Don't set SO_RCVBUF below Windows default value on Unix socket.
d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace().
d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace().
Piotr Caban (4):
msvcp100: Fix failure class layout.
msvcp110: Add _Throw_C_error implementation.
wineps: Remove dynamic glyph list.
wineps: Fix EMRPOLYDRAW16 printing.
Ryan Hendrickson (1):
regedit: Export hex(4) instead of dword if size isn't 4 bytes.
Rémi Bernon (122):
dmsynth: Remove unnecessary comments.
dmsynth: Always return S_FALSE from DllCanUnloadNow.
dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink.
dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef.
dmsynth: Move IDirectMusicSynthImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth.
dmsynth: Get rid of the IDirectMusicSynth8Impl typedef.
dmsynth: Use CRT allocation functions.
dmsynth/tests: Avoid dynamic format string.
dmsynth/tests: Import and use a check_interface helper.
dmsynth/tests: Test DirectMusicSynthSink class in isolation.
dmsynth/tests: Test DirectMusicSynth class in isolation.
windows.applicationmodel/tests: Add some IPackageManager tests.
makedep: Use #pragma makedep testdll for TESTDLL resources.
makedep: Support generating .exe TESTDLL resources.
windows.applicationmodel/tests: Test IPackageManager_RegisterPackageAsync.
windows.applicationmodel/tests: Test executing a WinRT package application.
include: Fix incorrect IDirectMusicPortDownload_Unload macro.
dmusic/tests: Test IDirectMusic(Port)Download interfaces.
dmusic/tests: Test IDirectMusicPort_(Download|Unload)Instrument.
dmusic: Always return S_FALSE from DllCanUnloadNow.
dmusic: Simplify and cleanup IDirectMusicDownload constructor.
dmusic: Move IDirectMusicDownloadImpl struct to where it is used.
dmusic: Rename IDirectMusicDownloadImpl method prefix to download.
dmusic: Implement synth port IDirectMusicPortDownload_GetDLId.
dmusic: Implement IDirectMusicPortDownload_AllocateBuffer.
dmusic: Implement IDirectMusicPortDownload_(Download|Unload).
dmusic: Implement IDirectMusicPortDownload_GetBuffer.
dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub.
dmsynth: Avoid leaking master clock references.
dmsynth: Allow changing master clock while active.
dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub.
dmsynth: Implement SampleToRefTime and RefTimeToSample.
makedep: Fix a string format specifier typo.
dmsynth: Move constructor parameter checks to class factory.
include: Use IReferenceClock interface from strmif.idl in dmusicc.h.
dmsynth: Implement latency IReferenceClock interface on the sink.
dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink.
dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op.
dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate.
dmusic: Move constructor parameter checks to class factory.
dmusic: Rename IDirectMusicCollectionImpl method prefix to collection.
dmusic: Get rid of the IDirectMusicCollectionImpl typedef.
dmusic: Get rid of struct collection liCollectionPosition member.
dmusic: Get rid of struct collection liWavePoolTablePosition member.
dmusic: Simplify and cleanup IDirectMusicInstrument constructor.
dmusic: Rename IDirectMusicInstrumentImpl method prefix to instrument.
dmusic: Get rid of the IDirectMusicInstrumentImpl typedef.
dinput/tests: Report the driver success and skipped tests counters.
windows.applicationmodel/tests: Report success and skipped tests counters.
ntoskrnl/tests: Use wine/test.h in the driver tests.
dmime/tests: Test IDirectMusicGraph interface with a dummy tool.
dmime/tests: Test performance IDirectMusicTool interface.
dmime/tests: Test performance IDirectMusicGraph interface.
dmime/tests: Test IDirectMusicPerformance time conversion.
dmime/tests: Test IDirectMusicPerformance_*PMsg methods.
dmime/tests: Test IDirectMusicTool message reception filter.
dmime/tests: Test IDirectMusicTool message reception delay.
dmsynth/tests: Test IDirectMusicSynth_Unload.
dmusic: Avoid passing invalid handle to IDirectMusicSynth_Unload.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves.
dmsynth: Implement IDirectMusicSynth_Download for instrument regions.
dmsynth: Implement IDirectMusicSynth_Download for instrument articulations.
dmusic: Use a struct list for instrument articulations.
dmusic: Use a struct list for instrument regions.
dmusic: Reset riff chunk type to 0 when it is invalid.
dmusic: Rewrite instrument lrgn list parsing.
dmusic: Rewrite instrument lart list parsing.
dmusic: Rewrite instrument ins chunk parsing.
dmusic: Allocate and parse instruments in a single pass.
dmusic: Cleanup collection instrument iteration loops.
dmusic: Stop leaking instruments on collection release.
dmime: Always return S_FALSE from DllCanUnloadNow.
dmime: Use CRT allocation functions.
dmime: Use the correct interface methods.
dmime: Fix indentation in DirectMusicPerformance class constructor.
dmime: Rename IDirectMusicPerformance8Impl method prefix to performance.
dmime: Get rid of IDirectMusicPerformance8Impl typedef.
dmime: Fix indentation in IDirectMusicPerformance_QueryInterface.
dmime: Add a IDirectMusicGraph interface to the performance.
dmime: Add a IDirectMusicTool interface to the performance.
dmband: Always return S_FALSE from DllCanUnloadNow.
dmband: Use CRT allocation functions.
dmband: Use PARENTSRC with dmusic.
dswave: Always return S_FALSE from DllCanUnloadNow.
dswave: Use CRT allocation functions.
dswave: Use PARENTSRC with dmusic.
dmstyle: Awlays return S_FALSE from DllCanUnloadNow.
dmstyle: Use CRT allocation functions.
dmstyle: Use PARENTSRC with dmusic.
dmime: Remove FIXME from performance IDirectMusicGraph methods.
dmime: Implement some performance IDirectMusicTool methods.
dmime: Rewrite IDirectMusicGraph tools iteration.
dmime: Rename DirectMusicGraph method prefix to graph.
dmime: Get rid of the IDirectMusicGraphImpl typedef.
dmime: Implement IDirectMusicGraph_StampPMsg.
dmime: Implement performance IDirectMusicGraph_StampPMsg.
dmime: Set the tool delivery type on the messages flags.
dmcompos: Always return S_FALSE from DllCanUnloadNow.
dmcompos: Use CRT allocation functions.
dmcompos: Use PARENTSRC with dmusic.
dmloader: Always return S_FALSE from DllCanUnloadNow.
dmloader: Use CRT allocation functions.
dmloader: Use PARENTSRC with dmusic.
dmscript: Always return S_FALSE from DllCanUnloadNow.
dmscript: Use CRT allocation functions.
dmscript: Use PARENTSRC with dmusic.
dmime: Use PARENTSRC with dmusic.
dmime: Rewrite IDirectMusicPerformance8_GetTime.
dmime: Implement MusicToReferenceTime and ReferenceToMusicTime.
dmime: Cleanup IDirectMusicPerformance_AllocPMsg.
dmime: Cleanup IDirectMusicPerformance_FreePMsg.
dmime: Cleanup IDirectMusicPerformance_SendPMsg.
dmime: Implement IDirectMusicPerformance8_ClonePMsg.
dmusic: Rewrite collection lins list parsing.
dmusic: Rewrite collection ptbl chunk parsing.
dmusic: Rewrite collection INFO list parsing.
dmusic: Rewrite collection DLS chunk parsing.
dmusic: Parse instrument name from INFO list.
dmusic: Add more parsed instruments traces.
Stefan Dösinger (13):
d3d9/tests: Skip big test_query loops if the d3d implementation is too slow.
d3d9/tests: Don't fail d3d9ex if the window manager restores focus too soon.
d3d9/tests: Don't fail test_reset_fullscreen if the WM resizes us.
d3d9/tests: Don't check messages when doing the minimization workaround dance.
d3d8/tests: Don't check messages when doing the minimization workaround dance.
gitlab: Enable d3d8 and d3d9 device tests.
d3d9/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d8/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d9/tests: Request a 3 mip level cube texture in test_getdc().
d3d8/tests: Fix skipping ATI2N in test_resource_access.
d3d9/tests: Fix skipping ATI2N in test_resource_access.
d3d8/tests: Mark the hidden test WM_WINDOWPOSCHANGED test flaky.
d3d9/tests: Mark hidden window WM_WINDOWPOSCHANGED tests unconditionally flaky.
Tim Clem (2):
win32u/tests: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL.
Yuxuan Shui (2):
urlmon: Test http protocol through CreateBinding.
urlmon: Fix NULL dereference in BindProtocol_UnlockRequest.
Zebediah Figura (14):
d3dxof: Remove unnecessary includes.
wmvcore: Explicitly include strmif.h.
include: Do not import strmif.idl in mediaobj.idl.
dsound: Do not include strmif.h.
wined3d: Enable shaderDrawParameters on Vulkan 1.1 if supported.
wined3d: Allow creating a feature level < 10 device if KHR_shader_draw_parameters is missing.
wined3d: Do not use EXT_host_query_reset if hostQueryReset is not actually supported.
wined3d: Do not use EXT_transform_feedback if transformFeedback is not actually supported.
wined3d: Remove the unused "sampler" local variable from wined3d_context_vk_load_shader_resources().
wined3d: Remove WINED3D_TEXTURE_NORMALIZED_COORDS.
wined3d: Remove the unused "current_fprogram_id" field from struct shader_arb_priv.
wined3d: Remove the unused "current_vprogram_id" field from struct shader_arb_priv.
wined3d: Do not set last_was_pshader from the GLSL fragment pipe.
sensapi: Remove unnecessary includes.
Zhiyi Zhang (4):
comctl32/edit: Don't use WM_TIMER to update caret position.
user32/edit: Don't use WM_TIMER to update caret position.
user32/tests: Test IsDialogMessageA() converting ASCII WM_CHAR messages.
user32: Map WM_CHAR wparam in ASCII to Unicode in IsDialogMessageA() for CJK locales.
Ziqing Hui (9):
winegstreamer: Add push_event wrapper.
winegstreamer: Add codec data to h264 format.
mf/tests: Call check_attributes in check_mft_get_output_current_type_.
mf/tests: Add tests for h264 encoder.
mf/tests: Use h264 and aac in mp4 media sink tests.
winegstreamer: Add MFMPEG4SinkClassFactory.
winegstreamer: Introduce new wg_muxer struct.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Create wg_muxer for media sink.
1
0
The Wine development release 8.15 is now available.
What's new in this release:
- Support for TEXT print processor.
- Cycle Collection support in MSHTML.
- Cross-process memory notifications in Wow64.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.15.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 8.15 (total 19):
- #43822 TrackMania Nations Forever (Steam) car music doesn't play
- #45273 Chessbase 11 cannot draw arrows
- #54064 ntdll:threadpool - test_tp_io() sometimes fails & crashes in Wine (GitLab CI)
- #54718 msvcr90:msvcr90 - test__get_current_locale() sometimes gets an unexpected refcount on w10pro64
- #54756 Multiple games crash on unimplemented concrt140.dll.??0_Cancellation_beacon(a)details@Concurrency@@QEAA(a)XZ (Forza Horizon 4, The Legend of Sisyphus (Andromeda Software Development))
- #55259 TranscendPang has corrupted graphics in-game
- #55286 msvcrt:file - The 64-bit test_invalid_stdin_child() sometimes gets a bad stdin handle on Windows 10
- #55287 msvcrt:file - The 32-bit test_pipes() fails in the new WoW mode
- #55333 ws2_32:sock - test_connect_events() sometimes fails in Wine
- #55341 Colin McRae Rally 2.0 black screen
- #55351 gdiplus:graphicspath - test_flatten2() fails on Windows 7 - 11
- #55402 CMD '!var!' not working in 'if' statement
- #55414 Ultimate Spider-Man: Widescreen Fix shifts HUD too much to the right
- #55443 Wine crashes when an image is dragged onto notepad.exe and games
- #55450 Softerra LDAP Browser needs LDAP_OPT_AUTO_RECONNECT
- #55457 Robot Battle 1.4 crashes on startup after commit 08dc691d
- #55471 nGlide wrapper produces black screen in games using the D3D backend
- #55475 Respondus LockDown Browser crashes on unimplemented function KERNEL32.dll.DiscardVirtualMemory
- #55500 Launching new processes in Virtual Desktops is slow and stutters the system
----------------------------------------------------------------
Changes since 8.14:
Akihiro Sagawa (2):
cmd: Use towlower()/towupper() for WCHARs.
cmd: DIR command outputs free space for the path.
Alex Henrie (12):
windowscodecs: Use CRT allocation functions.
shell32: Use CRT allocation functions.
xaudio2_7: Use CRT allocation functions.
activeds: Use CRT allocation functions.
mshtml: Define skip_prefix without using a magic number.
cryptui: Use CRT allocation functions.
mciavi32: Use CRT allocation functions.
mlang: Use CRT allocation functions.
mmdevapi: Use CRT allocation functions.
mpr: Fix double free in WNetGetResourceInformationA.
dmusic: Use CRT allocation functions.
wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Alexandre Julliard (22):
winex11: Work around a false positive gcc warning.
ntdll: Also store syscall id and names following the syscall dispatcher pointer.
wow64: Reimplement syscall resolution using the syscall dispatcher name table.
ntdll: Implement the cross-process work list functions.
wow64: Create the cross-process work list.
ntdll: Implement RtlOpenCrossProcessEmulatorWorkConnection().
wow64: Send cross-process notifications.
wow64: Implement Wow64ProcessPendingCrossProcessItems().
ntdll/tests: Add tests for cross-process notifications.
winebuild: Ignore syscalls that point to an alias.
wow64: Also send notifications for failed memory management calls.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Fix alignment issues on 64-bit.
kernel32/tests: Make the generated dlls relocatable.
kernel32/tests: Remove tests for the exact value of the stack pointer.
ntdll/tests: Fix alignment issues on 64-bit.
ntdll/tests: Allow more invalid length values on Windows.
ntdll/tests: Work around a Windows pointer truncation bug in CPU info.
oleaut32/tests: Fix a pointer truncation issue on 64-bit.
winmm/tests: Fix a pointer truncation issue on 64-bit.
scrrun: Fix pointer hashing on 64-bit.
gdi32: Fix buffer size parameter in GetFontFileData for 64-bit.
Alexis Murzeau (1):
wpcap: Handle negative count for pcap_dispatch and pcap_loop.
Alistair Leslie-Hughes (9):
opcservices: Remove DECLSPEC_HIDDEN usage.
avifil32: Remove DECLSPEC_HIDDEN usage.
evr: Remove DECLSPEC_HIDDEN usage.
hhctrl.ocx: Remove DECLSPEC_HIDDEN usage.
dxdiagn: Remove DECLSPEC_HIDDEN usage.
netcfgx: Remove DECLSPEC_HIDDEN usage.
schedsvc: Remove DECLSPEC_HIDDEN usage.
comctl32: Remove DECLSPEC_HIDDEN usage.
msvcrt: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (1):
winex11.drv: Mark drawable as dirty when setting pixel format.
Bartosz Kosiorek (2):
gdiplus: Improve performance by switching loops and fix size.
gdiplus: Add support for GdipPathIterNextPathType.
Biswapriyo Nath (8):
include: Add KnownFolders runtimeclass in windows.storage.idl.
include: Add ApplicationData runtimeclass in windows.storage.idl.
include: Add IRandomAccessStream generic types in windows.storage.streams.idl.
uiautomationcore: Fix typo with TreeScope_Subtree name.
include: Add AudioProcessing enum in windows.media.idl.
include: Add Windows.Media.Capture.MediaCategory enumeration.
include: Add Windows.Media.Render.AudioRenderCategory enumeration.
include: Add Windows.Media.Effects.AudioEffect runtimeclass.
Brendan Shanks (3):
kerberos: Ensure unixlib function tables and enum stay in sync.
mountmgr.sys: Ensure unixlib function tables and enum stay in sync.
winebus.sys: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (1):
include: Add [_w]getenv_s.
Davide Beatrici (14):
winepulse: Fix crash when requesting exclusive mode with an unsupported format.
wineoss: Update device cache in get_device_guid().
winepulse: Open/create driver registry key in get_device_guid().
winealsa: Export get_device_guid().
winecoreaudio: Export get_device_guid().
wineoss: Export get_device_guid().
winepulse: Export get_device_guid().
mmdevapi: Import get_device_guid() from driver.
winepulse: Move GetEndpointIDs into mmdevapi.
winealsa: Remove GetEndpointIDs.
winecoreaudio: Remove GetEndpointIDs.
wineoss: Remove GetEndpointIDs.
mmdevapi: Simplify load_driver_devices() by combining loops and removing unneeded allocation(s).
mmdevapi: Move name string duplication in MMDevice_Create() from caller.
Dmitry Sokolov (1):
cmd: Fixed var substring in 'enableDelayedExpansion' mode.
Dmitry Timoshkov (1):
ntdll: Implement NtCreateToken().
Eric Pouech (12):
dbghelp: Fix sign extension issues on 32bit compilation.
ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
ntdll/tests: Introduce enumeration to handle stages in test_debugger().
ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
kernelbase: Implement WaitForDebugEventEx().
kernel32/tests: Fix spurious failures in console:test_wait() test.
kernel32/tests: Only access ProcessGroupId field when present.
kernel32/tests: Add tests for group and console flags in CreateProcess.
server: Separate console and new group flag (CreateProcess).
kernel32/tests: Extend to new process group tests for CreateProcess.
kernelbase: Correctly handle new process group flag in CreateProcess.
Esme Povirk (8):
user32/tests: Test cross-platform use of scroll functions.
user32/tests: Use winetest context in ok_sequence.
user32: Remove some todo's for working tests.
user32/tests: Share code between ok_sequence and dump_sequence.
user32/tests: Distinguish between extra and missing messages.
user32/tests: Always generate a description for WM_NCCALCSIZE.
mscoree/tests: Catch expected exception in loadpaths.exe.
user32/tests: Mark an occasional Windows behavior as broken.
Etaash Mathamsetty (4):
ntdll: Allow NULL timeout in NtCreateNamedPipeFile.
ntdll: Add semi-stub for NtOpenKeyTransactedEx.
kernelbase: Add GetPackagePathByFullName stub.
wevtapi: Add stub for EvtCreateBookmark.
Gabriel Ivăncescu (37):
mshtml: Traverse variants using a helper function.
mshtml: Use destructor in the vtbl for PerformanceTiming.
mshtml: Implement Cycle Collection for HTMLPerformance.
mshtml: Implement Cycle Collection for HTMLPerformanceNavigation.
mshtml: Implement Cycle Collection for objects that don't require traversal.
mshtml: Implement Cycle Collection for HTMLDOMAttribute.
mshtml: Implement Cycle Collection for HTMLAttributeCollection.
mshtml: Implement Cycle Collection for HTMLCSSStyleDeclaration.
mshtml: Implement Cycle Collection for HTMLStyleSheet.
mshtml: Implement Cycle Collection for HTMLStyleSheetsCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRulesCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRule.
mshtml: Use actual name when traversing variant.
mshtml: Implement Cycle Collection for HTMLDOMChildrenCollection.
mshtml: Implement Cycle Collection for HTMLElementCollection.
mshtml: Implement Cycle Collection for HTMLRectCollection.
mshtml: Implement Cycle Collection for HTMLRect.
mshtml: Implement Cycle Collection for DOMTokenList.
mshtml: Implement Cycle Collection for MutationObserver.
mshtml: Implement Cycle Collection for HTMLDOMImplementation.
mshtml: Implement Cycle Collection for MediaQueryList.
mshtml: Implement Cycle Collection for HTMLTextRange.
mshtml: Implement Cycle Collection for HTMLDOMRange.
mshtml: Implement Cycle Collection for HTMLSelectionObject.
mshtml: Implement Cycle Collection for HTMLEventObj.
mshtml: Implement Cycle Collection for DOM Events.
winex11: Avoid querying GPU properties in get_host_primary_monitor_rect.
mshtml: Actually traverse the object-specific edges.
mshtml: Separate the HTMLLocation from the outer window.
mshtml: Implement Cycle Collection for HTMLLocation.
mshtml: Implement Cycle Collection for outer windows.
mshtml: Get rid of NULL checks for the dispex vtbl.
mshtml: Implement Cycle Collection for inner windows.
mshtml: Move HTMLPerformanceNavigation related fields to the window.
mshtml: Move PerformanceTiming related fields to the window.
mshtml: Implement Cycle Collection for HTMLPerformanceTiming.
mshtml: Implement Cycle Collection for XMLHttpRequest.
Jeff Smith (11):
gdiplus/tests: Simplify ICONINFO initialization.
gdiplus/tests: Create helper function for testing image properties.
gdiplus/tests: Add test for cursor with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for mask-only icon with GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromICON return status with mask-only icon.
gdiplus/tests: Add test for 32 bpp icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for non-square icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for bitmap locked data from GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromHICON bitmap data.
shlwapi/tests: Fix SHFormatDateTime test during DST.
shlwapi: Fix SHFormatDateTime implementation during DST.
Lorenzo Ferrillo (1):
secur32: Increment iteration index after load_package error.
Louis Lenders (1):
wldp: Add WldpGetLockdownPolicy stub.
Marcus Meissner (1):
cryptui: LoadStringW gets characters as size, not bytes.
Matteo Bruni (1):
d3dcompiler/tests: Avoid interpolation filters in test_samplers().
Mohamad Al-Jaf (5):
include: Add dxcore_interface.h file.
include: Add dxcore.h file.
dxcore: Add stub DLL.
dxcore: Add DXCoreCreateAdapterFactory() stub.
apisetschema: Add ext-ms-win-dxcore-l1-1-0.
Nikolay Sivov (1):
wldp: Add WldpIsDynamicCodePolicyEnabled() stub.
Paul Gofman (3):
user32/tests: Test more flags for MessageBox.
user32/msgbox: Implement MB_TOPMOST.
dinput: Unregister raw input on foreground loss.
Piotr Caban (15):
msvcr70: Don't set SSE2 control register in _control87.
wmic: Use fwprintf to output error messages.
wmic: Fix output when redirected to pipe.
msvcr90/tests: Restore thread locale settings in _getptd tests to avoid side effects.
msvcr90/tests: Reorder locale refcount tests to workaround leak in _create_locale.
msvcrt/tests: Make registry handle inheritable in test_invalid_stdin tests.
ntdll: Don't overwrite last byte of RuntimeInfo if odd number of bytes is used.
localspl: Store fallback print processor in AddPrinterDriver.
localspl: Try fallback print processor if datatype is not supported.
winprint: Implement TEXT print processor.
msvcr110: Add Context::IsCurrentTaskCollectionCanceling implementation.
msvcr110: Add _Cancellation_beacon class implementation.
msvcr120/tests: Remove workaround for not implemented _StructuredTaskCollection::ctor().
msvcr120/tests: Add _Cancellation_beacon tests.
msvcr120/tests: Add Context::IsCurrentTaskCollectionCanceling tests.
Rémi Bernon (35):
include: Add Windows.Management.Deployment.DeploymentResult runtimeclass definition.
include: Add Windows.Management.Deployment.PackageUserInformation runtimeclass definition.
include: Add Windows.Management.Deployment.PackageManager runtimeclass definition.
include: Add Windows.Storage.Streams.RandomAccessStreamReference runtimeclass definition.
include: Add Windows.ApplicationModel.AppDisplayInfo runtimeclass definition.
include: Add Windows.ApplicationModel.PackageStatus runtimeclass definition.
widl: Guard against re-import of the main input file.
include: Add Windows.ApplicationModel.Core.AppListEntry runtimeclass definition.
include: Add Windows.ApplicationModel.IPackage3 interface definition.
winegstreamer: Don't append videoconvert for video/x-wmv output.
include: Add MF_BYTESTREAM_EFFECTIVE_URL GUID declaration.
mf/tests: Add some network scheme resolver tests.
mf/scheme_handler: Split file scheme handler to scheme_handler.c.
mf/scheme_handler: Implement http(s):// scheme handler using urlmon.
mf/session: Use local variables to access transform node streams.
mf/session: Use a helper to deliver transform node requested samples.
mf/session: Drain transform node input streams individually.
mf/session: Drain remaining requests in transform_node_deliver_samples.
mf/session: Use helpers to push and pop samples for transform streams.
mf/session: Push transform input samples directly to ProcessInput.
mf/session: Request more samples from upstream when necessary.
mf/session: Increase the request count when requests are already queued.
include: Prefix winetest global counters with winetest_.
include: Rename winetest thread data struct and getter.
include: Prefix winetest color constants with winetest_.
include: Make general winetest helpers static inline.
include: Initialize winetest global counters to 0.
include: Rename winetest_printf to winetest_print_location.
include: Pass a temporary buffer to winetest_elapsed.
include: Introduce winetest wrappers for vprintf and GetTickCount.
include: Avoid using strcmp directly in wine/test.h.
dinput: Get rid of duplicated winetest helpers.
win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary.
win32u: Init vsc2vk in NtUserMapVirtualKeyEx only if necessary.
win32u: Init vsc2char in NtUserMapVirtualKeyEx only if necessary.
Torge Matthies (1):
crypt32: Fix CMS SignedData encoding.
Wonjun Jung (3):
wbemprox: Add Win32_SoundDevice query test for Caption property.
wbemprox: Add Caption property in Win32_SoundDevice.
wbemprox: Add NetConnectionID, NetEnabled properties in Win32_NetworkAdapter.
Zebediah Figura (13):
wined3d: Move struct wined3d_texture_gl to wined3d_gl.h.
wined3d: Move struct fbo_entry to wined3d_gl.h.
wined3d: Move struct wined3d_sampler_gl to wined3d_gl.h.
wined3d: Move struct wined3d_buffer_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_shader_resource_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_unordered_access_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_swapchain_gl to wined3d_gl.h.
wined3d: Move the remaining wined3d_gl_info functions to wined3d_gl.h.
wined3d: Move struct wined3d_format_gl to wined3d_gl.h.
wined3d: Move the remaining GL-specific definitions to wined3d_gl.h.
wined3d: Move the wined3d_gl.h include to individual files.
server: Signal AFD_POLL_BIT_WRITE at the same time as AFD_POLL_BIT_CONNECT.
1
0
The Wine development release 8.14 is now available.
What's new in this release:
- PCSC framework used on macOS for smart card support.
- Dumping of Windows registry files in WineDump.
- Fixes for Wow64 window messages.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.14.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 8.14 (total 30):
- #28603 Winedbg sometimes receives invalid parameters
- #30655 DiRT 2 Demo: Low (1 - 3) FPS during race, but not in in-game menus.
- #34678 Not all serial port work in wine
- #36564 'Candytron' demo: certain objects are black with GLSL enabled
- #44546 The Settlers II: 10th Anniversary runs very slow when CSMT enabled
- #44816 Cygwin/MSYS2 `script -e` exit status forwarding randomly returns zero for non zero child process
- #48621 Civilization 6 crashes on startup.
- #52474 ws2_32:sock - test_connect() fails intermittently with 'Test failed: expected timeout'
- #52492 stack overflow from GdipFlattenPath
- #52889 Freelancer with Crossfire mod crashes on startup
- #53171 advapi32:registry - test_performance_keys() sometimes fails due to time going backwards!
- #54073 ws2_32:sock - test_close_events() sometimes fails in Wine
- #54074 ws2_32:sock - test_empty_recv() sometimes gets an ERROR_IO_PENDING error in Wine
- #54413 ws2_32:sock - DuplicateHandle(socket) sometimes look like a socket in test_WSAGetOverlappedResult() on Windows
- #54546 ws2_32:sock - test_write_watch() gets unexpected write counts on Windows 11
- #54676 winetricks --verify dotnet20 (AutoHotKey) fails in a wow64 build
- #54720 Spider-Man: Shattered Dimensions - dialogue audio doesn't play
- #54748 Greenshot crashes when drawing rectangle to make screenshot ("GDI+ status: PropertyNotFound")
- #54831 GStreamer gst_init_check() crashes when called from winegstreamer on recent macOS, also Wine crashes on macOS Sonoma
- #54866 ieframe:webbrowser - test_SetQueryNetSessionCount() sometimes gets an unexpected session count on Windows
- #55127 httpapi:httpapi - test_v2_bound_port() sometimes succeeds in connecting on Windows 10
- #55152 Crash in Notepad++ processing a WM_DRAWITEM message
- #55231 Warframe: camera/mouse stuck in X-axis
- #55258 steam: small window floating on top of all windows even in fullscreen mode
- #55283 amstream:amstream systematically crashes and times out on gitlab-debian-32
- #55291 gdi32:dc - print_something() gets a bad signature on fg-deb64-*
- #55331 ntdll:file - The 64-bit test_file_disposition_information() gets unsupported error on Windows 10 1607 and 1709
- #55344 Yuzu fails to start (needs MSVCP140_CODECVT_IDS.dll)
- #55367 Trying to run WatchFaceStudio with wine 8.0 and Ubuntu 23 (lunar)
- #55422 mfmediaengine:mfmediaengine - test_GetDuration() fails in Wine
----------------------------------------------------------------
Changes since 8.13:
Alex Henrie (18):
include: Annotate PFNALLOC with __WINE_ALLOC_SIZE.
include: Annotate CFP_(RE)ALLOCPROC with __WINE_ALLOC_SIZE.
include: Annotate PLSA_ALLOCATE_(LSA_HEAP|SHARED_MEMORY) with __WINE_ALLOC_SIZE.
include: Annotate PERF_MEM_ALLOC with __WINE_ALLOC_SIZE.
include: Annotate PFLT_CONTEXT_ALLOCATE_CALLBACK with __WINE_ALLOC_SIZE.
include: Annotate PRTL_(AVL|GENERIC)_ALLOCATE_ROUTINE with __WINE_ALLOC_SIZE.
include: Annotate PALLOCATE_FUNCTION(_EX) with __WINE_ALLOC_SIZE.
include: Add __WINE_ALLOC_SIZE to the definition of FNALLOC.
advapi32: Use CRT allocation functions.
adsldp: Use CRT allocation functions.
inetcpl: Use CRT allocation functions.
odbccp32: Use CRT allocation functions.
cmd: Introduce an option_equals helper for WCMD_parse_forf_options.
joy: Remove size argument to set_config_key function.
shell32: Combine the two strdupAtoW functions.
oledb32: Use CRT allocation functions.
find: Use CRT allocation functions.
wldap32: Map LDAP_OPT_AUTO_RECONNECT to LDAP_OPT_RESTART and add tests.
Alexandre Julliard (18):
configure: Use AC_CHECK_HEADER for headers that don't need to be in config.h.
mmdevapi: Use nameless unions/structs.
secur32: Use nameless unions/structs.
d3d10_1/tests: Use nameless unions/structs.
d3d10core/tests: Use nameless unions/structs.
d3d11/tests: Use nameless unions/structs.
d3d8/tests: Use nameless unions/structs.
d3d9/tests: Use nameless unions/structs.
d3drm/tests: Use nameless unions/structs.
d3dx10/tests: Use nameless unions/structs.
d3dx9/tests: Use nameless unions/structs.
ddraw/tests: Use nameless unions/structs.
dxgi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
include: Get rid of the NONAMELESS access macros in tests.
Remove unused NONAMELESS defines.
ntdll: Set Wow64 user space limit based on LARGE_ADDRESS_AWARE.
ntdll/tests: Add some more tests for the contents of the WOW64INFO structure.
Alistair Leslie-Hughes (23):
user.exe16: Remove DECLSPEC_HIDDEN usage.
krnl386.exe16: Remove DECLSPEC_HIDDEN usage.
mmsystem.dll16: Remove DECLSPEC_HIDDEN usage.
wiaservc: Remove DECLSPEC_HIDDEN usage.
msvfw32: Remove DECLSPEC_HIDDEN usage.
wldap32: Remove DECLSPEC_HIDDEN usage.
wuapi: Remove DECLSPEC_HIDDEN usage.
scrrun: Remove DECLSPEC_HIDDEN usage.
inetcpl.cpl: Remove DECLSPEC_HIDDEN usage.
mciavi32: Remove DECLSPEC_HIDDEN usage.
shell32: Remove DECLSPEC_HIDDEN usage.
msxml3: Remove DECLSPEC_HIDDEN usage.
wbemprox: Remove DECLSPEC_HIDDEN usage.
webservices: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
hidclass.sys: Remove DECLSPEC_HIDDEN usage.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3dx11_43/tests: Add a trailing '\n' to ok() calls.
dmime: Store WAVE data when Loading.
include: Added D3DX11_TEXTURE_LOAD_INFO struct.
d3dx11: Add D3DX11LoadTextureFromTexture stub.
wmp: Remove DECLSPEC_HIDDEN usage.
setupapi: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (3):
gdiplus: Add support support for 1, 4 and 8 bpp indexed pixel format conversion.
gdiplus: Fix returned value of GdipDrawImagePointsRect according to native lib.
gdiplus: Add new test cases to GdipCreateCustomLineCap.
Bernhard Kölbl (4):
winegstreamer: Leave media source critical section before unlocking workqueue.
mfmediaengine/tests: Make effect tests more consistent.
mfmediaengine/tests: Add tests for RemoveAllEffects().
mfmediaengine: Implement RemoveAllEffects().
Billy Laws (2):
wow64win: Skip WM_CREATE/WM_NCCREATE lParam conversion if NULL.
wow64: Add BT module thread termination callback.
Biswapriyo Nath (4):
include: Add missing default value in IXAudio2.
include: Add IXAudio2Extension in xaudio2.idl.
include: Add xamlom.idl file.
include: Add windows.ui.xaml.hosting.desktopwindowxamlsource.idl file.
Connor McAdams (5):
uiautomationcore: Use the free threaded marshaler to marshal IUIAutomationElement interfaces.
uiautomationcore: Introduce custom clientside event callback function.
uiautomationcore: Add support for calling COM event handlers.
uiautomationcore/tests: Add IUIAutomationFocusChangedEventHandler tests.
uiautomationcore: Implement IUIAutomation::{Add/Remove}FocusChangedEventHandler.
David Kahurani (5):
gdiplus/font: Fix GdipGetLogFontW/A with gdi_transform.
gdiplus: Reject zero-width/zero-height rectangles.
gdiplus: Move Flatten() tests into the same function.
gdiplus: Use helper to calculate transform properties.
gdiplus: Use get_log_fontW in GdipGetLogFontW.
David McFarland (2):
configure: Fix caching of PCSCLITE_LIBS on mac.
configure: Don't require pcsclite header for winscard.
Davide Beatrici (15):
winealsa: Export get_device_name_from_guid().
winecoreaudio: Export get_device_name_from_guid().
wineoss: Export get_device_name_from_guid().
winepulse: Export get_device_name_from_guid().
mmdevapi: Import get_device_name_from_guid() from driver.
mmdevapi: Introduce wine_unix_call helper.
mmdevapi: Implement AudioClient_Create.
winealsa: Remove GetAudioSessionWrapper.
winecoreaudio: Remove GetAudioSessionWrapper.
wineoss: Remove GetAudioSessionWrapper.
winepulse: Remove GetAudioSessionWrapper.
winecoreaudio: Add get_prop_value stub in unixlib.
wineoss: Add get_prop_value stub in unixlib.
winepulse: Move GetPropValue into mmdevapi.
winealsa: Remove GetPropValue.
Dmitry Timoshkov (3):
secur32: Convert "Negotiate" to an LSA package.
secur32: Add a better stub for LsaApCallPackageUntrusted(NegGetCallerName).
secur32/tests: Add some tests for "Negotiate" LSA package.
Eric Pouech (2):
msvcrt/tests: Add tests for freopen().
msvcrt: Fix freopen() on FILE with invalid underlying fd.
Esme Povirk (3):
user32/tests: Add optional message sequence from win7.
comctl32: Add support for MSAA events on tab controls.
comctl32/tests: Test MSAA events for tab controls.
Evan Tang (1):
wined3d: Update reported driver versions.
Fabian Maurer (2):
gdiplus: Make flatten_bezier_add iterative.
gdiplus: Prevent infinite loops due to floating point inaccuracy.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (11):
ntdll/tests: Fix the NtSetInformationFile() test on Windows 10 <= 1709.
winex11.drv: Add a trailing linefeed to a WARN() message.
mfmediaengine: Add the trailing linefeed to a WARN() message.
dxgi: Fix a typo in a comment.
win32u/tests: Fix the spelling of a comment.
ntdll/tests: Fix the spelling of some exception ok() messages.
windows.media.speech/tests: Fix the spelling of some speech ok() messages.
winewayland.drv: Fix the spelling of a comment.
dbghelp/tests: Fix the case of a comment.
ntdll/tests: Fix the basic file informations failure messages.
webservices: Make alloc_float_text() static.
Gabriel Ivăncescu (57):
mshtml: Add some basic documentation for the dispex and its vtbl.
win32u: Don't clip captured mouse pointer if it's done by the system.
jscript: Call the getter with the proper 'this' in invoke_prop_func.
jscript: Use the object containing the prop for builtin getters.
mshtml: Use the common HTMLElement dispex vtbl in the dispex definitions.
mshtml: Introduce unlink_ref helper.
mshtml: Use unlink and destructor in the vtbl for function disps.
mshtml: Use separate dispex destructors for different event types.
mshtml: Use unlink and destructor in the vtbl for HTMLEventObj.
mshtml: Use unlink and destructor in the vtbl for inner windows.
mshtml: Use unlink and destructor in the vtbl for CSSStyle.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRule.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRulesCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheet.
mshtml: Use unlink and destructor in the vtbl for HTMLImageElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLOptionElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLXMLHttpRequestFactory.
mshtml: Use unlink and destructor in the vtbl for the MutationObserver constructor.
mshtml: Unlink variants using a helper function.
mshtml: Use unlink and destructor in the vtbl for HTMLStorage.
mshtml: Use unlink and destructor in the vtbl for HTMLSelectionObject.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMRange.
mshtml: Use unlink and destructor in the vtbl for HTMLTxtRange.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMAttribute.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMImplementation.
mshtml: Use unlink and destructor in the vtbl for HTMLScreen.
mshtml: Use unlink and destructor in the vtbl for History.
mshtml: Use unlink and destructor in the vtbl for HTMLPluginsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLMimeTypesCollection.
mshtml: Use unlink and destructor in the vtbl for Navigator.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformanceNavigation.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformance.
mshtml: Use unlink and destructor in the vtbl for HTMLNamespaceCollection.
mshtml: Use unlink and destructor in the vtbl for Console.
mshtml: Use unlink and destructor in the vtbl for MediaQueryList.
mshtml: Use unlink and destructor in the vtbl for MutationObserver.
mshtml: Use unlink and destructor in the vtbl for XMLHttpRequest.
mshtml: Use unlink and destructor in the vtbl for HTMLRect.
mshtml: Use unlink and destructor in the vtbl for HTMLRectCollection.
mshtml: Use unlink and destructor in the vtbl for DOMTokenList.
mshtml: Use unlink and destructor in the vtbl for HTMLFiltersCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLAttributeCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMChildrenCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLElementCollection.
mshtml: Skip windows with no URI when deciding whether to send storage events.
mshtml: Use ASCII strings for dispex object names.
mshtml: Move console to the inner window.
mshtml: Split IUnknown methods for outer windows into separate vtable.
mshtml: Make all event target vtbls const.
mshtml: Use designated initializers in dispex and event target vtables.
mshtml: Use designated initializers in node vtables.
mshtml: Rename dispex_query_interface to dispex_query_interface_no_cc.
mshtml: Rename EventTarget_QI to EventTarget_QI_no_cc.
mshtml: Move ccref from the node to the dispex.
mshtml: Implement node cycle collection using the dispex.
mshtml: Release the event target during node unlink.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.3.259.
winevulkan: Update to VK spec version 1.3.260.
Gijs Vermeulen (1):
configure: Use PCSC.framework when pcsclite is not available on macOS.
Hans Leidekker (9):
winscard: Handle different type sizes on macOS.
klist: Match native output for encryption type.
secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_SESSION_KEY).
msv1_0: Implement SECPKG_ATTR_SESSION_KEY.
kerberos: Implement SECPKG_ATTR_SESSION_KEY.
ldap: Use SECPKG_ATTR_SESSION_KEY to retrieve the key size.
ldap: Set SSF when sasl_client_start() succeeds.
ldap: Set trailer size when sasl_client_start() succeeds.
secur32: Also copy user function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
Ilia Docin (6):
sane.ds: Add array of resolutions support.
sane.ds: Do the reverse conversion of frame edges before setting.
sane.ds: Add maximum scanning dimensions setting support.
sane.ds: Use BGR order to store 24 bit color DIB pixels.
sane.ds: Set monochrome DIB color table.
sane.ds: Fix pixel type setting.
Jacek Caban (41):
win32u: Use CREATESTRUCTW struct layout to pass WM_CREATE message params to client.
win32u: Use user message packing for HCBT_CREATEWND hooks.
win32u: Pack messages in WH_CALLWNDPROC hooks.
win32u: Pack messages in WH_CALLWNDPROCRET hooks.
win32u: Use user message packing for WM_NCCALCSIZE.
win32u: Use user message packing for WM_GETTEXT and WM_ASKCBFORMATNAME.
win32u/tests: Fully initialize lparam_buffer before each test.
win32u: Use user message packing for messages passing string.
win32u: Use user message packing for WM_GETMINMAXINFO.
win32u: Use user message packing for WM_DRAWITEM.
win32u: Use user message packing for WM_MEASUREITEM.
win32u: Use user message packing for WM_DELETEITEM.
win32u: Use user message packing for WM_COMPAREITEM.
win32u: Use user message packing for WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED.
win32u: Use user message packing for WM_COPYDATA.
win32u: Use user message packing for WM_HELP.
win32u: Use user message packing for WM_STYLECHANGING.
win32u: Use user message packing for WM_GETDLGCODE.
win32u: Use user message packing for scroll info messages.
win32u: Use user message packing for EM_GETSEL.
win32u: Use user message packing for messages passing RECT struct.
win32u: Use user message packing for EM_GETLINE.
win32u: Use user message packing for EM_SETTABSTOPS and LB_SETTABSTOPS.
win32u: Use user message packing for more messages passing string.
win32u: Use user message packing for CB_GETLBTEXT and LB_GETTEXT.
win32u: Use user message packing for LB_GETSELITEMS.
win32u: Use user message packing for WM_NEXTMENU.
win32u: Use user message packing for WM_MOVING and WM_SIZING.
win32u: Use user message packing for WM_MDICREATE.
win32u: Move packed structures declaration from ntuser.h.
win32u: Use user message packing for CB_GETCOMBOBOXINFO.
win32u: Use user message packing for WM_MDIGETACTIVE.
win32u: Remove no longer needed NtUserWinProcResult.
win32u: Use user message packing for WM_DEVICECHANGE.
win32u: Move more of unpack_message implementation from user32.
win32u: Remove no longer needed process_packed_message.
win32u: Remove no longer needed needs_unpack from win_proc_params.
win32u: Remove no longer needed NtUserSendDriverMessage.
win32u: Pack input param for CB_GETCOMBOBOXINFO message.
ieframe/tests: Use less strict checks in session count tests.
cscript: Build as CUI application.
Jactry Zeng (4):
shlwapi/tests: Test UrlUnescapeW() with independent data.
kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW().
shlwapi/tests: Test UrlUnescapeW() with URL_UNESCAPE_AS_UTF8.
mshtml: Call UrlUnescapeW() with URL_UNESCAPE_AS_UTF8 in is_gecko_path().
James Beddek (1):
mshtml: Check for non-NULL plugin host before trying to hold ref.
Jeff Smith (27):
gdiplus/tests: Factor out property_test_data struct.
gdiplus/tests: Allow for testing properties of multiple GIF samples.
gdiplus: Expose GIF background index property only when global color table present.
gdiplus: Set GIF frame delay and loop count properties correctly.
gdiplus: Return GIF frame property only if set.
gdiplus: Set correct frame delay when GCE is missing.
windowscodecs: PROPVARIANT fields should use CoTaskMem allocation.
windowscodecs: Handle PNG histogram (hIST) chunk type.
windowscodecs/tests: Move compare_metadata function so it can be used earlier.
windowscodecs: Handle PNG last-modification time (tIME) chunk type.
gdiplus/tests: Use compare_uint() in compare_float() instead of abs().
d3dx9_36/tests: Use compare_uint() in compare_float() instead of abs().
d3dx10_43/tests: Use compare_uint() in compare_float() instead of abs().
d3dcompiler_43/tests: Use compare_uint() in compare_float() instead of abs().
d2d1/tests: Use compare_uint() in compare_float() instead of abs().
msvcp120/tests: Use compare_uint() in compare_float() instead of abs().
d3d10core/tests: Use compare_uint() in compare_float() instead of abs().
d3d11/tests: Use compare_uint() in compare_float() instead of abs().
d3d8/tests: Use compare_uint() in compare_float() instead of abs().
d3d9/tests: Use compare_uint() in compare_float() instead of abs().
d3drm/tests: Use compare_uint() in compare_float() instead of abs().
ddraw/tests: Use compare_uint() in compare_float() instead of abs().
gdiplus/tests: Factor out check_properties functions.
gdiplus: Refactor png_metadata_reader.
gdiplus: Set PNG unit properties always.
gdiplus: Set PNG date-time property when present.
gdiplus: Set PNG palette histogram property when present.
Jinoh Kang (4):
xmllite: Eliminate DECLSPEC_HIDDEN.
ntdll: Avoid relying on linux/ipx.h to define SOL_IPX.
ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.
server: Avoid relying on linux/ipx.h to define SOL_IPX.
Lauri Kenttä (1):
po: Update Finnish translation.
Maxim Karasev (3):
kerberos: Implement KerbQueryTicketCacheExMessage.
secur32: Add stub message for unimplemented name types in GetUserNameExW.
whoami: Refactor and add more commands.
Michael Skorokhodov (1):
win32u: Add DriverVersion string for GPUs to registry.
Michael Stefaniuc (7):
vbscript/tests: Remove the need for a2bstr() in createobj.c.
vbscript/tests: Avoid using a2bstr() for static strings.
vbscript/tests: Avoid using a2bstr() in the run.c helpers.
vbscript/tests: Avoid using a2bstr() in the vbscript.c helpers.
vbscript/tests: Remove the last usage of a2bstr() in vbscript.c.
shell32/tests: Get rid of the a2bstr() helper.
msxml3/tests: Use wide strings to generate BSTRs in schema.c.
Mohamad Al-Jaf (28):
include: Add support for IAsyncOperation UINT32.
include: Add support for IAsyncOperation parameterized type IBuffer.
include: Add windows.devices.usb.idl file.
windows.devices.usb: Add stub DLL.
windows.devices.usb: Add IUsbDeviceStatics stub interface.
windows.devices.usb: Implement IUsbDeviceStatics::GetDeviceSelectorVidPidOnly().
windows.devices.usb/tests: Add IUsbDeviceStatics::GetDeviceSelectorVidPidOnly() tests.
windows.networking.hostname/tests: Check if passed HSTRING is duplicated.
windows.networking.hostname: Duplicate passed HSTRING in IHostNameFactory::CreateHostName().
msvcp140_codecvt_ids: Add DLL.
graphicscapture: Trim default debug channel.
widl: Add support for default_overload attribute.
include: Add windows.security.isolation.idl file.
hvsimanagementapi: Add stub DLL.
hvsimanagementapi: Add IIsolatedWindowsEnvironmentHostStatics stub interface.
hvsimanagementapi/tests: Add IIsolatedWindowsEnvironmentHostStatics::get_IsReady() tests.
hvsimanagementapi: Implement IIsolatedWindowsEnvironmentHostStatics::get_IsReady().
include: Add IDeviceInformationStatics interface definition.
windows.devices.enumeration: Add IDeviceInformationStatics stub interface.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcherAqsFilter().
windows.devices.enumeration/tests: Add IDeviceInformationStatics::CreateWatcherAqsFilter() tests.
include: Add IPackageStatics interface definition.
include: Add IRandomAccessStream interface definition.
include: Add IStorageFile interface definition.
include: Add windows.storage.fileproperties.idl file.
include: Add IStorageItem interface definition.
include: Add windows.storage.search.idl file.
include: Add IStorageFolder interface definition.
Nikolay Sivov (5):
d2d1/tests: Add some more tests for effect shader loading.
d2d1: Use device instance pointer in device context structure.
d2d1: Keep effect shader objects at device level.
d3d11/tests: Fix typos in a test cleanup (Coverity).
mf: Implement MFCreateSequencerSegmentOffset().
Paul Gofman (16):
nsiproxy.sys: Detect wireless interface type on Linux.
ntdll: Match Windows used block filling.
nsi: Add stubs for NsiRequestChangeNotification[Ex].
nsi: Add stub for NsiCancelChangeNotification.
nsi/tests: Add test for change notifications.
nsi: Cache nsi device handle.
winhttp: Set FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on sockets.
winhttp: Skip unexpected completions in netconn_wait_overlapped_result().
nsi: Forward request to nsiproxy from NsiRequestChangeNotification().
nsi: Implement NsiCancelChangeNotification().
nsiproxy.sys: Implement change notifications for NSI_IP_UNICAST_TABLE.
iphlpapi: Link NotifyAddrChange and CancelIPChangeNotify to nsi implementation.
d3d11/tests: Add basic tests for keyed mutexes.
opengl32: Skip debug callback messages called from native thread.
winex11.drv: Fix buffer allocation size in import_xdnd_selection().
winex11.drv: Release old drawables after setting new ones in sync_context().
Petrichor Park (3):
wined3d: Implement a zero-safe normalize function for FFP.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting_footer.
Piotr Caban (22):
userenv: Fix setting ALLUSERSPROFILE and ProgramData in CreateEnvironmentBlock.
winedump: Add initial support for dumping Windows NT Registry Files (REGF).
wineps.drv: Flush spool data even if there are no pages to print.
winedump: Fix non null terminated strings printing in regf files.
winedump: Add support for decoding data stored in offset in regf files.
winedump: Support REG_DWORD values in regf files.
winedump: Support dumping default values without VAL_COMP_NAME flag.
winedump: Fix empty string handling in regf files.
winedump: Support REG_EXPAND_SZ values in regf files.
winedump: Support REG_NONE values in regf files.
winedump: Support REG_BINARY values in regf files.
winedump: Support REG_MULTI_SZ values in regf files.
winedump: Skip data blocks when dumping regf files.
winedump: Enlarge buffer in dump_want_n helper.
winedump: Don't dump volatile keys from regf file.
winedump: Support dumping UTF16 value names in regf files.
winedump: Support REG_QWORD values in regf files.
bcrypt: Add BCRYPT_KEY_STRENGTH key property implementation.
include: Add LEGACY_RSA*_BLOB definitions.
bcrypt: Add support for importing LEGACY_RSAPRIVATE_BLOB keys.
bcrypt/tests: Add LEGACY_RSAPRIVATE_BLOB key import tests.
magnification: Add stub dll.
Rémi Bernon (10):
mf/tests: Shutdown MF if MP4 source isn't supported.
mf/tests: Add missing line end in test message.
winegstreamer: Use a fixed size type for wg_sample data pointer.
dinput: Unacquire only DISCL_FOREGROUND devices on foreground changes.
imm32: Hide the composition window if the string is empty.
winegstreamer: Avoid releasing wg_allocator memory samples twice.
winegstreamer: Keep default decodebin queue limits.
mfplat/tests: Create the test_callback event in the constructor.
mfplat/tests: Test that BeginRead doesn't use MFASYNC_CALLBACK_QUEUE_STANDARD.
mfplat: Use MFASYNC_CALLBACK_QUEUE_IO for byte stream async requests.
Santino Mazza (4):
evr: Release sample queue when streaming ends.
evr: Create critical section for sample queue.
evr: Don't lock presenter allocator when calling NotifyRelease.
evr: Remove process input handling from streaming thread.
Shaun Ren (5):
sapi: Call CoInitializeEx/CoUninitialize in async_worker.
sapi: Start async queue in ISpVoice::SetOutput.
sapi/tests: Add test for implicit MTA initialized by SpVoice.
sapi: Change ISpObjectToken::SetId FIXME to TRACE.
sapi/tests: Increase timeout in tts test_spvoice.
Stefan Dösinger (5):
ntdll: Try to raise the file limit above OPEN_MAX on MacOS.
dxgi: Read back the swapchain size assigned by wined3d.
wined3d: Make wined3d_swapchain_desc in wined3d_swapchain_create const.
wined3d: Move zero swapchain parameter fixup to wined3d_swapchain_state_init.
dxgi/tests: Test swapchains with zero dimensions.
Sven Baars (9):
uiautomationcore: Fix a sizeof() argument (Coverity).
wldap32: Fix a mod_type leak (Valgrind).
wldap32: Fix a message leak in ldap_parse_resultW() (Valgrind).
ldap: Free the output buffer after every InitializeSecurityContextA() call (Valgrind).
quartz: Fix some critical section leaks (Valgrind).
quartz/tests: Fix some media type leaks (Valgrind).
quartz: Fix a system clock leak (Valgrind).
quartz/tests: Fix some memory leaks in test_add_source_filter() (Valgrind).
strmbase: Fix a critical section leak (Valgrind).
Tim Clem (4):
wow64: Correct a reversed strcpy in wow64_NtQuerySystemInformation(SystemModuleInformation).
server: Avoid a mach port leak on Apple Silicon.
winemac.drv: Support cooperative app activation in macOS 14 Sonoma.
ntdll: Add error and warning logs in more cases of memory exhaustion.
Torge Matthies (7):
server: Don't consider non-pending poll requests when reselecting socket.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentEncode.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentDecode.
wintrust: Fix segfault in CRYPT_AsnEncodeAttributeTypeValue.
wintrust: Encode SPC_INDIRECT_DATA_CONTENT digest as an octet string.
wintrust: Encode algorithm id without parameters if pszObjId is NULL.
wintrust: Decode a zero-length OID to an empty string.
Victor Chiletto (3):
msvcrt: Remove unused struct locale_search_t member.
msvcrt: Fix memory leak in create_locinfo.
msvcrt: Remove uses of wcsncpy from locale_to_sname.
Vitaly Lipatov (12):
include: Update SECURITY_LOGON_TYPE and SECURITY_LOGON_SESSION_DATA in ntsecapi.h.
include: Update COMPRESSION_ defines and move it to ddk/ntifs.h.
ntdll: Use COMPRESSION_FORMAT_MASK instead of ~COMPRESSION_ENGINE_MAXINUM.
include: Add some missing defines.
include: Use compatible file guard name (_NTSECAPI_, _NTSECPKG_).
include: Add specstrings_strict.h with some defines.
include: Include ncrypt.h in wincrypt.h.
include: Add missing PCWCHAR to winnt.h.
include: Add initial activeds.h.
include: Add standalone LSA_OBJECT_ATTRIBUTES prototype if ntdef.h is not included.
advapi32: Print name for POLICY_INFORMATION_CLASS argument.
secur32: Print name for EXTENDED_NAME_FORMAT argument.
Yuxuan Shui (3):
mshtml: Implement window.MutationObserver with MutationObserver stub.
mshtml: Add stubs for MutationObserver methods.
jscript: Fix Array.prototype.splice with omitted deleteCount in ES5+ mode.
Zebediah Figura (48):
quartz: Call EnumMatchingFilters() once in autoplug().
amstream: Release the previous ddraw in ddraw_IAMMediaStream_Initialize().
amstream/tests: Fix a leak in test_ddrawstream_begin_flush_end_flush().
ws2_32/tests: Increase the timeout on some FD_CLOSE tests.
ws2_32/tests: Give an event test marked todo a bit more time to fail on Wine.
ws2_32/tests: Update test_write_watch() for Windows 11.
ws2_32/tests: Use closesocket(), not close().
ws2_32/tests: Execute test_iocp() near the end.
server: Move the implementation of IOCTL_AFD_GET_EVENTS to a dedicated server call.
ws2_32: Move the event reset in WSAEnumNetworkEvents() to the server.
httpapi/tests: Do not test that a local TCP port is closed.
wined3d: Move wined3d_device_apply_stateblock() to stateblock.c.
wined3d: Remove states not used by d3d10+ from wined3d_device_context_set_state().
wined3d: Add helpers to retrieve shader constants from a wined3d_stateblock.
wined3d: Store push constants in wined3d_buffers in struct wined3d_state.
d3d11/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Use the varying count from struct wined3d_d3d_info in pixel_shader_init().
wined3d: Track WINED3D_GL_NORMALIZED_TEXRECT in struct wined3d_d3d_info as well.
wined3d: Store the sample count in struct wined3d_d3d_info.
wined3d: Move struct wined3d_gl_info to struct wined3d_adapter_gl.
wined3d: Move struct wined3d_gl_info to wined3d_gl.h.
wined3d: Move some wined3d_gl_info functions to wined3d_gl.h.
wined3d: Remove the no longer used "specular_func_3ubv" declaration.
wined3d: Move the ffp_attrib_ops to wined3d_gl_info.
wined3d: Move more miscellaneous GL declarations to wined3d_gl.h.
wined3d: Avoid uploading deferred context maps more than once.
wined3d: Pass map flags to wined3d_context_copy_bo_address().
wined3d: Do not load UAV locations when clearing if not necessary.
qcap/tests: Add more tests for audio record media types.
qcap/audiorecord: Enumerate the currently set media type first.
wined3d: Move struct wined3d_bo_gl to wined3d_gl.h.
wined3d: Avoid using GL-specific types in struct wined3d_stream_info.
wined3d: Move struct wined3d_fence to wined3d_gl.h.
wined3d: Move struct wined3d_query_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_info to wined3d_gl.h.
wined3d: Release push constant buffers in wined3d_device_uninit_3d().
wined3d: Store the map pointer in the wined3d_deferred_upload structure.
wined3d: Allocate GPU BOs for discard maps on deferred contexts.
wined3d: Remove BO users from the list when invalidating them.
wined3d: Separate a wined3d_context_vk_load_buffers() helper.
wined3d: Implement a copy-on-write scheme for whole buffer uploads.
configure: Fail if --enable-archs is used and any cross-compiler is missing.
opengl32: Preserve the remainder of the version string when limiting the version to 4.3.
wined3d: Move struct wined3d_context_gl to wined3d_gl.h.
wined3d: Pass a wined3d_adapter instead of wined3d_gl_info to FFP pipe emulation mask methods.
wined3d: Move GL-specific blitter create function declarations to wined3d_gl.h.
wined3d: Move struct wined3d_adapter_gl to wined3d_gl.h.
wined3d: Move struct wined3d_device_gl to wined3d_gl.h.
Zhao Yi (1):
comctl32/listview: Reset bNoItemMetrics to make sure that listview items can be arranged correctly.
Zhiyi Zhang (5):
mfmediaengine/tests: Test IMFMediaEngine::GetDuration().
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
mfmediaengine/tests: Fix a test failure in test_GetDuration().
mfmediaengine/tests: Test IMFMediaEngine::GetSeekable().
mfmediaengine: Implement media_engine_GetSeekable().
Ziqing Hui (10):
winegstreamer: Add stubs for media sink.
winegstreamer: Add stubs for stream sink.
winegstreamer: Implement IMFMediaEventGenerator for stream sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Add async command handling to media sink.
winegstreamer: Implement GetStreamSinkCount for media sink.
winegstreamer: Implement GetStreamSinkByIndex for media sink.
winegstreamer: Implement GetStreamSinkById for media sink.
1
0
The Wine development release 8.13 is now available.
What's new in this release:
- Wow64 support in WineGStreamer.
- WeakMap support in JScript.
- Georgian translation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.13.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 8.13 (total 36):
- #24614 Multiple games crash or hang on startup due to D3DXAssembleShader not handling apostrophes in comments (Medieval II: Total War, Yu-Gi-Oh! ONLINE 3 client)('winetricks -q d3dx9_xx' is a workaround)
- #35690 Steam network hang ups.
- #35701 League of Legends: Right click contextual menu on friends list is invisible
- #35866 AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
- #41466 Steam: Tray icon menu sometimes flickers
- #42867 steam store doesnt work
- #44223 FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
- #44529 [Steam] Process remaining after exiting
- #45042 Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
- #45564 Kolab E14 Client installation fails with "Copy failed"
- #46221 League of Legends 8.23 crash after champion select
- #46888 Office 2007 word does not export to PDF/A
- #47328 Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
- #49371 Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
- #50771 msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
- #50868 League of Legends: infinite loading after login
- #51383 S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
- #51950 Iperf 2.0.8 hangs in parallel dual mode on localhost
- #51982 When installing Kobo for Desktop, user data meant for AppData\Local\Kobo is instead placed inside an arbitrary folder of the program's installation.
- #53446 Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
- #53723 Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
- #53890 comctl32:edit - test_ime() fails in Korean on Windows
- #54166 Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
- #54503 d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
- #54609 32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
- #54688 ntdll:info - test_query_cpu() fails on Windows 7
- #54871 kernel32:console - testScroll() fails on Windows 10 1909
- #54932 Fallout 3: Black screen when using the experimental wow64 mode
- #55032 Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
- #55078 Powerpoint 2007: "Print to file" broken
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55177 Hatching not printed in Framemaker 8
- #55181 Recent versions of chromium broken again, need ProcessPrng
- #55187 winedbg --auto crashes if target process terminates after attaching.
- #55247 Assertion in riched20 while installing Office 2007
- #55276 Dying Light 2: Stay Human crashes on launch
----------------------------------------------------------------
Changes since 8.12:
Alex Henrie (6):
webservices: Add missing const to url parameter of WsOpenListener.
include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
shell32: Free item lists with ILFree.
include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).
Alexandre Julliard (101):
comctl32: Use nameless unions/structs.
comdlg32: Use nameless unions/structs.
dinput: Use nameless unions/structs.
dplayx: Use nameless unions/structs.
riched20: Use nameless unions/structs.
urlmon: Use nameless unions/structs.
wintrust: Use nameless unions/structs.
wow64: Implement backend notification functions.
gitlab: Upgrade the Debian image to bookworm.
ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
psapi/tests: Use MAX_PATH size for arrays holding file paths.
kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
ntdll: Implement RtlWow64GetSharedInfoProcess().
adsldp: Use nameless unions/structs.
amstream: Use nameless unions/structs.
appwiz.cpl: Use nameless unions/structs.
cryptdlg: Use nameless unions/structs.
cryptnet: Use nameless unions/structs.
cryptui: Use nameless unions/structs.
dmloader: Use nameless unions/structs.
dmsynth: Use nameless unions/structs.
dmusic: Use nameless unions/structs.
dxdiagn: Use nameless unions/structs.
gitlab: Install the gstreamer packages from deb-multimedia.org.
d3drm: Use nameless unions/structs.
ddraw: Use nameless unions/structs.
ddrawex: Use nameless unions/structs.
explorerframe: Use nameless unions/structs.
fusion: Use nameless unions/structs.
gdiplus: Use nameless unions/structs.
hhctrl.ocx: Use nameless unions/structs.
ieframe: Use nameless unions/structs.
inetcomm: Use nameless unions/structs.
inetcpl.cpl: Use nameless unions/structs.
inetmib1: Use nameless unions/structs.
include: Add some new information classes.
configure: Always disable winegstreamer if gst/gst.h is broken.
mscoree: Use nameless unions/structs.
mshtml: Use nameless unions/structs.
msi: Use nameless unions/structs.
msxml3: Use nameless unions/structs.
ndis.sys: Use nameless unions/structs.
netio.sys: Use nameless unions/structs.
netprofm: Use nameless unions/structs.
oledb32: Use nameless unions/structs.
oledlg: Use nameless unions/structs.
gitlab: Make sure that the tags are fetched before building.
pdh: Use nameless unions/structs.
prntvpt: Use nameless unions/structs.
quartz: Use nameless unions/structs.
sane.ds: Use nameless unions/structs.
usbd.sys: Use nameless unions/structs.
wbemprox: Use nameless unions/structs.
wevtapi: Use nameless unions/structs.
wined3d: Use nameless unions/structs.
wineandroid.drv: Use nameless unions/structs.
winemac.drv: Use nameless unions/structs.
winex11.drv: Use nameless unions/structs.
winhttp: Use nameless unions/structs.
wininet: Use nameless unions/structs.
winmm: Use nameless unions/structs.
winspool.drv: Use nameless unions/structs.
strmbase: Use nameless unions/structs.
krnl386: Use nameless unions/structs.
mmsystem: Use nameless unions/structs.
ver: Use nameless unions/structs.
comctl32/tests: Use nameless unions/structs.
comdlg32/tests: Use nameless unions/structs.
compstui/tests: Use nameless unions/structs.
crypt32/tests: Use nameless unions/structs.
cryptui/tests: Use nameless unions/structs.
devenum/tests: Use nameless unions/structs.
dmsynth/tests: Use nameless unions/structs.
dplayx/tests: Use nameless unions/structs.
fusion/tests: Use nameless unions/structs.
gdi32/tests: Use nameless unions/structs.
gdiplus/tests: Use nameless unions/structs.
ieframe/tests: Use nameless unions/structs.
imagehlp/tests: Use nameless unions/structs.
inetcomm/tests: Use nameless unions/structs.
iphlpapi/tests: Use nameless unions/structs.
kernel32/tests: Use nameless unions/structs.
mfplat/tests: Use nameless unions/structs.
mshtml/tests: Use nameless unions/structs.
msi/tests: Use nameless unions/structs.
ntdll/tests: Use nameless unions/structs.
oledb32/tests: Use nameless unions/structs.
pdh/tests: Use nameless unions/structs.
quartz/tests: Use nameless unions/structs.
rpcrt4/tests: Use nameless unions/structs.
shlwapi/tests: Use nameless unions/structs.
urlmon/tests: Use nameless unions/structs.
user32/tests: Use nameless unions/structs.
wevtapi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
wininet/tests: Use nameless unions/structs.
winmm/tests: Use nameless unions/structs.
winspool.drv/tests: Use nameless unions/structs.
wintrust/tests: Use nameless unions/structs.
Alistair Leslie-Hughes (37):
appwiz: Remove DECLSPEC_HIDDEN usage.
sxs: Remove DECLSPEC_HIDDEN usage.
netprofm: Remove DECLSPEC_HIDDEN usage.
adsldp: Remove DECLSPEC_HIDDEN usage.
explorerframe: Remove DECLSPEC_HIDDEN usage.
wintab32: Remove DECLSPEC_HIDDEN usage.
msdaps: Remove DECLSPEC_HIDDEN usage.
mscms: Remove DECLSPEC_HIDDEN usage.
shlwapi: Remove DECLSPEC_HIDDEN usage.
widl: Remove unnecessary null check (Coverity).
windowscodecs: Remove misleading comment.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3d10: Remove DECLSPEC_HIDDEN usage.
d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
d3d8: Remove DECLSPEC_HIDDEN usage.
d3drm: Remove DECLSPEC_HIDDEN usage.
d3d9: Remove DECLSPEC_HIDDEN usage.
wbemdisp: Remove DECLSPEC_HIDDEN usage.
mf: Remove DECLSPEC_HIDDEN usage.
mfreadwrite: Remove DECLSPEC_HIDDEN usage.
mfplat: Remove DECLSPEC_HIDDEN usage.
kernelbase: Remove DECLSPEC_HIDDEN usage.
fusion: Remove DECLSPEC_HIDDEN usage.
wnaspi32: Remove DECLSPEC_HIDDEN usage.
msctf: Remove DECLSPEC_HIDDEN usage.
taskschd: Remove DECLSPEC_HIDDEN usage.
msado15: Remove DECLSPEC_HIDDEN usage.
twain_32: Remove DECLSPEC_HIDDEN usage.
gdiplus: Remove DECLSPEC_HIDDEN usage.
d3drm/tests: Show that viewport::render does not clear the background.
ddrawex: Remove DECLSPEC_HIDDEN usage.
dxgi: Remove DECLSPEC_HIDDEN usage.
d3d11: Remove DECLSPEC_HIDDEN usage.
d3dx10_43: Remove DECLSPEC_HIDDEN usage.
d2d1: Remove DECLSPEC_HIDDEN usage.
ddraw: Remove DECLSPEC_HIDDEN usage.
d3dx9_36: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
mfmediaengine/tests: Add tests for audio effects.
mfmediaengine: Add support for inserting audio effects.
Billy Laws (5):
wineboot: Always attempt setup for all machine types.
ntdll: Fix NtContinue from within exception context on ARM64.
ntdll/tests: Test that NtContinue restores all register state on arm64.
ntdll: Add aarch64 DWARF register definitions.
ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
Biswapriyo Nath (5):
include: Add ID2D1SpriteBatch in d2d1_3.idl.
include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
include: Add ID2D1DeviceContext3 in d2d1_3.idl.
include: Add ID2D1DeviceContext4 in d2d1_3.idl.
include: Add more CLSIDs in d2d1effects.idl.
Brendan Shanks (10):
win32u: Set zero_bits correctly for large address aware applications on Wow64.
winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
winealsa: Set zero_bits correctly for large address aware applications on Wow64.
wineoss: Set zero_bits correctly for large address aware applications on Wow64.
winepulse: Set zero_bits correctly for large address aware applications on Wow64.
ntdll: Don't release address space on 64-bit macOS.
configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
loader: In macOS preloader, add __program_vars section.
winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.
Chris Denton (1):
bcryptprimitives: ProcessPrng stub.
Connor McAdams (8):
uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
uiautomationcore: Add support for matching serverside events through navigation.
ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
uiautomationcore/tests: Add IUIAutomationEventHandler tests.
uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
David Kahurani (1):
gdiplus: Dump both variable address and internal values for matrices.
Davide Beatrici (2):
mmdevapi: Don't link to uuid.
mmdevapi: Implement get_audio_session.
Ekaterine Papava (1):
po: Add Georgian translation.
Eric Pouech (1):
conhost: Fix ctrl-c handling.
Fabian Maurer (2):
geolocation: Rename from windows.devices.geolocation.geolocator.
user32/tests: Remove DrawTextEx tests that overrun stack variable.
François Gouget (4):
user32/tests: Use win_skip() for missing APIs.
uxtheme/tests: Use win_skip() for missing APIs.
msvcrt/tests: Check that some functions are only available in 32-bit code.
riched20/tests: Make the editor paste test failures more informative and unique.
Gabriel Ivăncescu (10):
mshtml: Grab the binding while aborting it.
jscript: Convert unlink_props to a helper that unlinks the entire object.
jscript: Implement WeakMap instance stub and constructor.
jscript: Implement WeakMap.set().
jscript: Implement WeakMap.get().
jscript: Implement WeakMap.delete().
jscript: Implement WeakMap.clear().
jscript: Implement WeakMap.has().
mshtml/tests: Add tests for WeakMap.
jscript: Properly set JS_E_WRONG_THIS as a TypeError.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.258.
Giovanni Mascellani (7):
dxgi: Introduce a worker thread for the D3D12 swapchain.
dxgi: Move presentation to the worker thread.
dxgi: Move buffer resizing to the worker thread.
dxgi: Remove the worker event, which is now useless.
dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
dxgi: Wait before acquiring the Vulkan queue for presenting.
Hans Lehnert (1):
wininet: Handle http headers correctly when length is 0.
Hans Leidekker (5):
secur32/tests: Fix a test failure and extend tests.
include: Add Uri runtime class and related definitions.
include: Add ProcessorArchitecture winrt enum.
include: Add windows.storage.idl.
include: Add windows.applicationmodel.idl.
Jacek Caban (12):
user32: Return result from dispatch_win_proc_params.
win32u: Return result from dispatch_win_proc_params.
win32u: Remove no longer needed result pointer from win_proc_params.
win32u: Always use result returned directly from call_window_proc.
user32: Always use NtCallbackReturn in User32DrawText.
wow64win: Define more 32-bit types.
wow64win: Support in place conversion in 64to32 struct conversion helpers.
wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
win32u: Pass module name before packed lparam in win_hook_params.
win32u/tests: Add tests for handling LPARAM in window procs and hooks.
Jacob Czekalla (1):
comdlg32: Add parent folder button to IFileDialog.
Jeff Smith (10):
gdiplus: Dash pattern scaling does not shrink below line width 1.0.
gdiplus/tests: Fix mangled test output when dumping data in hex format.
gdiplus/tests: Use consistent no-alternate value for image properties.
gdiplus/tests: Add GIF to image properties tests.
gdiplus/tests: Use test context for test ran in a loop.
gdiplus/tests: Pare down image property tests that are not run for Wine.
gdiplus: Fix GdipGetPropertySize return value when no properties exist.
gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
windowscodecs: Factor out common GIF palette copying logic.
windowscodecs: Allow GIF with no color table.
Jinoh Kang (11):
riched20: Wrap marked paragraphs at Text Services initialization.
riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
riched20: Don't call ME_UpdateRepaint inside set_selection().
ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
msi: Fully initialize the control structure in dialog_line_control().
msi: Make insertion order of line controls consistent with other controls.
msi: Don't open code dialog_add_control() in dialog_line_control().
ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
winegcc: Enable SafeSEH only on i386.
Kurt Kartaltepe (3):
winegstreamer: Replace pointers with handles in PE->Unix transition.
winegstreamer: Replace ambiguously sized/aligned elements.
winegstreamer: Implement Wow64 entrypoints in the Unix library.
Maxim Karasev (5):
include: Add UNICODE_NULL.
include: Update _SECURITY_INTEGER.
include: Add missing Kerberos related defines.
klist: Add a program that lists Kerberos tickets.
include: Add more Kerberos cache info types.
Nikolay Sivov (3):
d3dcompiler/tests: Add some tests for matrix packing order compile flags.
windows.globalization: Use separate AddRef/Release methods for the language factory.
d3dcompiler/tests: Add another test for matrix majority flags.
Paul Gofman (8):
d3d11/tests: Add basic test for shared resources.
include: Add initial ioring definitions.
kernelbase: Add stub for QueryIoRingCapabilities().
ntdll/tests: Add test for async cancel on pipe's last process handle close.
ws2_32/tests: Add test for async cancel on socket's last process handle close.
server: Cancel socket asyncs when the last handle in process is closed.
server: Cancel pipe asyncs when the last handle in process is closed.
user32/tests: Change display mode for correct monitor in check_preferred_mode().
Petrichor Park (1):
notepad: Use GetDpiForWindow().
Piotr Caban (6):
wineps: Fix SetTextJustification playback with 0 count parameter.
wineps: Buffer data sent to printer port.
services: Exit early in process_send_start_message if ConnectNamedPipe fails.
msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
msvcrt: Improve locale_to_sname error handling.
msvcrt: Set sname_match in locale_to_sname when returning cached result.
Shaun Ren (16):
sapi: Invoke AddRef in mmaudio SetObjectToken.
sapi: Invoke AddRef in ISpVoice::SetVoice.
sapi/tests: Fix intermittent duration test failure in mmaudio.
sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
include: Fix ISpTTSEngineSite::GetActions return type.
sapi: Handle queue not initialized in async_empty_queue.
sapi: Reset empty event after queuing a task in async_queue_task.
sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
sapi: Implement synchronous ISpVoice::Speak.
sapi: Introduce ISpTTSEngineSite stub.
sapi: Implement ISpVoice::Speak speak_proc.
sapi: Implement ISpTTSEngineSite::Write.
sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
sapi: Return wait status in async_wait_queue_empty.
sapi: Implement ISpVoice::WaitUntilDone.
Sven Baars (6):
wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
ntdll: Test against the correct limit in get_extended_params().
ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.
Tim Clem (4):
wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
shell32: Don't fall back to $HOME for missing user special folders.
wmp: Don't release a NULL typelib.
wmp: Release filter graph and interfaces if WMPControls::play fails.
Torge Matthies (1):
ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
Victor Chiletto (9):
msvcr110/tests: Add tests for new setlocale behaviors.
msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
msvcrt: Use snames instead of LCIDs in create_locinfo.
msvcrt: Convert locale_to_LCID to snames.
msvcrt: Skip exhaustive locale search with valid snames.
msvcrt: Simplify set_lc_locale_name.
msvcrt: Remap synonyms to snames.
msvcrt: Use GetLocaleInfoEx to compare locale info.
user32: Add hotpatch prologue to RegisterRawInputDevices.
Yuxuan Shui (1):
msvcrt: Fix out-of-bound access in create_locinfo.
Zebediah Figura (14):
wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
opengl32: Copy to the wow64 buffer even for write maps.
opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
wined3d: Move the wined3d_vk.h include to individual files.
Zhao Yi (2):
comctl32/tests: Add a test case to get syslinkid.
comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
Zhiyi Zhang (3):
comctl32/tests: Add Korean IME specific test sequences.
user32/tests: Add Korean IME specific test sequences.
winex11.drv: Move the dummy parent window to (0, 0).
1
0
The Wine stable release 8.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.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 8.0.2 (total 27):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection(a)_UnrealizedChore@details(a)Concurrency@@IAEXXZ
- #53826 Attempting to install / update battle.net fails with Qt error
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception(a)std@@YAXVexception_ptr(a)1@@Z
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54819 DnsQuery_A() mishandles CNAME DNS records
- #54882 Conemu fails to start (cannot attach to process)
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.0.1:
Alex Henrie (12):
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
winex11: Simplify confusing condition and error messages in wglShareLists.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (3):
kernelbase: Move to a higher address on 64-bit.
ntdll: Fix typo in the check for hidden files.
wininet/tests: Update expected WineHQ certificate.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Biswapriyo Nath (2):
include: Fix c++ compiler error with msxml2.idl.
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
winemac: Fix memory leak in UpdateDisplayDevices.
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
David Kahurani (1):
shlwapi: Implement StrFormatByteSizeEx.
Eric Pouech (3):
winedbg: Don't crash when no search path has been set.
evr: Fix incorrect integral computation.
winedump: Fix out of bounds access (spotted by GCC13).
François Gouget (2):
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
Gabriel Ivăncescu (8):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
Hans Leidekker (3):
ldap: Return an error when the server doesn't respond to the SSL handshake.
ws2_32: Skip non-address records in dns_only_query().
winhttp/tests: Fix a test failure.
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Jinoh Kang (2):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Michael Stefaniuc (2):
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
threadpoolwinrt: Forward a Release() to a Release() method.
Mohamad Al-Jaf (4):
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
Nikolay Sivov (1):
mfplat: Implement MFCreatePathFromURL().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (2):
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ntdll: Avoid integer overflow in block_get_subheap().
Piotr Caban (1):
localspl: Don't pass original document name to cupsStartDocument.
Sven Baars (1):
wine.inf: Put the Clients key in the right place.
Tim Clem (1):
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Tyson Whitehead (2):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
Vijay Kiran Kamuju (2):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (1):
ntdll: Make fd_set_file_info() static.
Zhiyi Zhang (4):
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
findstr: Add basic functionality.
wined3d: Add GPU information for AMD Raphael.
Ziqing Hui (1):
mfreadwrite: Fix an address of operator typo.
1
0
The Wine development release 8.12 is now available.
What's new in this release:
- Initial support for painting windows in the Wayland driver.
- Command stream performance improvements in WineD3D.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.12.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 8.12 (total 31):
- #7767 Zero G Software 'InstallAnywhere' installers crash or silently exit (Rosetta Stone, Reading Counts, World Religions, Parashara's Light Professional 7.0.1)
- #9378 Combat Mission Shock Force DEMO: 'Could not initialize OpenGL graphics.'
- #17868 tools/widl.c: warning: initialization discards qualifiers from pointer target type
- #38938 SlingPlayer 1.5 crashes when moving the main window
- #47089 32-bit Winamp 5.80 installer crashes in 64-bit WINEPREFIX after pressing 'Next'
- #49772 Memory safety issues in widl
- #53085 Free Video Converter complains about being unable to install .Net 2.0
- #53086 Free Video Converter needs certutil.exe
- #53907 SierraChart Freezes when allocating more than one account
- #54257 Missing support for Windows 2003 (5.2) in OleAut version detection
- #54532 msidb.exe: page fault on read access to 00000007 when importing a .idt file
- #54978 vbscript fails to compile Sub when End Sub on same line
- #54996 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (64)" / FileDispositionInformationEx
- #55053 Prometheus exporter for Windows needs DISPATCH_PROPERTYGET support in object_Invoke
- #55062 Starcraft II Graphics Only Work When Window is Out of Focus
- #55096 Moving loader to PIE removed loaded modules chain view from debuggers
- #55099 Excel 2016 crashes on date cell formatting
- #55101 DesignDoll Declaring An Error After Loading All Component In Splash Screen
- #55110 quartz:vmr7 & quartz:vmr9 sometimes exit prematurely in Wine
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55120 kernel32:debugger - test_debug_loop_wow64() gets wrong ntdll count in the new WoW mode
- #55124 Can't run Flutter SDK (cmd.exe doesn't support redirecting stderr for a block)
- #55126 Flutter application needs Windows.Devices.Geolocation.Geolocator
- #55128 dbghelp:dbghelp & dbghelp:path - Call to SymSetExtendedOption() prevents running on Windows 7, 8 & 10 <= 1607
- #55137 Missing support for SCARD_AUTOALLOCATE
- #55141 virtual desktop not rendering with some dual monitor setups (regression: 8.10 -> 8.11)
- #55144 Error when I run Navigraph FMS Data Manager
- #55146 Virtual desktop is fullscreen regardless of the desktop size setting in winecfg
- #55160 Loading Bay / Harry Potter Magic Awakened: Unable to install
- #55194 oleaut32:vartest - test_VarImp() fails in Wine
- #55201 Wine fails to build with clang-11.0.1 due to recent nameless unions/structs VARIANT changes
----------------------------------------------------------------
Changes since 8.11:
Alex Henrie (12):
dbghelp: Allocate real_path with the CRT and copy it to the module heap.
winegstreamer: Fix double free on error path in media_source_constructor (scan-build).
regedit: Fix memory leak on error path in RenameKey (scan-build).
shell32: Don't overallocate in Dde_OnRequest (scan-build).
include: Use correct header guard name in winstring.h.
include: Introduce wine_dbgstr_hstring and debugstr_hstring.
winspool: Declare JobW as a void pointer in SetJobA.
winhttp: Use specific types insted of sizeof(ULONG_PTR) in alloc_handle.
cmd: Allow numbered redirects at the beginning of a line.
vbscript: Use correct pointer type in add_match (scan-build).
include: Add REPARSE_(GUID_)DATA_BUFFER and related constants.
include: Add IsReparseTagNameSurrogate.
Alexandre Julliard (34):
ntdll/tests: Add some tests for NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement RtlIsCurrentProcess/Thread.
faudio: Import upstream release 23.07.
png: Import upstream release 1.6.40.
tiff: Import upstream release 4.5.1.
uiautomationcore: Fix some long/LONG mismatches.
oleaut32: Get rid of the DECIMAL access macros.
oleaut32: Use nameless unions/structs.
oleaut32/tests: Use nameless unions/structs.
ole32: Use nameless unions/structs.
ole32/tests: Use nameless unions/structs.
shell32: Use nameless unions/structs.
shell32/tests: Use nameless unions/structs.
shlwapi: Use nameless unions/structs.
oleaut32: Fix a typo introduced by last change.
combase: Use nameless union/structs.
crypt32: Use nameless union/structs.
dbghelp: Use nameless union/structs.
mountmgr.sys: Use nameless union/structs.
ntoskrnl.exe: Use nameless union/structs.
rpcrt4: Use nameless union/structs.
ws2_32: Use nameless union/structs.
include: Disallow Win32 va_list in Unix libraries.
include: Define LONG_PTR as int on llvm-mingw to avoid printf format warnings.
configure: Allow using clang as cross-compiler for multiple archs.
configure: Define __STDC__ to work around clang breakage in MSVC mode.
configure: Don't try to use a non-compliant cross-compiler.
advapi32/tests: Avoid sizeof() in traces.
dmstyle: Avoid sizeof() in traces.
kernel32/tests: Avoid sizeof() in traces.
ntoskrnl.exe/tests: Avoid sizeof() in traces.
wmvcore/tests: Avoid sizeof() in traces.
wtsapi32/tests: Avoid sizeof() in traces.
Alexandros Frantzis (10):
winewayland.drv: Introduce per-window driver data.
winewayland.drv: Basic Wayland toplevel surface support.
winewayland.drv: Ensure Wayland surface handlers don't access invalid data.
winewayland.drv: Introduce window_surface for Wayland.
winewayland.drv: Implement a simple window_surface flush.
winewayland.drv: Do not commit buffers to unconfigured surfaces.
winewayland.drv: Use a buffer queue for window_surface.
winewayland.drv: Track damaged buffer regions.
winewayland.drv: Update only the flushed bounds from the window_surface.
winewayland.drv: Send surface damage region to the compositor.
Alistair Leslie-Hughes (56):
wined3d: Rename shader_extract_from_dxbc to wined3d_shader_extract_from_dxbc.
dpnet: Remove DECLSPEC_HIDDEN usage.
dplayx: Remove DECLSPEC_HIDDEN usage.
dpvoice: Remove DECLSPEC_HIDDEN usage.
dpnet/tests: Remove DECLSPEC_HIDDEN usage.
msdasql: Remove DECLSPEC_HIDDEN usage.
mfsrcsnk: Remove DECLSPEC_HIDDEN usage.
infosoft: Remove DECLSPEC_HIDDEN usage.
mapi32: Remove DECLSPEC_HIDDEN usage.
sapi: Remove DECLSPEC_HIDDEN usage.
inetcomm: Remove DECLSPEC_HIDDEN usage.
dsdmo: Add Chorus effect stub.
dsdmo: Add Flanger effect stub.
dmsynth: Remove DECLSPEC_HIDDEN usage.
dmstyle: Remove DECLSPEC_HIDDEN usage.
dmband: Remove DECLSPEC_HIDDEN usage.
dmcompos: Remove DECLSPEC_HIDDEN usage.
dmusic: Remove DECLSPEC_HIDDEN usage.
dmscript: Remove DECLSPEC_HIDDEN usage.
dswave: Remove DECLSPEC_HIDDEN usage.
dmime: Remove DECLSPEC_HIDDEN usage.
dmloader: Remove DECLSPEC_HIDDEN usage.
oleaut32: Fix OaBuildVersion return for available windows versions.
oleaut32: Changed default return value to match prefix default.
msscript.ocx: Fake success in OnAmbientPropertyChange.
msscript.ocx: Fake success in IPersistStreamInit Load.
msscript.ocx: Fake success in FreezeEvents.
jscript: Remove DECLSPEC_HIDDEN usage.
vbscript: Remove DECLSPEC_HIDDEN usage.
amstream: Remove DECLSPEC_HIDDEN usage.
devenum: Remove DECLSPEC_HIDDEN usage.
qasf: Remove DECLSPEC_HIDDEN usage.
qcap: Remove DECLSPEC_HIDDEN usage.
qdvd: Remove DECLSPEC_HIDDEN usage.
qedit: Remove DECLSPEC_HIDDEN usage.
quartz: Remove DECLSPEC_HIDDEN usage.
oledb32: Remove DECLSPEC_HIDDEN usage.
ole32: Remove DECLSPEC_HIDDEN usage.
oleaut32: Remove DECLSPEC_HIDDEN usage.
oleacc: Remove DECLSPEC_HIDDEN usage.
oledlg: Remove DECLSPEC_HIDDEN usage.
combase: Remove DECLSPEC_HIDDEN usage.
riched20: Remove DECLSPEC_HIDDEN usage.
localspl: Remove DECLSPEC_HIDDEN usage.
spoolss: Remove DECLSPEC_HIDDEN usage.
winspool.drv: Remove DECLSPEC_HIDDEN usage.
wineps.drv: Remove DECLSPEC_HIDDEN usage.
urlmon: Remove DECLSPEC_HIDDEN usage.
shdocvw: Remove DECLSPEC_HIDDEN usage.
wininet: Remove DECLSPEC_HIDDEN usage.
xaudio2_7: Remove DECLSPEC_HIDDEN usage.
dsound: Remove DECLSPEC_HIDDEN usage.
winmm: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
advapi32: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
Ally Sommers (2):
ntdll/unix: Skip address conversion for SOCK_STREAM sockets in try_send().
ws2_32/tests: Add test for sendto() and recvfrom() on TCP sockets.
Andrey Gusev (1):
ntoskrnl.exe: Add PsSetLoadImageNotifyRoutineEx semi-stub.
Arkadiusz Hiler (1):
win32u: Don't affect nonclient area unless requested.
Bernhard Kölbl (5):
widl: Add basic support for the [deprecated] attribute.
include: Add Windows.Phone.PhoneContract api contract.
include: Add VoiceCommandSet runtimeclass with its dependencies.
mfmediaengine/tests: Add tests for video effects.
mfmediaengine: Add support for inserting video effects.
Billy Laws (3):
ntdll: Avoid using SOL_IPX to detect whether IPX is supported.
ws2_32: Avoid using SOL_IPX to detect whether IPX is supported.
server: Avoid using SOL_IPX to detect whether IPX is supported.
Brendan Shanks (1):
winevulkan: Set zero_bits correctly for large address aware applications on Wow64.
Connor McAdams (5):
uiautomationcore: Introduce UI Automation event thread.
uiautomationcore: Introduce custom uia_event_args structure.
uiautomationcore: Add partial support for raising serverside events.
uiautomationcore: Create a new node when raising serverside events.
uiautomationcore: Add support for invoking serverside event callbacks.
Damjan Jovanovic (1):
opengl32: Implement filtering on all the ChoosePixelFormat() flags that are ignored when unset.
Davide Beatrici (33):
winealsa: Use standard allocator in AudioClient's Initialize.
winecoreaudio: Use standard allocator in AudioClient's Initialize.
wineoss: Use standard allocator in AudioClient's Initialize.
winepulse: Move AudioClient's Initialize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Use mmdevapi's AudioClient's Initialize.
wineoss: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Refactor AudioClient's Release to match other drivers.
winepulse: Refactor AudioClient's Release to match other drivers.
winepulse: Move AudioClient's Release, AddRef into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Release, AddRef.
winecoreaudio: Use mmdevapi's AudioClient's Release, AddRef.
wineoss: Use mmdevapi's AudioClient's Release, AddRef.
winepulse: Move AudioClient's QueryInterface into mmdevapi.
winealsa: Use mmdevapi's AudioClient's QueryInterface.
winecoreaudio: Use mmdevapi's AudioClient's QueryInterface.
wineoss: Use mmdevapi's AudioClient's QueryInterface.
winepulse: Move AudioClient's vtable into mmdevapi.
winecoreaudio: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
wineoss: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winepulse: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winealsa: Refactor get_device_name_from_guid() to allocate memory dynamically.
winecoreaudio: Refactor get_device_name_from_guid() to allocate memory dynamically.
wineoss: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Move session_init_vols into mmdevapi.
winealsa: Move session_init_vols into mmdevapi.
winecoreaudio: Move session_init_vols into mmdevapi.
wineoss: Move session_init_vols into mmdevapi.
winepulse: Move create_session into mmdevapi.
winealsa: Move create_session into mmdevapi.
winecoreaudio: Move create_session into mmdevapi.
wineoss: Move create_session into mmdevapi.
Eric Pouech (9):
dbghelp: Add tests for SymSrvGetFileIndexInfo() for PDB files.
dbghelp: Implement SymSrvGetFileIndexInfo for PDB files.
dbghelp/tests: Don't call SymSetExtendedOption() directly.
dbghelp/tests: Use indirect call for SymSetExtendedOption.
d3dx9/tests: Clean up some ok() messages.
dbghelp: Use nameless union/structs.
winedbg: Cache wow64 status inside struct process.
winedbg: Add 'info system' command.
winedbg: Detect debuggee termination before first exception.
Esme Povirk (2):
win32u: Implement marshaling for CB_GETCOMBOBOXINFO.
win32u: Implement EVENT_OBJECT_SHOW/HIDE for window objects.
Evan Tang (2):
winemac.drv: Give Apple GPUs device IDs.
winemac.drv: Fix compile on macOS 10.14.
Fabian Maurer (14):
widl: Don't crash on nameless structs.
windowscodecs: Fake success in SetMetadataByName.
dcomp: Add stub for DCompositionCreateDevice3.
vbscript: Support one-line sub/function.
user32: Ignore invalid parameters in DrawTextEx when HDC is invalid.
kerberos: Avoid potentially uninitialized variable (clang-scan).
include/windows.foundation: Add double reference.
include: Add windows.devices.geolocation.geolocator.
windows.devices.geolocation.geolocator: Add stub dll.
windows.devices.geolocation.geolocator: Add stubs for IGeolocator.
windows.devices.geolocation.geolocator: Fake success for PositionChanged_add.
windows.devices.geolocation.geolocator: Implement IWeakReferenceSource.
windows.devices.geolocation.geolocator: Implement IWeakReference.
localspl: Add workaround for old versions of cups.h.
François Gouget (1):
user32/tests: Fix a WM_DISPLAYCHANGE broken() condition.
Gabriel Ivăncescu (21):
mshtml: Remove DECLSPEC_HIDDEN usage.
win32u: Don't clip fullscreen windows while capturing mouse pointer.
mshtml: Introduce helper to transfer node ownership to range points when AddRef isn't needed.
mshtml: Fix leak when obtaining previous node of range point.
mshtml: Fix leak when moving to next char in range point.
mshtml: Fix leak in find_prev_space.
mshtml: Fix text node leak in TextRange's text setter.
mshtml/tests: Fix element leak in test_elems.
mshtml/tests: Fix form element leak in test_form_item.
mshtml/tests: Fix attribute leak in test_attr.
mshtml/tests: Fix node leak in test_create_elems.
mshtml/tests: Fix node leaks in test_docfrag.
mshtml/tests: Fix performance leaks in test_document_mode_lock.
mshtml/tests: Fix element leak in test_frameset.
mshtml/tests: Fix node leak in test_replacechild_elems.
mshtml/tests: Fix performance leak in test_window.
mshtml/tests: Fix element leak in get_elem_doc.
mshtml/tests: Fix DispatchEx leak in test set_dispex_value.
mshtml/tests: Fix anchor element leaks in test helpers.
mshtml/tests: Fix area element leaks in test helpers.
mshtml/tests: Fix image element leaks in test helpers.
Georg Lehmann (1):
winevulkan: Keep deferred operation function params alive.
Giovanni Mascellani (6):
dxgi/tests: Test that the back buffer index is updated when Present() is called.
dxgi/tests: Test that the present count is updated when Present() is called.
dxgi: Consider vk_format a frontend field.
dxgi: Free the frontend images memory only once.
dxgi: Pass a VkImage to d3d12_swapchain_queue_present().
dxgi: Split D3D12/Vulkan resource creation and destruction.
Hans Leidekker (7):
winscard: Implement SCARD_AUTOALLOCATE for multi-string return values.
winscard: Map only the reader name in map_states_inA/W().
bcrypt: Add RC4 algorithm stub.
secur32: Fix a couple of return values.
secur32/tests: Get rid of workarounds for old Windows versions.
secur32: Reduce indentation level in schan_QueryContextAttributesA/W().
secur32/tests: Fix a test failure.
Jacek Caban (13):
ntdll: Inherit ConsoleHandle only by CUI processes.
gdi32: Don't use DECLSPEC_HIDDEN.
make_unicode: Don't use DECLSPEC_HIDDEN.
gdi32/uniscribe: Don't use DECLSPEC_HIDDEN.
ieframe: Don't use DECLSPEC_HIDDEN.
winegcc: Disable exporting all symbols on mingw targets.
winedump: Add support for dumping IMPORT_OBJECT_NAME_EXPORTAS symbols.
dbghelp: Use V_INT macro to access VARIANT value.
oleaut32/tests: Don't use __tagBRECORD type.
oleaut32: Don't use __tagBRECORD type.
oleaut32: Use macros to access variant members.
include: Don't force named VARIANT members when __STDC__ is defined.
wow64win: Fix NULL buffer handling in wow64_NtUserBuildHimcList.
Jiajin Cui (1):
shell32: Make sure wcmd has enough space to hold the string.
Joel Holdsworth (9):
include: Define FILE_DISPOSITION_INFORMATION_EX and friends.
ntdll: Initial implementation of FileDispositionInformationEx.
ntdll/tests: Add tests for FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll: Implement FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_DISPOSITION_ON_CLOSE.
ntdll: Implement FILE_DISPOSITION_ON_CLOSE.
ntdll/tests: Add tests for FILE_DISPOSITION_POSIX_SEMANTICS.
server: Replace unlink member of closed_fd with disp_flags.
ntdll: Implement FILE_DISPOSITION_POSIX_SEMANTICS.
Kevin Schmidt (1):
taskmgr: Use macro for the color black too.
Maarten De Braekeleer (1):
cmd: Fix 'if exist' with a directory/ as a parameter.
Matteo Bruni (14):
wined3d: Increase the CS queue size to 16 MiB on 64-bit architectures.
wined3d: Block in wined3d_cs_emit_present() when we reach the latency limit.
wined3d: Call YieldProcessor() when spinning waiting for CS commands.
wined3d: Make the CS thread yield CPU when it can't block waiting.
wined3d: Reduce CS spin count to 2000.
d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
d3dx9/tests: Get rid of unnecessary checks.
d3dx9/tests: Use test message contexts in test_ID3DXFont().
d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_effect_parameter_value().
d3dx9/tests: Get rid of unnecessary checks in test_effect_states().
d3dx9/tests: Use test contexts in test_effect_preshader_ops().
d3dx9/tests: Use test contexts in test_effect_commitchanges().
Michael Stefaniuc (3):
gdiplus/tests: Remove superfluous casts to self.
windows.gaming.input: Drop superfluous casts to self.
wow64win: Remove dangling space after newline in ERR() message.
Mohamad Al-Jaf (17):
twinapi.appcore: Add RegisterAppConstrainedChangeNotification() stub.
twinapi.appcore: Add UnregisterAppConstrainedChangeNotification() stub.
pnputil: Add stub program.
include: Add windows.devices.radios.idl file.
include: Add windows.devices.bluetooth.idl file.
windows.devices.bluetooth: Add stub DLL.
windows.devices.bluetooth: Add IBluetoothAdapterStatics stub interface.
windows.devices.bluetooth/tests: Add IBluetoothAdapterStatics::GetDeviceSelector() tests.
windows.devices.bluetooth: Implement IBluetoothAdapterStatics::GetDeviceSelector().
include: Add support for BYTE IReference.
include: Add windows.networking.connectivity.idl file.
include: Add windows.networking.idl file.
windows.networking.hostname: Add stub DLL.
windows.networking.hostname: Add IHostNameFactory stub interface.
windows.networking.hostname/tests: Add IHostNameFactory::CreateHostName() tests.
windows.networking.hostname: Implement IHostNameFactory::CreateHostName().
windows.networking.hostname: Implement IHostName::get_RawName().
Nikolay Sivov (3):
mfmediaengine/tests: Allocate notification object on heap for frame transfer tests.
mfmediaengine/tests: Use correct type for url argument in SetSourceFromByteStream().
mfmediaengine/tests: Remove unnecessary broken() result.
Paul Gofman (9):
Revert "crypt32: Do not create persistent container in CRYPT_CreateKeyProv().".
crypt32/tests: Test CertCreateSelfSignCertificate() without provider info.
crypt32/tests: Add test for CryptVerifyCertificateSignature() with ECC public key.
crypt32/tests: Test ECC message signature verification.
crypt32: Add OID info for szOID_ECC_PUBLIC_KEY.
crypt32: Factor out extract_hash() helper.
crypt32: Factor out cng_prepare_signature().
crypt32: Support CNG keys in CDecodeSignedMsg_VerifySignatureWithKey().
bcrypt: Pass GNUTLS_VERIFY_ALLOW_BROKEN to gnutls_pubkey_verify_hash2().
Piotr Caban (1):
gdi32: Fix DIB_PAL_INDICES usage handling in EMR_CREATEMONOBRUSH playback.
Rémi Bernon (26):
mfplat: Use QueryPerformanceCounter in MFGetSystemTime.
explorer: Use CRT allocation functions.
explorer: Use unprefixed debug macros.
explorer: Use wide string literals.
maintainers: Assume GStreamer media source maintainership.
winegstreamer: Keep a reference on the media source start descriptor.
winegstreamer: Lookup stream descriptors before starting streams.
winegstreamer: Create and destroy result entries using dedicated helpers.
winegstreamer: Rename winegstreamer_stream_handler to stream_handler.
winegstreamer: Lookup stream handler result using a dedicated helper.
winegstreamer: Remove unused props from create_object_context.
winegstreamer: Return early if no byte stream was provided.
winegstreamer: Simplify media source creation flags handling.
winegstreamer: Return a IMFMediaSource from media_source_constructor.
winegstreamer: Keep the caller result in create_object_context.
explorer: Use debugstr_devmodew helper to trace display mode.
explorer: Rename initialize_display_settings local variable.
explorer: Set virtual desktop primary adapter display settings.
explorer: Fix command-line parameter parsing.
winegstreamer: Move struct object_context around.
winegstreamer: Use a helper to create object_context.
winegstreamer: Pass the object context to media_source_create.
winegstreamer: Move byte stream caps checks to BeginCreateObject.
winegstreamer: Move stream length query to BeginCreateObject.
win32u: Update the display cache when virtual desktop mode changes.
winex11: Use gdi_display consistently for client_window requests.
Tim Clem (2):
winemac.drv: Don't expect an internal driver message to set last error.
win32u: Detect a missed WM_LBUTTONUP in the size/move loop.
Vladislav Timonin (2):
comdlg32: Return E_UNEXPECTED if IFileDialog is already shown.
comdlg32: Enable visual styles when showing IFileDialog.
Xin Xu (1):
include: Fix spelling error in InterlockedDecrementSizeT().
Zebediah Figura (20):
d3d11/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d10core/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d11/tests: Use more aligned offsets in test_clear_buffer_unordered_access_view().
opengl32: Do not expose ARB_buffer_storage on wow64.
opengl32: Do not report a GL version higher than 4.3 on wow64.
dxgi: Do not create a d3d11 swapchain object for the implicit swapchain.
wined3d: Factor out a swapchain_create_texture() helper.
wined3d: Recreate swapchain textures in wined3d_swapchain_resize_buffers().
wined3d: Remove no longer used arguments from wined3d_texture_update_desc().
wined3d: Set VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT.
wined3d: Reuse command buffers and fences.
wined3d: Create fences when the command buffer is allocated.
wined3d: Introduce wined3d_get_renderer().
d3d10core/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Move some definitions to wined3d_vk.h.
wined3d: Move struct wined3d_bo_vk to wined3d_vk.h.
wined3d: Move struct wined3d_image_vk to wined3d_vk.h.
wined3d: Move struct wined3d_query_vk to wined3d_vk.h.
wined3d: Move struct wined3d_context_vk to wined3d_vk.h.
wined3d: Move struct wined3d_adapter_vk to wined3d_vk.h.
Zhiyi Zhang (6):
kernelbase: Check if locale is NULL before using it in Internal_EnumDateFormats().
win32u: Create explorer with the thread effective access token.
user32/tests: Test monitor information with an invisible window station.
win32u: Use the window station name to check if an application is running as a service.
user32/tests: Test that an actual desktop window should be created on invisible window stations.
server: Allow creating a real explorer desktop window for invisible window stations.
1
0
The Wine development release 8.11 is now available.
What's new in this release:
- More mouse cursor clipping improvements.
- Support for TLS alerts.
- Increased available address space in WoW64 mode.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.11.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 8.11 (total 26):
- #48811 StarCraft II fails to load in staging
- #51640 LibreOffice 7.2.0 crashes while browsing directories
- #53682 wineboot shows "user_check_not_lock BUG: holding USER lock" on aarch64 since wine-7.14
- #54380 Installed windows driver triggers a window when running any program in winXP mode (unimplemented function ntoskrnl.exe.Ke386QueryIoAccessMap)
- #54442 experimental wow64 mode: doesn't show some graphical windows
- #54738 msi:action - The 64-bit test_register_class_info() fails in Wine
- #54742 The 64-bit advapi32:registry breaks the 32-bit test_redirection() in Wine
- #54751 The 64-bit advapi32:registry breaks test_CoGetPSClsid() in ole32:compobj in Wine
- #54797 Lunar Magic 3.33: Crashes with BadWindow unless WINEDEBUG=+all
- #54848 dnsapi:query - test_DnsQuery() fails on Rémi's Wine test machines
- #54980 wine lost ability to correctly handle printer(CUPS)-supplied fonts (several programs)
- #54993 Framemaker 8 crashes in internal search operation
- #55013 user32:monitor - test_EnumDisplayMonitors() sometimes fails on Linux
- #55016 xaudio2_8:xaudio2 - test_simple_streaming() crashes on Windows 8+
- #55027 Microsoft Office: IME result string may get doubled when edit is done
- #55042 IDictionary::Add() fails to add entries with numerical keys that have the same hashes
- #55043 Z-Vision for Windows: Assertion failed when clicking "LOAD" button.
- #55046 ALT-TAB broken with virtual desktop and capture mouse (regression: 8.9 -> 8.10)
- #55047 d3d test_cursor_clipping() fails
- #55050 Wine stucks when creating prefix
- #55051 Build regression in wine 8.10 using clang on aarch64 (error in backend: Invalid register name "x18")
- #55055 Japanese IME fails to clear composition string when deleting the only remaining character
- #55074 Multiple apps fail to show anything after launch in virtual desktop mode (Steam, Ubisoft Connect)
- #55088 Program crashes when Common Dialog File open function is called
- #55091 preloader build failure with GOTPCREL relocation
- #55097 cmd.exe does not handle PATH with leading or sequential semicolons
----------------------------------------------------------------
Changes since 8.10:
Akihiro Sagawa (1):
commdlg: Fix dialog template parser when caption starts with a DBCS character.
Alex Henrie (21):
windows.media.speech: Fix memory leak on error path in session_worker_thread_cb (scan-build).
shell32: Fix memory leak on error path in FolderItems_Constructor (scan-build).
rpcrt4: Don't use GetProcAddress for ole32 functions.
wldap32: Clean up LDAP_OPT_API_INFO.
wusa: Zero out identity on error path in read_identity.
msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).
msi: Fix double free on error paths in TransformView_Create (scan-build).
winhttp: Fix memory leak on error path in request_get_codepage (scan-build).
msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).
combase: Don't export hProxyDll or rpc_execute_call.
comdlg32: Don't use GetProcAddress for SHSimpleIDListFromPath.
comctl32: Remove duplicate declarations of MONTHCAL functions.
hhctrl: Initialize item->items to NULL in parse_index_sitemap_object (scan-build).
urlmon: Don't export urlmon_instance.
wininet: Don't overallocate in urlcache_encode_url_alloc (scan-build).
conhost: Use correct pointer type in edit_line_transpose_words (scan-build).
advpack: Check the return value of adv_install in DoInfInstallW (scan-build).
wbemprox: Fix memory leak on error path in enum_key (scan-build).
sane: Fix use after free in create_item (scan-build).
crypt32: Don't export CRYPT_CopyReversed.
ws2_32: Don't export num_startup.
Alexandre Julliard (39):
include: Remove redundant __WINE_USE_MSVCRT checks.
makefiles: Define WINE_UNIX_LIB for all files that are built for Unix.
loader: Make the loader position-independent on 64-bit.
winegcc: Fix an uninitialized variable warning in the PE build.
wow64: Don't force wow64 dlls to load at low addresses.
kernel32/tests: Fix the PROCESS_BASIC_INFORMATION exit status type.
server: Also enforce the size of varargs data structures.
ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS.
ntdll: Allocate 64-bit and kernel stacks in high memory.
ntdll: Load modules with a high base address in high memory.
ntdll: Make only the necessary pages writable in the ARM64EC code map.
kernelbase: Don't define stdcall functions on non-i386.
ntdll: Don't define stdcall functions on non-i386.
wow64cpu: Don't define stdcall functions on non-i386.
include: Don't support stdcall functions on non-i386.
makefiles: Pass the dll extension from configure.
makefiles: Make the dll extension a per-architecture variable.
makefiles: Don't build native import libraries for PE-only build.
makefiles: Disable native import libraries on ARM64.
conhost: Use nameless union/structs.
explorer: Use nameless union/structs.
ipconfig: Use nameless union/structs.
netstat: Use nameless union/structs.
oleview: Use nameless unions/structs.
regedit: Use nameless unions/structs.
services: Use nameless unions/structs.
include: Disallow fastcall functions in Unix libraries.
loader: Force building the main loader as PIE on 64-bit.
loader: Always build the main loader as PIE if we have a preloader.
loader: Build the preloader as PIE on 64-bit.
winecfg: Use nameless unions/structs.
winedbg: Use nameless unions/structs.
winefile: Use nameless unions/structs.
winemenubuilder: Use nameless unions/structs.
winhlp32: Use nameless unions/structs.
wordpad: Use nameless unions/structs.
wow64: Map a copy of ntdll to build the syscall table.
ntdll: Implement _errno().
wow64: Don't load the 32-bit ntdll as an image to avoid debugger notifications.
Alistair Leslie-Hughes (1):
wbemdisp: Support DISPATCH_PROPERTYGET in Object Invoke.
Andrey Gusev (1):
include: Add flags in D3D11_RESOURCE_MISC_FLAG.
Bernhard Kölbl (2):
mf: Clear queued topologies on session shutdown.
mf: Don't leak sink in session_get_renderer_node_service().
Connor McAdams (10):
uiautomationcore: Store all events in an event list.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore/tests: Add tests for cross-process events.
uiautomationcore: Add support for creating serverside events.
uiautomationcore: Prevent creation of duplicate serverside events.
uiautomationcore: Add support for advising providers of events on serverside events.
uiautomationcore: Implement UiaEventAddWindow.
Daniel Lehman (1):
wininet: Free temporary buffer in InternetQueryOptionW loop.
David Kahurani (3):
gdiplus: Allow NULL format in GdipAddPathString.
msi: Reject shorter/longer lines in MsiDatabaseImportA.
msi: Convert newlines to alternate representation when exporting.
Davide Beatrici (21):
winepulse: Move main loop logic into mmdevapi.
winealsa: Implement main_loop in unixlib.
winecoreaudio: Implement main_loop in unixlib.
wineoss: Implement main_loop in unixlib.
winepulse: Move AudioClient's Initialize's exclusive mode check into unixlib.
winepulse: Move get_application_name into mmdevapi.
winealsa: Call mmdevapi's get_application_name.
winecoreaudio: Call mmdevapi's get_application_name.
wineoss: Call mmdevapi's get_application_name.
winepulse: Move stream_release into mmdevapi.
winealsa: Use mmdevapi's stream_release.
winecoreaudio: Use mmdevapi's stream_release.
wineoss: Use mmdevapi's stream_release.
winealsa: Use mmdevapi's set_stream_volumes.
winecoreaudio: Use mmdevapi's set_stream_volumes.
wineoss: Use mmdevapi's set_stream_volumes.
winepulse: Use mmdevapi's set_stream_volumes.
winealsa: Use create_stream's channel count in AudioClient's Initialize.
winecoreaudio: Use create_stream's channel count in AudioClient's Initialize.
wineoss: Use create_stream's channel count in AudioClient's Initialize.
winepulse: Refactor AudioClient's Initialize to match other drivers.
Eric Pouech (9):
kernel32/tests: Extend console inheritance tests.
include/dbghelp.h: Added some missing definitions.
dbghelp: Create implementation basis for SymSrvGetFileIndex*().
dbghelp/tests: Add tests for SymSrvGetIndexesInfo.
dbghelp/tests: Add tests for SymSrvGetInfoIndexes.
dbghelp: Implement SymSrvGetFileIndexInfo for PE modules.
dbghelp/tests: Add explicit tests about loading ELF modules.
dbghelp: Fix reading Wine loader's base address.
winedump: Tidy up print out in minidumps.
Etaash Mathamsetty (2):
ntdll: Allow RtlAllocateHeap to crash with invalid handle.
user32: Add GetSystemDpiForProcess export.
Fabian Maurer (3):
wineps.drv: Use afm FamilyName instead of FullName.
mmdevapi: Don't redefine stream_handle (gcc 4.3).
gdiplus: Refactor and add comments for easier understanding.
Gabriel Ivăncescu (27):
jscript: Correctly implement context for indirect eval calls in ES5+ modes.
jscript: Fix addressing invalid memory if ref is an argument.
jscript: Fix function leak in scope_init_locals.
jscript: Get rid of jsobj in scope_chain_t.
jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
jscript: Store detached args into a scope's specialized buffer.
jscript: Start from the last argument when adding them to named locals.
jscript: Get rid of the function instance in arguments obj.
mshtml: Traverse and unlink AreaElements properly.
mshtml: Fix style declaration leak in HTMLStyle_Create.
mshtml: Fix nsIDOMNode leak when retrieving an item in the node list.
mshtml: Fix node leak when enumerating nodes.
mshtml: Handle failure and cleanup properly when enumerating nodes.
mshtml: Fix leaks in create_all_list.
mshtml: Fix element leaks in get_elem_source_index.
mshtml: Fix text node leak in Element innerText setter.
mshtml: Fix text node leak in OptionElement text setter.
mshtml/tests: Fix CurrentStyle leak in test_style_filters.
jscript: Use jsstr_empty instead of allocating empty string.
jscript: Implement `caller` for function instances and prototype.
jscript: Throw error when accessing `arguments` prop of bind functions.
jscript: Don't expose Function.prototype.arguments in non-html mode.
jscript: Store ref to scope directly instead of frame in arguments object.
jscript: Don't use detached arguments buffer in html mode.
jscript: Always create detached variable objects with no class.
jscript: Properly handle passing undefined value to Number.toPrecision.
jscript: Properly handle passing undefined value to Number.toString in ES5+ mode.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.254.
Giovanni Mascellani (5):
dxgi: Do not uselessly pass queue_family_index around.
dxgi: Remove now-useless function d3d12_swapchain_create_buffers().
dxgi: Do not destroy D3D12 resources unless requested.
dxgi: Only create D3D12 resources when necessary.
dxgi: Rename and split d3d12_swapchain_destroy_buffers().
Hans Leidekker (1):
secur32: Add support for sending TLS alerts.
Huw D. M. Davies (2):
winepulse: Don't overwrite the result in the insufficient buffer case.
winepulse: Return E_NOTIMPL when the property is not found.
Jacek Caban (3):
user32: Remove no longer used setupapi import.
win32u: Remove duplicated d3dkmdt.h include.
configure: Use -fvisibility=hidden when building with msvcrt and cross compiler is not available.
Jactry Zeng (2):
atl/tests: Move regular DWORD tests into a loop.
atl: Convert REG_DWORD to a correct type.
Jinoh Kang (1):
loader: Set the visibility of symbols in preloader to "hidden".
Liam Middlebrook (2):
cmd/tests: Add tests for PATH separator.
cmd: Fix empty strings between PATH separators.
Nikolay Sivov (4):
scrrun/dictionary: Compare key values in addition to their hashes.
oleaut32/recinfo: Use CRT allocation functions.
oleaut32/recinfo: Use CoTaskMem* allocations for the record data.
oleaut32: Trace typelib guid in GetRecordInfoFromGuids().
Olivier F. R. Dierick (1):
ntoskrnl.exe: Add Ke386QueryIoAccessMap stub.
Paul Gofman (1):
crypt32: Do not create persistent container in CRYPT_CreateKeyProv().
Rémi Bernon (41):
server: Pass the message code to get_hardware_msg_bit.
server: Use hardware message category when checking filter.
imm32: Avoid resizing IMCC to zero-size buffer.
winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY.
win32u: Move grab_pointer registry option from winex11.
win32u: Add a clipping_reset member to user_thread_info.
win32u: Add a clipping_cursor member to user_thread_info.
winex11: Move clip_fullscreen_window foreground check inside it.
win32u: Move fullscreen window cursor clipping from winex11.
server: Update desktop cursor window when cursor pos changes.
server: Keep track of the current desktop cursor handle.
server: Introduce and send new WM_WINE_SETCURSOR hardware message.
win32u: Add a hwnd parameter to SetCursor driver entry points.
win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR.
wineandroid: Set the window cursor immediately in SetCursor.
winex11: Set the window cursor immediately in SetCursor.
server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
winex11: Don't grab the cursor if another process is focused.
winex11: Simplify the cursor clipping retry mechanism.
winex11: Replace the clipping message HWND with a BOOL flag.
winegstreamer: Introduce new stream_descriptor_set_tag helper.
winegstreamer: Pass a struct wg_parser_stream to media_stream_create.
winegstreamer: Factor the creation of the first stream media type.
winegstreamer: Introduce new init_video_media_types helper.
winegstreamer: Introduce new init_audio_media_types helper.
winegstreamer: Pass the stream descriptor to media_stream_create.
win32u: Remove unnecessary set_cursor new_clip rect copy.
server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
win32u: Use a specific flag instead of shrinking the clip rect.
winegstreamer: Remove colorimetry and chroma-site from wg_format caps.
winegstreamer: Remove the callback mechanism from wg_allocator.
winegstreamer: Move release_memory_sample helper around.
winegstreamer: Lazily allocate wg_allocator unix memory.
imm32/tests: Test how deleting a character can behave.
imm32: Use offsets instead of lengths to decide on sending updates.
winex11: Report empty preedit string when result string is committed.
winex11: Make sure HIMC is opened before sending IME updates.
win32u: Split default UpdateDisplayDevices implementation to a helper.
win32u: Move virtual desktop display settings logic from winex11.
configure: Build x86_64 PE code with mcmodel=small.
Shaun Ren (8):
sapi: Partially implement ISpMMSysAudio::SetState.
sapi: Free completed buffers asynchronously in SpMMAudio.
sapi: Implement ISpMMSysAudio::Write.
sapi: Implement ISpMMSysAudio::EventHandle.
sapi: Implement ISpVoice::SetOutput.
sapi: Implement ISpVoice::Set/GetVoice.
sapi: Implement ISpVoice::Set/GetRate.
sapi: Implement ISpVoice::Set/GetVolume.
Tatsuyuki Ishi (3):
win32u: Move QueryDisplayConfig from user32.
win32u: Cleanup naming and log messages for QueryDisplayConfig.
win32u: Avoid SEGV in QueryDisplayConfig when run as service.
Tim Clem (1):
ntdll: Treat read faults on readable pages as write faults on macOS.
Vladislav Timonin (2):
shell32: Show >4GB values in size columns of My Computer.
shell32: Don't show size for inaccessible drives in My Computer.
Zebediah Figura (1):
xaudio2/tests: Fix the IID_IXAudio28 declaration.
Ziqing Hui (1):
winegstreamer: Implement Flush for WMV decoder DMO.
1
0
The Wine development release 8.10 is now available.
What's new in this release:
- All PE->Unix transitions go through the syscall interface.
- Mouse cursor clipping improvements.
- Support for virtual memory placeholders.
- Locale and timezone data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.10.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 8.10 (total 13):
- #18889 Multiple isolation-aware applications fail to load (MSN Messenger Live 2009, Lync 2010, Adobe Premiere Pro CS3, Quicken 201X)(embedded PE manifest search should support ISOLATIONAWARE_MANIFEST_RESOURCE_ID)
- #24946 uTorrent 2.2.0 hangs on startup (FD_WRITE event is reported over and over in WSAEnumNetworkEvents for a bound UDP socket)
- #27827 Creo Elements/Direct Modeling Express 4.0/6.0 loader failure due to missing msvcrt.dll dependency (native netapi32.dll imports msvcrt functions)
- #47808 Cygwin's mintty.exe crashes with a stack overflow
- #52868 TwitchTest crashes on unimplemented function IPHLPAPI.DLL.GetPerTcpConnectionEStats
- #53092 Animated Puzzles crashes on start
- #54410 .NET 3.5 Checkbox checkmarks should be black instead of "Foreground" color
- #54599 Honeygain crashes on unimplemented function IPHLPAPI.DLL.GetCurrentThreadCompartmentId
- #54810 PmxEditor 0.2.7.5 doesn't start after Wine 8.4.
- #54913 ntdll: NtDuplicateToken has wrong prototype
- #54949 user32:msg gets an extra WM_NCPAINT in ShowWindow(child, SW_SHOW)
- #54991 Chinese IME no longer works in Naver LINE since Wine 8.9
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.9:
Akihiro Sagawa (1):
winex11: Ignore BadWindow errors caused by XConfigureWindow.
Alex Henrie (29):
iphlpapi: Add GetCurrentThreadCompartmentId stub and a test.
iphlpapi: Add GetPerTcpConnectionEStats stub.
bcrypt/tests: Don't allocate inside todo_wine and free outside of it.
iphlpapi/tests: Use ~0u instead of ~0ul in testGetIpNetTable.
winegstreamer: Pass a QWORD pointer to IMFByteStream_GetLength.
wusa: Fix double free on error path in read_update_package (scan-build).
mscms: Fix double free on error path in EnumColorProfilesA (scan-build).
msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
msi: Make TransformView_Create static.
msi: Fix memory leak in ready_media (scan-build).
wbemprox: Fix memory leak on error path in create_view (scan-build).
jscript: Fix memory leak on error path in String_replace (scan-build).
jscript: Remove unnecessary call to malloc in strbuf_ensure_size.
conhost: Fix memory leak on error path in edit_line_move_to_history (scan-build).
localspl: Fix memory leak in lpr_start_doc (scan-build).
msvcrt: Use 'else if' in _wgetcwd.
wineusb: Fix memory leaks on error paths in usb_submit_urb (scan-build).
kerberos: Fix memory leaks in (wow64_)query_ticket_cache (scan-build).
dnsapi: Fix memory leak on error path in do_query_netbios (scan-build).
hhctrl: Fix memory leak on error path in resolve_filename (scan-build).
wldap32: Fix memory leak on error path in ldap_start_tls_sW (scan-build).
jscript: Fix memory leak on error path in regexp_string_match (scan-build).
vbscript: Fix memory leak on error path in RegExp2_Execute (scan-build).
wininet: Fix memory leaks on error paths in INTERNET_LoadProxySettings (scan-build).
vbscript: Fix memory leak on error path in alloc_vbscode (scan-build).
rpcrt4: Replace RPCRT4_strndupA with strdup.
winhttp: Fix double free on error path in queue_task (scan-build).
msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build).
regedit: Fix memory leak on error path in GetItemPath (scan-build).
Alexandre Julliard (46):
include: Don't align the stack for PE builds.
ntdll: Use x18 for the TEB on ARM64.
ntdll: Use nameless unions/structs for loader data.
ntdll: Use nameless unions/structs for CPU-related data.
ntdll: Use nameless unions/structs for IO_STATUS_BLOCK.
include: Only enable the non-inline NtCurrentTeb() on the Unix side.
wineps: Don't use CDECL for private functions.
win32u: Don't use WINAPI for the font enumeration function.
win32u: Don't use WINAPI for private functions.
ntdll: Don't pass arguments on the stack for user callbacks on ARM64.
ntdll: Don't pass arguments on the stack for user callbacks on x86-64.
ntdll: Don't pass arguments on the stack for user callbacks on i386.
ntdll: Don't pass arguments on the stack for user callbacks on ARM.
ntdll: Don't use WINAPI for KeUserModeCallback().
ntdll: Store the PE function pointers as simple void pointers.
include: Only declare __wine_unix_call() on the PE side.
ntdll: Use the sysv ABI for the %fs allocation function.
ntdll: Use the sysv ABI for setjmp/longjmp on the Unix side.
ntdll: Use the default ABI for all functions on the Unix side.
kernelbase: Update timezone data to version 2023c.
nls: Update locale data to CLDR version 43.
xslt: Import upstream release 1.1.38.
xml2: Import upstream release 2.11.4.
kernelbase: Use nameless unions/structs for loader data.
kernelbase: Use nameless unions/structs for CPU-related data.
kernelbase: Use nameless unions/structs for IO_STATUS_BLOCK.
kernel32: Use nameless unions/structs.
server: Send the APC call data as vararg in the queue_apc request.
server: Send the APC call data as vararg in the select request.
wininet/tests: Update expected WineHQ certificate.
ntdll: Support adding overlapping ranges in mmap_add_reserved_area().
ntdll: Add a helper function to unmap memory above the user space limit.
ntdll: Reimplement unmap_area() to avoid recursion and callbacks.
ntdll: Reimplement map_fixed_area() to avoid recursion and callbacks.
ntdll: Reimplement allocation inside a reserved area without using a callback.
ntdll: Reimplement allocation of the virtual heap without using a callback.
ntdll: Reimplement fill_basic_memory_info() without using a callback.
ntdll: Reimplement virtual_release_address_space() without using a callback.
ntdll: Report the remaining part of the 64K after a view as free.
ntdll: Use the full 4Gb for large address aware applications on Wow64.
ntdll: Update the reserved range on 64-bit to match the preloader.
ntdll: Use the sysv ABI for __wine_syscall_dispatcher_return().
winebuild: Set a 64-bit base address for generated 64-bit dlls.
winebuild: Update target-dependent characteristics after option parsing.
winedump: Dump version resources in a more structured way.
winedump: Dump manifest resources in a more structured way.
Alistair Leslie-Hughes (5):
xactengine: Correct interfaces for IXACT3Cue.
include: Use STDMETHOD when returning HRESULT.
krnl386.exe16: Don't overflow when calculating size.
xactengine: Correct XACTNOTIFICATIONTYPE_MAX value.
xactengine: IXACT3EngineImpl_CreateSoundBank isn't a stub.
André Zwing (1):
wow64: Ignore Thumb flag when parsing ARM syscall number.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (1):
mf/tests: Remove duplicate call to MFStartup().
Bernhard Übelacker (1):
comdlg32: Avoid crash in RemoveControlItem.
Billy Laws (1):
configure: Stash host LDFLAGS when configuring cross-compilers.
Connor McAdams (4):
uiautomationcore: Put general purpose helper functions into separate source file.
uiautomationcore: Add global interface table helper functions.
uiautomationcore: Respect ProviderOptions_UseComThreading on advise events interfaces.
uiautomationcore: Get IRawElementProviderAdviseEvents interfaces from embedded fragment root providers.
Daniel Lehman (2):
msi: Release record instead of free.
riched20: Update paragraph position in marked tree.
David Kahurani (1):
gdiplus: Handle Windows style newline.
Davide Beatrici (38):
wined3d: Fix uninitialized variable warning.
winepulse: Move AudioClient3 into mmdevapi.
winealsa: Use mmdevapi's AudioClient3.
winecoreaudio: Use mmdevapi's AudioClient3.
wineoss: Use mmdevapi's AudioClient3.
winepulse: Move AudioClient2 into mmdevapi.
winealsa: Use mmdevapi's AudioClient2.
winecoreaudio: Use mmdevapi's AudioClient2.
wineoss: Use mmdevapi's AudioClient2.
winepulse: Always initialize ref to 1 in session wrapper.
winepulse: Move session_wrapper_create into mmdevapi.
winealsa: Use mmdevapi's session_wrapper_create.
winecoreaudio: Use mmdevapi's session_wrapper_create.
wineoss: Use mmdevapi's session_wrapper_create.
winepulse: Lock sessions in AudioClient's GetService.
winepulse: Move AudioClient's GetService into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetService.
winecoreaudio: Use mmdevapi's AudioClient's GetService.
wineoss: Use mmdevapi's AudioClient's GetService.
winepulse: Move AudioClient's SetEventHandle, Reset, Stop into mmdevapi.
winealsa: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winecoreaudio: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
wineoss: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winepulse: Lock sessions in AudioClient's Start.
winecoreaudio: Lock sessions in AudioClient's Start.
winepulse: Move AudioClient's Start into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Start.
winecoreaudio: Use mmdevapi's AudioClient's Start.
wineoss: Use mmdevapi's AudioClient's Start.
winepulse: Move AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winecoreaudio: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
wineoss: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winepulse: Move AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
winecoreaudio: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
wineoss: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
mmdevapi: Handle CreateThread() failure in AudioClient's Start.
Eric Pouech (5):
dbghelp: Better handle very long C++ qualified identifiers in dwarf.
dbghelp/tests: Fix process kind detection on old Windows machines.
dbghelp/tests: Review old-wow64 expected values.
dbghelp/tests: Add more tests for module imagename handling.
dbghelp: Reimplement EnumerateLoadedModules().
Gabriel Ivăncescu (6):
mshtml: Fix classList toggle() when return value pointer is NULL.
jscript: Return undefined for empty RegExp captures in ES5+ mode.
jscript: Throw proper error for unexpected quantifiers in RegExp.
jscript: Throw proper error for out of memory conditions in RegExp.
mshtml/tests: Test RegExp.toString on object with separate RegExp flag props.
mshtml: Handle protocols with no ports when checking target origin.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.251.
Giovanni Mascellani (6):
dxgi: Document some struct d3d12_swapchain fields.
dxgi: Rename d3d12_swapchain_prepare_command_buffers().
dxgi: Store Vulkan formats in the swapchain object.
dxgi: Factor out d3d12_swapchain_create_image_resources().
dxgi: Move non-Vulkan-specific code out of d3d12_swapchain_create_vulkan_swapchain().
dxgi: Move Vulkan-specific code to d3d12_swapchain_create_vulkan_swapchain().
Jacek Caban (8):
win32u: Use syscall interface for all ntuser functions.
win32u: Implement NtGdiIcmBrushInfo and use it instead of __wine_get_brush_bitmap_info.
win32u: Extend NtGdiSetDIBitsToDeviceInternal for SetDIBits implementation.
win32u: Don't return full OUTLINETEXTMETRICW from __wine_get_file_outline_text_metric.
win32u: Use syscall interface for all exports.
ntdll: Get rid of hacks for direct unix calls.
wineps: Don't include gdi_driver.h from PE module.
win32u: Don't use CDECL for gdi_dc_funcs entries.
Jinoh Kang (7):
kernel32/tests: Remove test for ACTCTX_FLAG_HMODULE_VALID with hModule = NULL case.
kernel32/tests: Test setting lpResourceName to NULL for CreateActCtxW.
ntdll: Move ACTCTX lpResourceName validation to RtlCreateActivationContext.
kernel32/tests: Test loading assembly manifest resource inside dependencies.
ntdll: Don't hard-code DLL manifest resource ID when looking up dependency assembly.
user32/tests: Test for update region after showing a child window.
server: Update parent window region when exposing previously invisible window.
Joshua Ashton (1):
winevulkan: Include function name in asserts.
Martin Storsjö (1):
include: Fix the use of __getReg for aarch64/msvc mode.
Michael Stefaniuc (3):
ws2_32/tests: Remove superfluous casts to self.
wmvcore: Remove superfluous casts to self.
dbghelp: Remove superfluous casts to self.
Nikolay Sivov (8):
ole32/antimoniker: Use CRT allocation functions.
ole32/antimoniker: Fix Enum() return error code.
ole32/classmoniker: Use CRT allocation functions.
ole32/pointermoniker: Use CRT allocation functions.
ole32/itemmoniker: Use CRT allocation functions.
ole32/compositemoniker: Use CRT allocation functions.
ole32/filemoniker: Use CRT allocation functions.
ole32/git: Use CRT allocation functions.
Paul Gofman (13):
ntdll: Support MEM_COALESCE_PLACEHOLDERS in NtFreeVirtualMemory().
ntdll: Factor out unmap_view_of_section() function.
kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2().
ntdll: Validate flags in NtUnmapViewOfSectionEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtUnmapViewOfSectionEx().
winegstreamer: Don't pre-check sample size in wg_transform_read_mf().
kernelbase: Don't modify non-volatile regs in RaiseException() on x64.
ws2_32: Make wait in accept() alertable.
ws2_32: Make wait in connect() alertable.
ws2_32: Make wait in WSAPoll() alertable.
ws2_32: Test wait alertability in WSAGetOverlappedResult().
winegstreamer: Implement MFT_MESSAGE_COMMAND_DRAIN for the H264 decoder.
winegstreamer: Implement MFT_MESSAGE_COMMAND_FLUSH for the H264 decoder.
Piotr Caban (12):
msvcr100: Fix next writer unblocking in reader_writer_lock::unlock.
msvcr100: Use Context to store critical_section owner.
msvcr100: Use Context blocking functions in critical_section class.
make_unicode: Don't use Türkiye as it can't be encoded in some locales.
msvcr100: Use Context blocking functions in event class.
msvcr100: Use Context blocking functions in Concurrency::wait().
localspl: Don't pass original document name to cupsStartDocument.
msvcr100: Fix use after free in critical_section::try_lock_for().
msvcr100: Add support for COOPERATIVE_TIMEOUT_INFINITE timeout in critical_section.
msvcr100: Use block_context_for helper in Concurrency::wait().
msvcr100: Use block_context_for helper in event::wait().
msvcr100: Use Context blocking functions in _Condition_variable class.
Rémi Bernon (44):
winegstreamer: Forbid vaapidecodebin when looking for a specific element.
winegstreamer: Only warn on wg_transform input buffer push errors.
winegstreamer: Set the default H264 caps profile to "baseline".
server: Assume the internal clip message to be WM_WINE_CLIPCURSOR.
server: Move set_cursor desktop local variable to wider scope.
win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWindow.
win32u: Call SetDesktopWindow when desktop window is successfully created.
explorer: Load graphics driver before calling CreateDesktopW.
explorer: Use root window if driver doesn't implement create_desktop.
explorer: Don't call driver create_desktop if desktop name is "root".
explorer: Call user driver through a new CreateDesktop callback.
wineandroid: Use the user driver interface to create host desktops.
winex11: Use the user driver interface to create host desktops.
explorer: Remove now unnecessary wine_create_desktop entry.
imm32: Query the new input context in ImmAssociateContextEx / IACE_DEFAULT.
server: Use get_hardware_msg_bit consistently to classify messages.
win32u: Move some window functions to window.c.
win32u: Move cursor clipping functions to input.c.
win32u: Add a separate function to process WM_WINE_CLIPCURSOR.
win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect.
user32: Remove now unused virtual screen helpers.
mf/tests: Add H264 decoder tests with concatenated streams.
winegstreamer: Use an IMFMediaType for the internal stream type.
winegstreamer: Generate H264 timestamps using the input type frame rate.
winegstreamer: Use the output wg_format in CAPS sink query.
user32/tests: Zero-initialize keyboard state array.
user32/tests: Add a helper to run a test in a process.
user32/tests: Test more ClipCursor reset scenarios.
winegstreamer: Pass desired output plane alignment to wg_transform_create.
winegstreamer: Pass desired input queue length to wg_transform_create.
winegstreamer: Implement MF_LOW_LATENCY attribute and latency query.
win32u: Reset cursor clipping rectangle on display mode change.
winex11: Rely on win32u to reset clipping on display mode change.
winex11: Reset clipping by calling NtUserClipCursor directly.
server: Don't reset cursor clipping on foreground thread exit.
kernelbase: Comment out DECLSPEC_HOTPATCH for ConvertThreadToFiber.
evr/tests: Test IMFVideoDisplayControl_GetCurrentImage orientation.
evr: Respect RGB format stride in GetCurrentImage.
win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor.
server: Use the helper to reset the clip rect when the desktop size changes.
server: Use a separate helper to merge WM_MOUSEMOVE messages.
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
win32u: Asynchronously apply or reset ClipCursor from the hardware message.
winex11: Remove now unnecessary ClipCursor forwarding to foreground thread.
Santino Mazza (1):
riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
Shaun Ren (8):
sapi: Implement ISpObjectToken::CreateKey.
sapi: Partially reimplement ISpObjectTokenEnumBuilder storing a token array.
sapi: Implement token filtering and sorting in ISpObjectTokenEnumBuilder.
sapi: Add SpMMAudioOut stub.
sapi: Implement ISpMMSysAudio::Get/SetDeviceId.
sapi: Add GUIDs SPDFID_Text/WaveFormatEx.
include: Add sperror error code SPERR_UNSUPPORTED_FORMAT.
sapi: Implement ISpMMSysAudio::Get/SetFormat.
Tim Clem (1):
loader: Reserve some space for 32-bit top-down allocations on 64-bit.
Zebediah Figura (10):
winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
winebuild: Use the lretw mnemonic in wine_call_to_16().
wow32: Use spec file imports.
ntdll: Do not throw deadlock exceptions for Wine critical sections.
ntdll: Simplify critical section timeout logic.
xaudio2/tests: Add a couple of helpers to abstract the difference between versions.
xaudio2: Move CreateAudioVolumeMeter() and CreateAudioReverb() to xapo.c.
xaudio2: Create XAPO objects directly from CreateAudioVolumeMeter() and CreateAudioReverb().
xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
xaudio2/tests: Fix the IID_IXAPO query.
Zhiyi Zhang (6):
gdiplus/tests: Add pen custom line cap record and play back tests.
gdiplus: Support recording pen custom start line cap.
gdiplus: Support recording pen custom end line cap.
gdiplus: Support playing back pen custom start line cap.
gdiplus: Support playing back pen custom end line cap.
winegstreamer: Fix check for non-zero padding in mf_media_type_from_wg_format_video().
Ziqing Hui (5):
mf/tests: Test input type for WMA decoder DMO.
mf/tests: Test output type for WMA decoder DMO.
mf/tests: Split input type tests from test_wmv_decoder_media_object.
mf/tests: Split output type tests from test_wmv_decoder_media_object.
mf/tests: Split size info tests from test_wmv_decoder_media_object.
1
0
The Wine development release 8.9 is now available.
What's new in this release:
- Mono engine updated to version 8.0.0.
- Completion of PE conversion in the PostScript driver.
- Doppler shift support in DirectSound.
- GdiPlus performance improvements.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.9.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 8.9 (total 16):
- #3452 BC3000 - Horribly Slow
- #36230 Silverlight 5.x requires the "Audio Capture Filter" for recording from the microphone
- #50955 .netCore app can't bind to port shortly after another .netCore program binding to the same port was terminated
- #53860 Wine Notepad : Using Japanese Input Method(IM), sometimes cursor goes back when string converted
- #54916 touhou 12.3 with dpad mod crashes on start
- #54917 Need For Speed Underground has keyboard input issues
- #54934 Battle.net unimplemented function msauddecmft.dll.DllGetClassObject called in 32-bit code
- #54936 Wine 8.7 and 8.8 does not print
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54955 Battle.net crashes on unimplemented function msmpeg2vdec.dll.DllGetClassObject
- #54956 Framemaker 8 crashes on printing
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #54965 Rich Edit erroneously moves the cursor to the end of text when system IME composition ends
- #54974 armv7 ELF builds crashing since "ntdll: Support the machine extended parameter in NtMapViewOfSectionEx()."
- #54976 Mono/.Net assemblies fail to start: Application could not be started, or no application associated with the specified file.
- #54982 Visio 2003 print dialog shows broken paper sizes when printing
----------------------------------------------------------------
Changes since 8.8:
Alex Henrie (3):
mshtml: Fix memory leak on error path in add_func_info (Coverity).
mshtml: Only allow one thread to use Gecko.
setupapi: Use CRT functions for memory allocation where possible.
Alexandre Julliard (19):
ntdll: Fix typo in the check for hidden files.
ntdll: Catch MEM_EXTENDED_PARAMETER duplicates for all types.
ntdll: Use STATUS_NOT_SUPPORTED for internal machine mismatch errors.
ntdll: Support the machine extended parameter in NtMapViewOfSectionEx().
ntdll: Add a helper function to map the main exe module.
ntdll: Don't even try to load .so libraries for a different machine.
ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes.
kernelbase: Add a helper function to validate process/thread attributes.
kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute.
start: Move memory allocation into parse_title().
start: Add a separate helper to parse command line options.
start: Use CRT allocation functions.
start: Implement the /machine option.
ntdll: Add a separate helper function for freeing a placeholder.
server: Add a separate request to create a memory view for an image mapping.
server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process.
configure: Don't create the wine64 symlink in multi-arch builds.
ntdll: Also update the entry point address when loading an ARM64X binary.
ntdll: Allocate the ARM64EC code map when the first ARM64X binary is loaded.
Alexandros Frantzis (6):
winewayland.drv: Allocate process_wayland statically.
winewayland.drv: Read and dispatch Wayland events.
winewayland.drv: Handle dynamic Wayland output events.
winewayland.drv: Make access to Wayland output information thread-safe.
winewayland.drv: Update display devices from the desktop window thread.
winewayland.drv: Update desktop window size on display changes.
André Zwing (1):
winedump: Recognize RISC-V PEs.
Anton Baskanov (20):
winegstreamer: Add a second videoconvert before the videoflip.
winegstreamer: Don't force top-down orientation when changing output format in video_decoder.
ir50_32: Let video_decoder flip the video instead of doing it manually.
dsound: Store the frequency of 3D buffers separately.
dsound/tests: Add tests for Doppler shift.
dsound: Enable Doppler shift.
dsound: Change the speed of sound to 360.
dsound: Avoid division by zero when calculating Doppler shift.
dsound/tests: Test Doppler shift with moving listener.
dsound: Use relative velocity to compute Doppler shift.
dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound.
dsound: Limit the Doppler shift to +-0.5 speed of sound.
dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX.
dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX].
dsound/tests: Test Doppler shift in head-relative mode.
dsound: Fix Doppler shift in head-relative mode.
dsound/tests: Test Doppler shift with 3D processing disabled.
dsound: Use the value from SetFrequency when 3D processing is disabled.
dsound/tests: Test distance and Doppler factor.
dsound: Take distance and Doppler factor into account.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (7):
gdiplus: Improve performance of GdipInvertMatrix.
gdiplus: Improve performance of gdip_transform_points.
gdiplus: Fix GdipGetGenericFontFamily functions according to native gdiplus.dll.
gdiplus: Limit calculating transformation points to resampling.
gdiplus: Use iterator instead calculate pointer position every time.
gdiplus: Use float increment instead of calculation to impove perf.
gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
Bernhard Kölbl (1):
mf: Don't try to clone non existent topo connections.
Brendan Shanks (8):
winemac: Fix window scaling in high-res/retina mode when using a non-retina monitor.
winemac: Remove the unused WineContentView _retinaMode variable.
winemac: Centralize initialization of WineContentView.
winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer.
winemac: Work around poor-quality downscaling in high-res/retina mode on macOS 10.13 and earlier.
winemac: Add missing event to dbgstr_event().
winemac: Explicitly link against Foundation.framework.
win32u: Propagate WM_MOUSEHWHEEL to the parent window in DefWindowProc().
Connor McAdams (7):
include: Define the remaining missing provider interfaces.
uiautomationcore: Don't leak parent node in conditional_navigate_uia_node.
uiautomationcore: Fix maximum ID comparison for uia_{prop,pattern,control}_info_from_id().
uiautomationcore/tests: Add tests for non-nested node events.
uiautomationcore: Implement UiaAddEvent.
uiautomationcore: Implement UiaRemoveEvent.
uiautomationcore: Call IRawElementProviderAdviseEvents methods when events are added or removed.
Davide Beatrici (16):
winepulse: Move AudioCaptureClient into mmdevapi.
winealsa: Use mmdevapi's AudioCaptureClient.
winecoreaudio: Use mmdevapi's AudioCaptureClient.
wineoss: Use mmdevapi's AudioCaptureClient.
winepulse: Move AudioRenderClient into mmdevapi.
winealsa: Use mmdevapi's AudioRenderClient.
winecoreaudio: Use mmdevapi's AudioRenderClient.
wineoss: Use mmdevapi's AudioRenderClient.
winealsa: Implement get_device_period in unixlib.
winecoreaudio: Implement get_device_period in unixlib.
wineoss: Implement get_device_period in unixlib.
winepulse: Implement is_format_supported in unixlib.
explorer: Fix uninitialized variable warning.
winealsa: Move stream mode and period/duration initialization logic into unixlib.
winecoreaudio: Move stream mode and period/duration initialization logic into unixlib.
wineoss: Move stream mode and period/duration initialization logic into unixlib.
Eric Pouech (1):
kernel32/tests: Harden some wow64 module tests.
Esme Povirk (3):
mscoree: Update Wine Mono to 8.0.0.
mscoree: Use updated preload hook function.
mscoree: Search the Mono GAC before the appdomain paths.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (18):
iphlpapi/tests: Use win_skip() for missing APIs.
ws2_32/tests: Use win_skip() for missing APIs.
wtsapi32/tests: Use win_skip() for missing APIs.
wintab32/tests: Use win_skip() for missing dlls.
gdi32/tests: Use win_skip() for missing APIs.
sti/tests: Use win_skip() for missing APIs.
ntdll/tests: Use win_skip() for missing APIs.
imm32/tests: Fix the spelling of a comment.
mf/tests: Fix the spelling of a win_skip() message.
msado15: Fix the spelling of a comment.
ndtll: Fix the spelling of a comment.
taskschd/tests: Fix the spelling of a test string.
uiautomationcore/tests: Fix the spelling of a win_skip() message.
dnsapi/tests: Ignore OPT records in the CNAME tests.
wineps: Fix the spelling of a constant.
gdi32/tests: Use skip() for APIs which are stubs in some drivers.
wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests.
wininet/tests: Consistently use strlen() instead of lstrlenA().
Gabriel Ivăncescu (9):
mshtml: Explicitly hold ref to the plugin host in NPP_New.
mshtml: Release ref from the element when detaching the plugin host.
mshtml: Stop the plugin when detaching the plugin host.
mshtml: Expose the other remaining props for element.classList.
mshtml: Implement classList's contains() method.
mshtml: Implement classList's toggle() method.
mshtml: Implement classList's length prop.
mshtml: Implement classList's item() method.
mshtml: Implement indexed props for classList.
Giovanni Mascellani (1):
winegstreamer: Free the GStreamer buffer when freeing a WG parser stream.
Hans Leidekker (2):
webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option().
winhttp/tests: Fix a test failure.
Jacek Caban (16):
win32u: Use syscall interface for NtGdiOpenDCW.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more printer functions.
win32u: Use syscall interface for more path functions.
win32u: Pass blend function as DWORD to NtGdiAlphaBlend.
win32u: Use syscall interface for bitblt functions.
win32u: Use syscall interface for more bitmap functions.
win32u: Use syscall interface for D3DKMT functions.
win32u: Use syscall interface for DIB functions.
win32u: Use syscall interface for more DC functions.
win32u: Use syscall interface for more GDI object functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more clipping functions.
win32u: Use syscall interface for all ntgdi functions.
Jactry Zeng (8):
comdlg32: Calculate button height of toolbar with DPI for item dialog.
comdlg32: Set a size for toolbar buttons of the file access dialog.
shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Implement IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Reimplement IFolderView2_SetCurrentViewMode() with modern behaviours.
shell32/tests: Move tests of IExplorerBrowser_SetFolderSettings() to a separated function and more tests.
shell32: Reimplement IExplorerBrowser_SetFolderSettings() with support of setting flags.
shell32: Update view mode flags while creating IShellView for IExplorerBrowser.
Jinoh Kang (4):
combase: Fix reading from beyond the end of a HGLOBAL stream.
combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
combase: Prevent use-after-free due to a race with proxy_manager_destroy.
imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
Mohamad Al-Jaf (2):
msauddecmft: Add DllGetClassObject() stub.
msmpeg2vdec: Add DllGetClassObject() stub.
Nikolay Sivov (11):
d2d1: Implement IsSupported() for HWND target.
wineps: Fix names in paper sizes list.
mfmediaengine: Implement GetNumberOfStreams().
d2d1: Implement IsSupported() for DC target.
d2d1/tests: Use test context for more tests.
d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets.
d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget.
d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage.
d2d1: Improve GetDC()/ReleaseDC() handling on render targets.
d2d1: Create GDI-compatible swapchain only for corresponding target usage.
d2d1: Improve resource properties check when creating a bitmap.
Paul Gofman (16):
ntdll: Fix tail padding in mark_block_tail().
ntdll: Fix last block detection in heap_walk_blocks().
kernel32/tests: Add tests for subheap sizes.
ntdll: Better match Windows subheap sizes.
ntdll: Handle context overlap in call_user_exception_dispatcher() on x64.
wined3d: Only set changed.lights if wined3d_light_state_enable_light() changed state.
wined3d: Track per light state changes in stateblock.
wined3d: Use RB tree for storing lights.
nsiproxy.sys: Detect PPP interface type from flags on Linux.
ntdll: Handle NULL process handle in MapViewOfFile3().
ntdll: Pass allocation type to map_view().
ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view().
ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory().
ntdll/tests: Add more tests for placeholders.
Piotr Caban (27):
wineps: Convert WCHAR to Adobe Glyph name on PE side.
wineps: Store builtin fonts list in DEVMODE.
include: Add ddk/winddi.h header.
wineps: Add support for loading builtin fonts from NTF files.
wineps: Enumerate NTF fonts in enum_fonts.
wineps: Pass font data in NTF format to unixlib.
wineps: Don't pass PRINTERINFO structure to unixlib.
wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
wineps: Implement Wow64 entry points in the Unix library.
wineps: Use default devmode if winspool returns fake data.
winspool: Register wineps print processor before adding printer.
localspl: Fix wow64_start_doc Wow64 entry point.
wineps: Move BANDINFOSTRUCT definition to unixlib.c.
wineps: Define PSDRV_DEVMODE in unixlib.h.
wineps: Remove unix_ prefix from find_pagesize and find_slot functions.
wineps: Mark default DEVMODE const.
wineps: Simplify PSDRV_UVMetrics implementation.
wineps: Remove unused fields from print_ctx.
wineps: Don't store logPixels in print_ctx.
wineps: Don't store ImageableArea in print_ctx.
gdi32: Mark objects as not used before clearing handles table in emf_reset.
localspl: Implement AbortPrinter while spooling.
winspool: Add AbortPrinter implementation.
gdi32: Abort printing if DeleteDC is called before EndDoc.
wineps: Remove no longer used PSDRV_SelectDownloadFont helper.
wineps: Mark font as unset in PSDRV_SelectFont.
wineps: Fix download font escapement.
Rémi Bernon (48):
imm32: Update the IME composition window position after drawing.
imm32: Use DrawTextW to wrap IME composition string.
comctl32/edit: Notify IME on caret position, format_rect and font changes.
comctl32/edit: Delegate composition string rendering to the IME UI.
user32/edit: Notify IME on position, format_rect and font changes.
user32/edit: Delegate composition string rendering to the IME UI.
hid: Avoid printing uninitialized guid (Valgrind).
dinput/tests: Avoid leaking a IDirectInput reference (Valgrind).
dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind).
windows.gaming.input: Avoid leaking IDirectInputEffect reference (Valgrind).
winemac: Return the caret position in query_ime_char_rect.
winemac: Remove now unnecessary selected HIMC tracking code.
winemac: Use the default IME implementation for ImeSelect.
dinput/tests: Add a zero-terminator for hardware ids (Valgrind).
mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind).
mf/tests: Avoid leaking media types in test_video_processor (Valgrind).
rtworkq: Release thread pool work object when work_item is destroyed (Valgrind).
winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind).
winegstreamer: Free the params structure after setting the pool meta (Valgrind).
winegstreamer: Remove unnecessary wg_parser their_sink pad.
winegstreamer: Remove unnecessary wg_parser_stream their_src pad.
quartz: Avoid reading past the end of a buffer (Valgrind).
winex11: Use ime_comp_buf != NULL instead of ximInComposeMode.
winex11: Keep track of the cursor position on the XIM side.
winex11: Send an internal WM_IME_NOTIFY wparam to set open status.
winex11: Set or clear XIC focus using a xim_set_focus helper.
winex11: Post internal WM_IME_NOTIFY wparam on composition updates.
winex11: Include the XIM preedit and result text into the IME updates.
winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks.
winex11: Drop the x11drv_ime_update_association user callback.
winex11: Remove now unnecessary selected HIMC tracking code.
winex11: Use the default IME implementation for ImeSelect.
imm32: Get rid of the graphics driver loading mechanism.
imm32: Remove now unused members from ime_private.
dinput/tests: Add some tests with keyboard action mapping.
dinput: Delete the action mapping registry key on SetActionMap.
dinput: Reset action map mapping before loading the registry mapping.
dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
dinput: Avoid remapping already mapped objects in BuildActionMap.
dinput: Delay input thread start until the first device acquire.
dinput/tests: Test that FromGameController also works with IRawGameController.
windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController.
mf/tests: Simplify video processor expected input types checks.
mf/tests: Rename some variables in video processor transform tests.
mf/tests: Move broken video processor aperture to a separate test.
mf/tests: Add more video processor tests with RGB555 format.
mf/tests: Add some IV50 encoder / decoder tests.
imm32: Silence some unnecessary FIXMEs.
Sebastian Mayr (2):
d3d8/tests: Test IDirect3DDevice8::ValidateDevice() with various min, mag and mip filters.
wined3d: Improve d3d8 compatibility of texture filters.
Tim Clem (1):
wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
Zebediah Figura (18):
qcap/audiorecord: Implement DecideBufferSize().
qcap/tests: Add tests for audio capture pin connection.
qcap/tests: Test audio capture allocator properties.
qcap/audiorecord: Open a winmm device when connecting.
qcap/audiorecord: Implement streaming.
qcap/tests: Test audio capture streaming.
user32/tests: Do not dump the message sequence when a todo succeeds on Windows.
user32/tests: Do not stop checking the message list when skipping an optional or unsupported message.
qcap/audiorecord: Implement IAMStreamConfig::SetFormat() and IAMStreamConfig::GetFormat().
qcap/audiorecord: Stub IKsPropertySet.
qcap/audiorecord: Implement IKsPropertySet::Get(&ROPSETID_Pin, AMPROPERTY_PIN_CATEGORY).
qcap/audiorecord: Stub IAMBufferNegotiation.
qcap/audiorecord: Implement IAMBufferNegotiation::SuggestAllocatorProperties().
qcap/tests: Remove duplicated tests for allocator identity.
mmdevapi/tests: Remove some unnecessary workarounds.
mmdevapi/tests: Run property store tests for all devices.
mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat.
xactengine: Use the xaudio2 channel.
Zhiyi Zhang (1):
d2d1/tests: Add some IsSupported() tests for HWND target.
Ziqing Hui (7):
mfreadwrite/tests: Add tests for MP4 sink writer.
mf/tests: Test GetInputStatus for WMV decoder DMO.
mf/tests: Test Discontinuity for WMV decoder DMO.
mf/tests: Test Flush for WMV decoder DMO.
winegstreamer: Implement GetInputStatus for WMV decoder DMO.
winegstreamer: Implement Discontinuity for WMV decoder DMO.
mf/tests: Add tests for MPEG4 media sink.
1
0
The Wine development release 8.8 is now available.
What's new in this release:
- More work towards full PE support in the PostScript driver.
- Initial support for loading ARM64EC modules.
- More work on IME restructuration.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.8.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 8.8 (total 18):
- #33945 Wine build warnings with gcc
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #48596 Multiple applications need tasklist.exe to support printing process list in CSV format '/fo CSV /nh' (Net64+ Client 2.x, Playstation Now 11.x, MathType)
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #50576 ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaNodeFromFocus'
- #51107 rise of nation extended: cannot do multiplayer when having more than one network interface
- #52269 Captvty can't find its own tools/cefsharp folder
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53826 Attempting to install / update battle.net fails with Qt error
- #54250 winedbg loads wrong debug symbols for builtin dlls
- #54367 Wow64 wineboot fails to generate 32Bit slice of wineprefix
- #54596 Wavelab 6.1 has problems minimising window
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54760 imm32:imm32 - test_ImmActivateLayout() fails on Windows
- #54864 imm32:imm32 - test_ImmSetOpenStatus() fails on Windows in the Korean locale
- #54879 RtlValidSecurityDescriptor should return TRUE if the given descriptor is valid.
- #54904 RtlInitializeSid should return NTSTATUS
- #54918 compiling nvcuda fails with threadpoolapiset.h:36:55: error: expected declaration specifiers before ‘__WINE_DEALLOC’
----------------------------------------------------------------
Changes since 8.7:
Ake Rehnman (2):
ntdll: Fix return value of RtlInitializeSid().
ntdll: Fix RtlValidSecurityDescriptor() return value.
Alex Henrie (1):
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (23):
ntdll: Initialize TLS links also on the 64-bit side in wow64 mode.
ntdll: Add a helper function to read a PE image directory.
ntdll: Allow loading ARM64EC binaries.
ntdll: Apply dynamic relocations when mapping an ARM64X binary.
ntdll: Support the ARM64EC code map.
ntdll: Implement RtlIsEcCode().
ntdll: Handle the extended memory attributes in NtAllocateVirtualMemoryEx().
ntdll: Support the MEM_EXTENDED_PARAMETER_EC_CODE attribute.
server: Make x86_64 a supported architecture on ARM64.
ntdll: Pass limit instead of zero bits to internal memory mapping functions.
ntdll: Add a helper function to process MEM_EXTENDED_PARAMETER parameters.
ntdll: Support extended address requirements in NtMapViewOfSectionEx().
ntdll/tests: Add tests for address requirements in NtMapViewOfSectionEx().
wow64: Add a helper function to convert MEM_EXTENDED_PARAMETER.
wow64: Convert MEM_EXTENDED_PARAMETER also for NtMapViewOfSectionEx().
ntdll: Add a helper function to free a range of pages.
ntdll: Move the Unix function tables to avoid forward declarations, and make them static.
win32u: Don't export wow64 Unix call functions.
kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
win32u: Don't use floating point types in syscalls.
winebuild: Disallow floating point arguments in syscall functions.
server: Add a separate request to create a memory view for a .so builtin.
server: Move the Wine-specific flags out of the image_flags field.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Add DXGI_DEBUG_D3D11 in d3d11sdklayers.idl.
Brendan Shanks (2):
include: Implement C_ASSERT() using the C11 _Static_assert() if available.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
Connor McAdams (1):
combase: Check that process ID matches before searching the MTA for a stub manager.
Conor McCarthy (1):
vkd3d: Leave the command queue op mutex locked after a partial flush.
David Kahurani (2):
gdiplus: Traverse and draw the whole string.
shlwapi: Implement StrFormatByteSizeEx.
Davide Beatrici (18):
winealsa: Move SimpleAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's SimpleAudioVolume.
wineoss: Use mmdevapi's SimpleAudioVolume.
winepulse: Use mmdevapi's SimpleAudioVolume.
winecoreaudio: Implement per-channel volume control.
mmdevapi: Remove unused "channel" member in set_volumes_params.
winealsa: Move ChannelAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's ChannelAudioVolume.
wineoss: Use mmdevapi's ChannelAudioVolume.
winepulse: Use mmdevapi's ChannelAudioVolume.
winepulse: Move AudioStreamVolume into mmdevapi.
winealsa: Use mmdevapi's AudioStreamVolume.
winecoreaudio: Use mmdevapi's AudioStreamVolume.
wineoss: Use mmdevapi's AudioStreamVolume.
winepulse: Move AudioClock into mmdevapi.
winealsa: Use mmdevapi's AudioClock.
winecoreaudio: Use mmdevapi's AudioClock.
wineoss: Use mmdevapi's AudioClock.
Eric Pouech (3):
evr: Fix incorrect integral computation.
winedump: Fix copy & paste error.
winegstreamer: Fix typo.
Etaash Mathamsetty (1):
kernelbase: Add GetPackagesByPackageFamily stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (2):
kernel32/tests: Use win_skip() for missing APIs.
kernelbase/tests: Use win_skip() for missing APIs.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.250.
Gerald Pfeifer (1):
webservices: Avoid uninitialized variable warning in format_double.
Giovanni Mascellani (11):
winegstreamer: Synchronize concurrent access to the media source.
winegstreamer: Synchronize concurrent access to the media stream.
winegstreamer: Synchronize access to the media source from callbacks.
mfplat/tests: Push image size and format as context.
mfplat/buffer: Use the appropriate image copy function for NV11.
mfplat/buffer: Support YV12, I420 and IYUV image formats.
mfplat/tests: Test large RGB image formats.
mfplat/tests: Test IMF2DBuffer::ContiguousCopyFrom().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
mfplat/tests: Test IMF2DBuffer::ContiguousCopyTo().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo().
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Michael Stefaniuc (4):
dxdiagn: Avoid assigning COM objects to interface variables.
dbgeng: Avoid casts to IUnknown* in IUnknown method calls.
d2d1: Remove superfluous casts to self.
wbemprox: Avoid assigning COM objects to interface variables.
Mohamad Al-Jaf (3):
include: Add hrtfapoapi.idl file.
hrtfapo: Add stub DLL.
hrtfapo: Add CreateHrtfApo() stub.
Nikolay Sivov (5):
ntdll/tests: Add some tests for RtlInitializeSid().
ntdll: Fix subauthority count check in RtlInitializeSid().
ntdll/tests: Add some RtlValidSecurityDescriptor() tests.
mfplat: Implement MFCreatePathFromURL().
mfplat/tests: Add another test for MFCopyImage().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (11):
win32u: Partially implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE).
d3dx9: Fix dst pitch for compressed format in D3DXLoadSurfaceFromMemory().
wbemprox: Bump video driver version and date.
ntdll: Retry send on ECONNREFUSED in try_send().
ntdll/tests: Add tests for freeing a part of view.
kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx().
ntdll: Fix size validation in NtFreeVirtualMemory().
ntdll: Fully support unaligned views in free ranges management.
ntdll: Factor out some view manipulation functions.
ntdll: Support partial view release in NtFreeVirtualMemory().
ntdll: Add logging for free ranges.
Piotr Caban (37):
gdi32: Ignore in_count parameter in Escape() on PASSTHROUGH escape.
gdi32: Support saving EMR_EXTESCAPE record in spool file.
gdi32: Return error in EndPage if it's called before StartPage.
win32u: Don't allow bitmap fonts if OUT_TT_ONLY_PRECIS output precision is specified.
wineps: Use only TrueType fonts in print processor.
Revert "wineps: Fix default device font selection.".
winspool: Change CUPS printers print processor to wineps.
wineps: Remove no longer used graphic driver functions.
wineps: Use designated initializers to initialize gdi_dc_funcs structure.
wineps: Store page size full name as unicode string.
gdi32: Handle NEXTBAND escape in Escape().
wineps: Remove no longer used NEXTBAND escape.
wineps: Copy GetDeviceCaps implementation to unixlib.
wineps: Copy ResetDC implementation to unixlib.
wineps: Move ExtEscape implementation to unixlib.
wineps: Store font related strings in unicode.
wineps: Copy SelectFont implementation to unixlib.
wineps: Move EnumFonts implementation to unixlib.
wineps: Move GetCharWidth implementation to unixlib.
wineps: Copy GetTextMetrics implementation to unixlib.
wineps: Copy GetTextExtentExPoint implementation to unixlib.
wineps: Use printer DC in print processor.
wineps: Change initial printer font to DEVICE_DEFAULT_FONT.
wineps: Introduce PSDRV_GET_GLYPH_NAME escape to obtain builtin glyph name from unixlib.
wineps: Remove unused fields from PSFONT structure.
wineps: Don't use BUILTIN structure on PE side.
wineps: Remove no longer used font selection code from PE side.
wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions.
gdi32: Add device name to wine_get_gdi_driver call.
wineps: Move remaining DC driver functions to unixlib.
wineps: Rename PSDRV_PDEVICE structure to print_ctx.
wineps: Define PSDRV_PDEVICE structure in unixlib.
wineps: Remove gdi_physdev from print_ctx structure.
wineps: Remove unused fields from PSDRV_DEVMODE.
wineps: Use standard DEVMODEW structure instead of PSDRV_DEVMODE when possible.
wineps: Store data from PPD file used in unixlib in DEVMODE.
wineps: Store font substitution table in DEVMODE.
Rémi Bernon (51):
winegstreamer: Query the wg_parser stream in media_stream_create.
winegstreamer: Keep a IMFMediaSource pointer in the media stream.
winegstreamer: Only break cyclic references in IMFMediaSource_Shutdown.
winegstreamer: Remove unnecessary media source stream states.
riched20: Update the editor IME position on GCS_RESULTSTR.
winex11: Rename preedit buffer and related variables.
winex11: Simplify xic_preedit_draw control flow.
winex11: Compute preedit text buffer sizes in WCHAR units.
winex11: Always zero terminate XIM composition string buffer.
imm32/tests: Move IME calls test helpers around.
imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls.
imm32: Use INPUTCONTEXT directly in ImmRequestMessage(W|A).
imm32/tests: Add more ImmProcessKey and ImmGetVirtualKey tests.
imm32/tests: Test ImmTranslateMessage / ImeToAsciiEx calls.
imm32: Ignore some messages in ImmTranslateMessage.
imm32: Clear vkey before calling ToAsciiEx in ImmTranslateMessage.
imm32: Post messages to the target window in ImmTranslateMessage.
imm32/tests: Adjust the ImmSetOpenStatus tests for MS Korean IME.
imm32/tests: Print human readable IME message names.
imm32/tests: Ignore some unknown WM_IME_NOTIFY messages.
imm32/tests: Add some missing local variables declarations.
imm32/tests: Test MS Korean IME GA-NA-DA sequence.
imm32/tests: Test MS Japanese IME NIHONGO-NO sequence.
winegstreamer: Return a IUnknown pointer from source_create_async_op.
winegstreamer: Avoid potential leak of media source async commands.
winegstreamer: Use helpers to convert stream descriptor type to wg_format.
winegstreamer: Start media streams in a dedicated media_stream_start helper.
winegstreamer: Simplify media source wait_on_sample control flow.
winegstreamer: Avoid eating errors in media source async commands.
winegstreamer: Keep a stream descriptor array on the media source.
winegstreamer: Create media source presentation descriptor as needed.
winemac: Delay ime_set_text until ImeToAsciiEx requests it.
winemac: Wait for IME input result on the unix side.
winemac: Send IME key input from ImeProcessKey.
imm32/tests: Mark some tests as broken by prior SetForegroundWindow call.
winex11: Use a helper to change internal composition status.
winex11: Clear the composition string when input context is closed.
winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE.
win32u: Introduce new NtUserNotifyIMEStatus syscall.
winex11: Move NotifyIME to the default IME implementation.
winemac: Use the default IME implementation for NotifyIME.
winex11: Use the default IME implementation for ImeSetCompositionString.
winemac: Use the default IME implementation for ImeSetCompositionString.
win32u: Introduce a new ImeProcessKey call through NtUserMessageCall.
winemac: Use the ImeProcessKey driver entry to process IME input.
win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall.
winemac: Use the ImeToAsciiEx driver entry to retrieve IME result.
winemac: Compute the required COMPOSITIONSTRING size in ImeToAsciiEx.
imm32: Resize the composition string if the driver requested so.
winemac: Write the IME strings to the COMPOSITIONSTRING in ImeToAsciiEx.
winemac: Generate IME messages from the default ImeToAsciiEx implementation.
Santino Mazza (1):
mf/session: Reset presentation flags when session_clear_presentation is called.
Shaun Ren (6):
sapi: Implement ISpRegDataKey::SetStringValue.
sapi: Ignore read_only in ISpRegDataKey::SetKey.
sapi: Implement ISpRegDataKey::OpenKey.
sapi: Use ISpRegDataKey in object_token.
sapi: Implement ISpObjectToken::Set/GetStringValue.
sapi: Implement ISpObjectToken::CreateInstance.
Sven Baars (2):
mscoree/tests: Remove the parent argument from create_new_dir() (Coverity).
ddraw: Set the texture height in SetSurfaceDesc() (Coverity).
Tim Clem (2):
ntdll: Decrement thread count from exit_thread and exit the process if needed.
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Vijay Kiran Kamuju (1):
winex11.drv: Fix compile when xrandr is not available.
Zebediah Figura (32):
d3d8: Move surface allocation to d3d8_surface_create().
d3d8: Create sub-resource surfaces manually.
d3d8: Pass the container to d3d8_surface_create().
wined3d: Directly call wined3d_texture_create() to create swapchain textures.
winepulse: Avoid accessing the product name after freeing it.
ntdll: Fix the prototype of NtDuplicateToken().
advapi32/tests: Add more tests for token duplication.
quartz: Check whether the pin is connected in IBasicVideo::GetVideoSize().
quartz: Check whether the pin is connected in IVideoWindow::put_Caption().
quartz: Check whether the pin is connected in IVideoWindow::put_WindowStyle().
quartz: Check whether the pin is connected in IVideoWindow::put_AutoShow().
quartz: Check whether the pin is connected in IVideoWindow::put_Owner().
quartz: Check whether the pin is connected in IVideoWindow::put_MessageDrain().
quartz: Check whether the pin is connected in IVideoWindow::put_Visible().
quartz: Check whether the pin is connected in IVideoWindow::SetWindowPosition().
d3d9/tests: Add some more tests for accessing an old backbuffer surface after a reset.
d3d9: Hold a reference to the wined3d swapchain from d3d9 swapchain surfaces.
d3d8: Hold a reference to the wined3d swapchain from d3d8 swapchain surfaces.
d3d11: Hold a reference to the wined3d swapchain from d3d11 swapchain textures.
wined3d: Do not forward texture references to the swapchain.
wined3d: Read the sm4 sample count in DCL instructions.
wined3d: Do not declare resources as multisampled if the sample count is 1.
qcap/audiorecord: Get rid of the AudioRecord typedef.
qcap/audiorecord: Add a stub source pin.
qcap/tests: Test audio capture pin interfaces.
qcap/tests: Test audio capture pin information.
qcap/tests: Test the audio capture CLSID.
qcap/audiorecord: Stub IAMStreamConfig.
qcap/tests: Add tests for media types.
qcap/audiorecord: Implement pin_get_media_type().
qcap/audiorecord: Implement IAMStreamConfig::GetStreamCaps().
qcap/audiorecord: Partially implement QueryAccept().
Zhiyi Zhang (15):
tasklist: Add basic functionality.
tasklist: Support '/nh' option.
tasklist: Support '/fo' option.
tasklist: Partially support '/fi' option.
findstr: Add basic functionality.
oledb32/tests: Test initial catalog property.
oledb32: Use the correct property for initial catalog.
oledb32/tests: Test provider string with multiple provider specific properties.
oledb32: Put provider initialization properties in a single DBPROP_INIT_PROVIDERSTRING.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_VARIANT.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_VARIANT.
Ziqing Hui (4):
winegstreamer: Introduce format_is_compressed.
winegstreamer: Implement wg_parser_stream_get_codec_format.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Use codec format in stream_props_GetMediaType.
1
0
The Wine development release 8.7 is now available.
What's new in this release:
- DXBC shader parsing delegated to vkd3d.
- More spool file improvements in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.7.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 8.7 (total 17):
- #9932 Listview highlight issues when drag&drop enabled
- #23647 Street Fighter 4 Benchmark: Flickering screen with parallel rendering enabled
- #32089 Window resize enters endless cycle
- #32958 ReVolt 1207: Crashes when trying to play Stunt Arena
- #33487 Davar bible software not working
- #43672 Airscout program 1.2.0.5 does not load under wine 2.0.2
- #50249 Shapes On A Plane crashes on start
- #51625 Unravel fails to load
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #54424 user32:edit - test_dbcs_WM_CHAR() fails on Windows in mixed locales
- #54464 Multiple games crash on launch (Sekiro: Shadows Die Twice GOTY, Dark Souls III)
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54815 wininet:internet - test_InternetErrorDlg() fails on Windows 10 1607
- #54844 Existing prefixes keep resetting to Win10 when wine is updated
- #54856 Final Fantasy XI Online: Opening movie doesn't play (redux part II).
- #54882 Conemu fails to start (cannot attach to process)
----------------------------------------------------------------
Changes since 8.6:
Alex Henrie (2):
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
Alexandre Julliard (18):
include: Add some CHPE definitions.
winedump: Dump hybrid metadata also for i386 CHPE modules.
include: Add the ARM64EC context structure.
include: Update the PEB and TEB structures.
zlib: Run source files through zlib2ansi to avoid K&R function definitions.
makedep: Avoid generating empty dependencies.
winedump: Print entry point names in code range lists.
kernelbase: Move to a higher address on 64-bit.
kernel32: Move to a higher address on 64-bit.
ntdll: Reimplement RtlSetBits() to set 32 bits at a time.
ntdll: Reimplement RtlClearBits() to clear 32 bits at a time.
ntdll: Reimplement RtlAreBitsSet() to check 32 bits at a time.
ntdll: Reimplement RtlAreBitsClear() to check 32 bits at a time.
ntdll: Reimplement RtlNumberOfSetBits() to check 32 bits at a time.
ntdll: Use a separate memory allocation for the kernel stack.
ntdll: Use nameless unions/structs for register contexts.
include: Add some new ProcThreadAttribute definitions.
winedump: Fix printing of code ranges in hybrid modules.
Alexandros Frantzis (5):
winewayland.drv: Initialize display devices once after process init.
tools: Support building Wayland protocol source files.
winewayland.drv: Use the output name reported by the compositor.
winewayland.drv: Basic support for Windows monitor positioning.
winewayland.drv: Infer and report Windows monitor positions.
Alistair Leslie-Hughes (1):
widl: Suppress a coverity warning.
Andrey Gusev (1):
dxgi: Update TRACE in dxgi_device_create_resource().
André Zwing (1):
ntdll: Print RPC_S_SERVER_UNAVAILABLE exceptions.
Anton Baskanov (7):
winegstreamer: Fix negative height image size calculation.
winegstreamer: Call init_gstreamer() in winegstreamer_create_video_decoder().
dsound: Remove the unused nAvgBytesPerSec field.
dsound: Remove redundant assignments to freqAdjustNum and freqAdjustDen.
dsound: Preserve freqAccNum value in DSOUND_RecalcFormat().
dsound: Acquire the lock when setting 3D buffer parameters.
dsound: Allocate big enough committedbuff up front.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Brendan Shanks (4):
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
Byeong-Sik Jeon (2):
imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext.
imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation.
Connor McAdams (12):
uiautomationcore: Implement UIA_ControlTypePropertyId for default HWND provider.
uiautomationcore: Implement UIA_BoundingRectanglePropertyId for default HWND provider.
uiautomationcore: Implement NavigateDirection_Parent navigation for default HWND provider.
uiautomationcore: Add a default ProviderType_Proxy MSAA bridge clientside provider.
uiautomationcore: Implement UiaGetRootNode.
uiautomationcore: Implement IUIAutomation::GetRootElement.
uiautomationcore: Implement conditional NavigateDirection_Parent navigation.
uiautomationcore: Add normalization navigation to UiaGetUpdatedCache.
uiautomationcore: Add UiaNodeFromFocus stub.
uiautomationcore: Implement UiaNodeFromFocus.
uiautomationcore: Implement IUIAutomation::GetFocusedElement{BuildCacheRequest}.
uiautomationcore: Retrieve runtime ID on UiaReturnRawElementProvider thread to prevent a deadlock.
Davide Beatrici (22):
winealsa: Export function to get AudioSessionWrapper object.
winecoreaudio: Export function to get AudioSessionWrapper object.
wineoss: Export function to get AudioSessionWrapper object.
winepulse: Export function to get AudioSessionWrapper object.
mmdevapi: Import GetAudioSessionWrapper() from driver.
mmdevapi: Implement AudioSessionManager.
winealsa: Remove AudioSessionManager.
winecoreaudio: Remove AudioSessionManager.
wineoss: Remove AudioSessionManager.
winepulse: Remove AudioSessionManager.
winealsa: Implement functions to lock and unlock sessions.
winecoreaudio: Implement functions to lock and unlock sessions.
wineoss: Implement functions to lock and unlock sessions.
winepulse: Implement functions to lock and unlock sessions.
winealsa: Use dedicated macros to call interface functions.
winecoreaudio: Use dedicated macros to call interface functions.
wineoss: Use dedicated macros to call interface functions.
winepulse: Use dedicated macros to call interface functions.
winealsa: Move AudioSessionControl into mmdevapi.
winecoreaudio: Use mmdevapi's AudioSessionControl.
wineoss: Use mmdevapi's AudioSessionControl.
winepulse: Use mmdevapi's AudioSessionControl.
Derek Lesho (1):
winegstreamer: Cache wg_parser input data.
Dmitry Timoshkov (1):
shell32/tests: Add SHBindToFolderIDListParent() tests.
Eric Pouech (6):
mf/tests: Add tests about (negative) stride handling.
winegstreamer: In video_processor, activate a videoflip converter.
winedbg: Let 'break symbol : line' command work again.
dbghelp: Use source file path as stored in debug info format.
winedbg: Simplify watch command implementation.
winedbg: Improve size management in watch command.
François Gouget (7):
user32/tests: Fix the DBCS WM_CHAR tests in mixed locales.
dnsapi/tests: Make DnsQuery()'s CNAME tests more compatible with CDNs.
wininet: Add constants for DetectAutoProxyUrl().
wininet/tests: Add more proxy tests.
kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
msi/tests: Fix the ok() formats so they match the size of their arguments.
msi/tests: Ok_() takes printf-style arguments.
Gabriel Ivăncescu (12):
mshtml: Implement MediaQueryList's addListener method.
mshtml: Implement MediaQueryList's removeListener method.
mshtml: Use proper event type for PageTransition events.
mshtml: Do not release the principal returned by GetPrincipal.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Support cycle collection for nsChannel.
mshtml: Fix nsChannel's load_info leak.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml/tests: Fix element leak in elem_fire_event.
Giovanni Mascellani (11):
mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer.
mfplat/tests: Test locking flags for D3D9 buffers.
mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
mfplat: Fix locking flags usage for D3D9 buffers.
mfplat/tests: Test Lock2D() on a locked DXGI surface buffer.
mfplat/tests: Test locking flags for DXGI buffers.
mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
mfplat: Fix locking flags usage for DXGI buffers.
mfplat: Only download surface data from GPU for DXGI buffers when reading.
mfplat: Only upload surface data to GPU for DXGI buffers when writing.
mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing.
Hans Leidekker (1):
wine.inf: Use FLG_ADDREG_NOCLOBBER for CurrentMajor/MinorVersionNumber.
Henri Verbeet (12):
d3dcompiler: Check for minimum bytecode size in d3dcompiler_get_blob_part().
d3dcompiler: Check for minimum bytecode size in d3dcompiler_strip_shader().
d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures.
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init().
wined3d: Implement shader_extract_from_dxbc() on top of vkd3d_shader_parse_dxbc().
vkd3d: Update the version information for release 1.7.
d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc().
d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc().
Jactry Zeng (2):
appwiz.cpl: Process messages while waiting for the uninstaller to terminate.
appwiz.cpl: Handle WM_CLOSE and WM_COMMAND(IDCANCEL) in the support info dialog.
Jinoh Kang (6):
kernel32/tests: Test for activation context switching between fibers.
ntdll: Factor out reading current activation context into a helper function.
ntdll: Store current activation context stack pointer into a local variable.
ntdll: Use ActivationContextStackPointer instead of referencing ActivationContextStack directly.
ntdll: Implement RtlFreeActivationContextStack().
kernelbase: Implement activation context switching for fibers.
Martin Garton (1):
msvcrt: Fix typo in #define.
Matteo Bruni (2):
d3dcompiler/tests: Add a couple tests for minimum size in D3DGetBlobPart().
d3dcompiler/tests: Add a couple tests for minimum size in D3DStripShader().
Michael Stefaniuc (3):
threadpoolwinrt: Forward a Release() to a Release() method.
uiautomationcore: Drop superfluous TRUE : FALSE conditional expression.
win32u: Use ARRAY_SIZE() instead of open coding it.
Mohamad Al-Jaf (9):
include: Add windows.graphics.capture.interop.idl file.
include: Add appnotify.h file.
twinapi.appcore: Add stub DLL.
twinapi.appcore: Add RegisterAppStateChangeNotification stub.
twinapi.appcore: Add UnregisterAppStateChangeNotification stub.
apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
shell32: Implement SHBindToFolderIDListParent().
shell32/tests: Test SHBindToParent() last parameter behavior.
shell32: Fix last parameter behavior in SHBindToFolderIDListParent().
Paul Gofman (4):
ntdll: Mind LFH pending blocks in RtlDestroyHeap().
ntdll: Avoid integer overflow in block_get_subheap().
mfplat: Fix returned buffer length in dxgi_surface_buffer_lock().
wined3d: Add a comment about mismatched samplers.
Piotr Caban (36):
wineps: Rename handle count parameter in hmf_proc.
wineps: Set text and background color during device creation.
wineps: Handle EMR_EXTCREATEFONTINDIRECTW record in spool files.
wineps: Handle font selection in spool files.
wineps: Store text justification info in print processor data.
wineps: Handle EMR_EXTTEXTOUTW record in spool files.
wineps: Add BiDi support in EMR_EXTTEXTOUTW record.
wineps: Clip visible rectangle to bitmap size in get_vis_rectangles.
wineps: Handle EMR_CREATEPALETTE record in spool files.
wineps: Handle EMR_SELECTPALETTE record in spool files.
wineps: Handle EMR_SETDIBITSTODEVICE record in spool files.
wineps: Handle EMR_STRETCHDIBITS record in spool files.
wineps: Handle EMR_REALIZEPALETTE record in spool files.
wineps: Handle EMR_RESIZEPALETTE record in spool files.
wineps: Handle EMR_SETPALETTEENTRIES record in spool files.
gdi32: Use EMR_REALIZEPALETTE to record RealizePalette.
gdi32: Fix EMR_CREATEPALETTE recording.
gdi32: Store palette in EMR_EOF record.
gdi32/tests: Add EMF palette tests.
wineps: Fix default device font selection.
wineps: Fix return value in path drawing routines.
wineps: Continue printing if path drawing function returns error.
wineps: Reset memory DC state on every page.
localspl: Add support for PRINTER_ATTRIBUTE_RAW_ONLY printer attribute.
localspl: Validate datatype in StartDocPrinter.
wineps: Reset current position on every page.
gdi32: Store the printer info in a structure.
gdi32: Improve EMF DC cleanup when CloseEnhMetafile is not called.
gdi32: Factor out emf_eof helper.
gdi32: Factor out emf_create helper.
gdi32: Add support for creating EMF spool files.
gdi32: Add GdiIsMetaPrintDC implementation.
localspl: Add partial support for PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS attribute.
gdi32: Implicitly call StartPage while drawing on printer DC.
gdi32: Support creating EMRI_DEVMODE records in spool files.
wineps: Handle EMRI_DEVMODE record in spool files.
Rémi Bernon (11):
imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC.
imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow.
imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member.
imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly.
user32: Move WM_IME_COMPOSITION DefWindowProc handlers in separate helpers.
user32: Ignore WM_IME_COMPOSITION from the IME UI window in DefWindowProc.
imm32: Don't hide/show IME UI window in ImmSetCompositionWindow.
imm32: Move ImmAssociateContext(Ex) around.
imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes.
imm32/tests: Add some ImmGenerateMessage tests.
imm32: Send messages one by one in ImmGenerateMessage.
Shaun Ren (2):
include: Add more sapi structs and enums.
include: Add ISpTTSEngineSite and ISpTTSEngine interfaces.
Stefan Dösinger (14):
d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics.
wined3d: Sync depth stencils to both early and late depth test.
wined3d: Avoid VK_IMAGE_LAYOUT_GENERAL.
wined3d: Fall back to general layout if necessary.
d3d9/tests: Radeon GPUs don't draw from sysmem textures.
d3d9/tests: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3d8/tests: Radeon GPUs don't draw from sysmem textures.
d3d8/test: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3dx9: Load D3DAssemble via GetProcAddress.
d3dcompiler/tests: Load D3DAssemble via GetProcAddress.
d3dcompiler: Make D3DAssemble a private export.
d3d9/tests: AMD GPUs sample the border color of cube textures.
d3d9/tests: Accept random depth when using a 3D texture with a 2D sampler.
Vova Mshanetskiy (2):
winhttp: Support WINHTTP_OPTION_PARENT_HANDLE in request_query_option().
winhttp: Avoid unnecessary cast in connect_query_option().
Zebediah Figura (8):
wined3d: Allow retrieving the frontbuffer from a wined3d swapchain.
ddraw: Retrieve the frontbuffer directly from wined3d.
wined3d: Disable shaderTessellationAndGeometryPointSize.
dxgi: Introduce IWineDXGIDeviceParent::register_swapchain_texture() and use it in IDXGIDevice::CreateSurface().
dxgi: Create d3d11 swapchain textures directly from d3d11_swapchain_init().
d3d9: Move surface allocation to d3d9_surface_create().
d3d9: Create sub-resource surfaces manually.
d3d9: Pass the container to d3d9_surface_create().
Ziqing Hui (3):
winegstreamer: Implement wg_format_from_caps_video_wmv.
wingstreamer: Create extra decodebin to decode compressed stream.
mfreadwrite: Fix an address of operator typo.
1
0
The Wine stable release 8.0.1 is now available.
What's new in this release:
- Fixes for macOS Ventura 13.3 on Apple Silicon
- Tamil and Turkish translation updates
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.1.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 8.0.1 (total 36):
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51345 Regression: Visual Studio 2005 "package load failure"
- #52506 Setup of game "What's the Secret?" fails to create icon
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
- #54215 ListView doesn't refresh when changing between List and Details styles.
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54289 RtlCopyContext buffer overflow
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
- #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
- #54357 Spurious fixme message when calling ScrollWindow()
- #54364 RtlGenRandom fails on systems with more than 128 cores
- #54371 loader won't launch from PATH unless named "wine"
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
- #54379 since wine 8.0 print doesn't work any more
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54449 nethack crashes
- #54456 vbscript memory leak in For Each with SafeArray as group
- #54457 vbscript memory leaks in interp_redim_preserve
- #54458 vbscript memory leaks in Global_Split
- #54489 VarAbs() does not handle BSTR arguments correctly
- #54490 vbscript fails to compile when statement follows ElseIf
- #54493 vbscript fails to compile concat when used without space and expression begins with H
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54690 ldp.exe crashes when attempting to connect to an invalid host
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
----------------------------------------------------------------
Changes since 8.0:
Akihiro Sagawa (2):
user32/tests: Add DBCS WM_CHAR tests for edit control.
user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (5):
shell32: Add support for Program Manager icons with arguments.
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
server: Fix buffer overrun in map_view handler.
Alexandre Julliard (2):
gitlab: Add workaround for more strict git ownership check.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
Alistair Leslie-Hughes (1):
mountmgr.sys: Don't attempt to read from invalid media.
Brendan Shanks (7):
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
loader: In macOS preloader, fix an environment variable sometimes being lost.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Dmitry Timoshkov (3):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
Eric Pouech (3):
ntdll: Implement RtlAddressInSectionTable.
conhost: Only update font when running with a window.
winedbg: Use debuggee's bitness for 'examine /a' command.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
Gabriel Ivăncescu (1):
jscript: Fix jsstr leak after changing variant type to BSTR.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (8):
wbemprox: Implement GetBinaryValue() method.
adsldp/tests: Avoid test failures when the server is down.
wbemprox: Implement Win32_Volume.
advapi32: Bump random buffer size.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
adsldp/tests: Skip all remaining tests when the server is down.
adsldp/tests: Fix test failures.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Millard (7):
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
oleaut32: Fix VarAbs function for BSTR with positive values.
vbscript: Fix compile when statement after ElseIf or after separator.
vbscript: Fix compile issue with non hex after concat without space.
Jinoh Kang (7):
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
riched20: Obtain the composition start index after deleting selection.
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Michael Stefaniuc (2):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Do not run the build script on each commit.
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (5):
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
cryptnet: Cache revocation status in verify_cert_revocation().
cryptnet: Use cert data hash as cache id instead of serial number.
cryptnet: Also hash issuer cert for cache id.
Piotr Caban (7):
msvcrt: Don't crash on NULL argument in getenv.
msvcrt: Don't crash on NULL argument in _wgetenv.
msvcrt: Improve error handling in getenv_s.
msvcrt: Improve error handling in _wgetenv_s.
winspool: Fix FILE: output handling in StartDocDlgW.
localspl: Ignore an empty output string.
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
Rémi Bernon (2):
dwrite: Statically init the system_fallback locale list.
services: Use a separate allocation for NotifyParamsArray[0].params.
Serkan Önder (1):
po: Update Turkish translation.
Tingzhong Luo (1):
evr: Fix crash when clearing input type for the mixer.
Zebediah Figura (1):
oleaut32: Manually construct a stub buffer for dispinterfaces.
Zhiyi Zhang (3):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
user32/tests: Test winstation and desktop access rights.
1
0
The Wine development release 8.6 is now available.
What's new in this release:
- Bundled math library from Musl libc.
- Gecko engine updated to version 2.47.4.
- Improved spool file support in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.6.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 8.6 (total 25):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #18773 Multiple apps need DirectShow MPEG Layer-3 decoder filter / l3codecx.ax (The Westerner, 3D Mark 2001SE)
- #28586 Team Fortress Arcade & Pixel Force: Left 4 Dead music doesn't play
- #32490 Graphical issues in Inquisitor (red squares painted on the screen)
- #42372 Watchtower Library 2016 crashes when trying to play a video
- #49002 Multiple games trigger GL_INVALID_FRAMEBUFFER_OPERATION in wined3d (Free Horror Game "My Place", DiRT Rally 2.0)
- #49332 CounterPath Bria Solo crashes after login dialog
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52193 schtasks.exe:schtasks fails on Windows 7 when missing privileges
- #53128 Without elevated privileges schedsvc:rpcapi fails on Windows 7
- #53269 uiautomationcore:uiautomation fails on Windows 10 1909
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54106 taskschd:scheduler - test_GetTask() fails on Windows 7 when it has insufficient privileges
- #54109 schedsvc:rpcapi causes taskschd:scheduler to crash on w7u_adm
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception(a)std@@YAXVexception_ptr(a)1@@Z
- #54594 dinput:device8 - test_dik_codes() sometimes gets timeouts on the GitLab CI
- #54634 schtasks.exe:schtasks causes taskschd:scheduler to crash on w7u_adm and w8adm
- #54666 Compilation fails with gcc 4.8.4 - error: missing binary operator before token "("
- #54713 dinput:device8 - test_mouse_keyboard() fails on some Window 7 locales
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54772 LDAP Explorer (LEX) fails to connect without SSL
- #54774 dinput:device8 - test_overlapped_format() sometimes gets a timeout in Wine (GitLab CI)
- #54781 Wine fails to update existed prefix
- #54819 DnsQuery_A() mishandles CNAME DNS records
----------------------------------------------------------------
Changes since 8.5:
Alex Henrie (6):
wldap32/tests: Name option test functions after the option being tested.
wldap32: Allow LDAP_OPT_REFERRALS to be set from a pointer.
wintrust: Annotate WINTRUST_Alloc with __WINE_(DEALLOC|MALLOC).
wldap32: Skip over the TLS certificate check if not using TLS.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
Alexandre Julliard (78):
libs: Import the math library from upstream musl 1.2.3.
msvcrt: Use the fabs()/fabsf() implementation from the bundled musl library.
msvcrt: Use the frexp()/frexpf() implementation from the bundled musl library.
msvcrt: Use the modf()/modff() implementation from the bundled musl library.
msvcrt: Use the cbrt()/cbrtf() implementation from the bundled musl library.
msvcrt: Use the hypot()/hypotf() implementation from the bundled musl library.
msvcrt: Use the trunc()/truncf() implementation from the bundled musl library.
msvcrt: Use the fmax()/fmaxf() implementation from the bundled musl library.
msvcrt: Use the fmin()/fminf() implementation from the bundled musl library.
msvcrt: Use the fdim()/fdimf() implementation from the bundled musl library.
msvcrt: Use the copysign()/copysignf() implementation from the bundled musl library.
msvcrt: Use the nan()/nanf() implementation from the bundled musl library.
msvcrt: Use the scalbn() implementation from the bundled musl library.
msvcrt: Use the ilogb()/ilogbf() implementation from the bundled musl library.
msvcrt: Use the logb()/logbf() implementation from the bundled musl library.
msvcrt: Use the remquo()/remquof() implementation from the bundled musl library.
msvcrt: Use the lgamma()/lgammaf() implementation from the bundled musl library.
msvcrt: Use the tgamma()/tgammaf() implementation from the bundled musl library.
msvcrt: Use the expm1()/expm1f() implementation from the bundled musl library.
msvcrt: Use the j0()/y0() implementation from the bundled musl library.
msvcrt: Use the j1()/y1() implementation from the bundled musl library.
msvcrt: Use the jn()/yn() implementation from the bundled musl library.
msvcrt: Use the fmod()/fmodf() implementation from the bundled musl library.
msvcrt: Use the log()/logf() implementation from the bundled musl library.
msvcrt: Use the log10()/log10f() implementation from the bundled musl library.
msvcrt: Use the __expo2()/__expo2f() implementation from the bundled musl library.
msvcrt: Use the coshf() implementation from the bundled musl library.
msvcrt: Use the sinhf() implementation from the bundled musl library.
msvcrt: Use the cosh() implementation from the bundled musl library.
msvcrt: Use the sinh() implementation from the bundled musl library.
msvcrt: Use the atan2()/atan2f() implementation from the bundled musl library.
msvcrt: Use the exp2()/exp2f() implementation from the bundled musl library.
msvcrt: Use the log1p()/log1pf() implementation from the bundled musl library.
msvcrt: Use the log2()/log2f() implementation from the bundled musl library.
msvcrt: Use the fma()/fmaf() implementation from the bundled musl library.
msvcrt: Use the round()/roundf() implementation from the bundled musl library.
msvcrt: Use the floor()/floorf() implementation from the bundled musl library.
msvcrt: Use the ceil()/ceilf() implementation from the bundled musl library.
msvcrt: Use the nextafter()/nextafterf() implementation from the bundled musl library.
msvcrt: Use the nexttoward()/nexttowardf() implementation from the bundled musl library.
msvcrt: Use the __rem_pio2()/__rem_pio2f() implementation from the bundled musl library.
msvcrt: Use the __sindf() implementation from the bundled musl library.
msvcrt: Use the __cosdf() implementation from the bundled musl library.
msvcrt: Use the sin()/sinf() implementation from the bundled musl library.
msvcrt: Use the cos()/cosf() implementation from the bundled musl library.
msvcrt: Use the tan()/tanf() implementation from the bundled musl library.
msvcrt: Use the pow()/powf() implementation from the bundled musl library.
msvcrt: Use the rint()/rintf() implementation from the bundled musl library.
msvcrt: Use the expf() implementation from the bundled musl library.
msvcrt: Use the acosf() implementation from the bundled musl library.
msvcrt: Use the asinf() implementation from the bundled musl library.
msvcrt: Use the atanf() implementation from the bundled musl library.
msvcrt: Use the exp() implementation from the bundled musl library.
msvcrt: Use the acos() implementation from the bundled musl library.
msvcrt: Use the asin() implementation from the bundled musl library.
msvcrt: Use the atan() implementation from the bundled musl library.
msvcrt: Use the asinh()/asinhf() implementation from the bundled musl library.
msvcrt: Use the acosh()/acoshf() implementation from the bundled musl library.
msvcrt: Use the atanh()/atanhf() implementation from the bundled musl library.
msvcrt: Use the tanh()/tanhf() implementation from the bundled musl library.
msvcrt: Use the remainder()/remainderf() implementation from the bundled musl library.
msvcrt: Use the erf()/erfc()/erff()/erfcf() implementation from the bundled musl library.
msvcrt: Use the sqrtf() implementation from the bundled musl library.
msvcrt: Use the sqrt() implementation from the bundled musl library.
msvcrt: Use the _dclass()/_fdclass() implementation from the bundled musl library.
ntdll: Use the sin() implementation from the bundled musl library.
ntdll: Use the cos() implementation from the bundled musl library.
ntdll: Use the tan() implementation from the bundled musl library.
ntdll: Use the atan() implementation from the bundled musl library.
ntdll: Use the atan2() implementation from the bundled musl library.
ntdll: Use the log() implementation from the bundled musl library.
ntdll: Use the pow() implementation from the bundled musl library.
ntdll: Use the sqrt() implementation from the bundled musl library.
ntdll: Use the ceil() implementation from the bundled musl library.
ntdll: Use the floor() implementation from the bundled musl library.
ntdll: Use the fabs() implementation from the bundled musl library.
ntdll: Use the correct section start when reading the COR header.
winedump: Apply all dynamic relocations before dumping alternate PE headers.
Alexandros Frantzis (10):
win32u: Support setting the current mode using gdi_device_manager.
winex11.drv: Extract function to check devmode equality.
winex11.drv: Set the current mode using gdi_device_manager.
winewayland.drv: Set the current mode using gdi_device_manager.
winemac.drv: Extract function to get the current mode.
winemac.drv: Set the current mode using gdi_device_manager.
wineandroid.drv: Set the current mode using gdi_device_manager.
winex11.drv: Use the proper id with the settings handler.
winex11.drv: Do not call desktop get_current_mode() from UpdateDisplayDevices.
winex11.drv: Use a distinct type for the settings id.
Alistair Leslie-Hughes (1):
msado15: Initialize all SYSTEMTIME members.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Connor McAdams (5):
uiautomationcore/tests: Add tests for default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Add a default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Implement UIA_ProcessIdPropertyId for default HWND provider.
uiautomationcore: Implement UIA_ClassNamePropertyId for default HWND provider.
uiautomationcore: Implement UIA_NamePropertyId for default HWND provider.
Daniel Tang (1):
wintypes: Declare exported functions in rometadataresolution.h.
Davide Beatrici (11):
winecoreaudio: Retain precision when storing period in unixlib.
winecoreaudio: Store flags in unixlib.
winecoreaudio: Implement and call set_event_handle in unixlib.
winecoreaudio: Implement and call timer_loop in unixlib.
winealsa: Move common mmdevdrv structs into mmdevapi.
winecoreaudio: Use mmdevdrv structs from mmdevapi.
wineoss: Use mmdevdrv structs from mmdevapi.
winepulse: Use mmdevdrv structs from mmdevapi.
mmdevapi: Rename mmdevapi.h to mmdevapi_private.h.
mmdevapi: Add missing includes to mmdevapi_private.h.
mmdevapi: Add missing includes and typedef to mmdevdrv.h.
Eric Pouech (5):
kernel32/debugger: Fix a failing test (on Wine).
winedump: Fix out of bounds access (spotted by GCC13).
winedbg: Don't crash when no search path has been set.
kernel32/tests: Workaround broken behavior in Win7 Pro64.
psapi: Test filesystem redirection with EnumProcessModulesEx.
Florian Will (5):
dinput/tests: Add EnumObjects callback return value test.
dinput: Fix EnumObjects callback return value handling.
dinput/tests: Add guidType test for collection objects.
dinput: Set guidType = GUID_Unknown for HID collections.
dinput/tests: Remove unmatched winetest_pop_context().
François Gouget (14):
dinput/tests: Fix the spelling of an ok() message.
wininet/tests: Remove redundant quotes in an ok() message.
wininet/tests: Avoid an unnecessary strlen() call in internet.c.
kernel32/tests: Improve the WideCharToMultiByte() null-termination and truncation tests.
iphlpapi: Fix the GAA_FLAG_INCLUDE_GATEWAYS constant name.
wininet/tests: Fix the InternetErrorDlg() tests on Windows 10 1607.
wininet/tests: Avoid an unnecessary lstrlenW() call in internet.c.
winintest/tests: Remove a couple of redundant InternetGetConnectedStateEx*() tests.
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
wininet/tests: Fix InternetGetConnectedStateEx() parameter checking.
user32/tests: Windows 11's notepad has four icons.
dnsapi/tests: Test how DnsQuery() handles CNAMEs.
advapi32/tests: Make the services resume handle traces more informative.
Gabriel Ivăncescu (6):
mshtml: Tell wine-gecko about the IE compat document mode.
mshtml: Set dom.ipc.plugins.enabled to FALSE.
mshtml: Implement `complete` prop for input elements.
mshtml: Get rid of dispatch_nsevent_hook.
mshtml: Implement ProgressEvent's initProgressEvent method.
mshtml/tests: Add tests for non-stringed url() with non-URL characters in CSS.
Giovanni Mascellani (5):
dxgi/tests: Test GetLastPresentCount() with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return correct present count with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return a duplicate frame latency event.
dxgi/tests: Rename the waitable object from "event" to "semaphore".
dxgi/tests: Test the frame latency waitable more thoroughly.
Hans Leidekker (3):
wldap32: Implement LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Don't call ldap_connect() when a connection has already been established.
ws2_32: Skip non-address records in dns_only_query().
Hugh McMaster (5):
kernel32/tests: Check return length of GetConsoleOriginalTitleA/W().
conhost: Save original console title on initialization.
kernelbase: Implement GetConsoleOriginalTitleW().
kernelbase: Implement GetConsoleOriginalTitleA().
kernel32/tests: Test GetConsoleOriginalTitleW() with an empty title.
Jacek Caban (2):
winevulkan: Add support for VK_KHR_map_memory2.
mshtml: Wine Gecko 2.47.4 release.
Jactry Zeng (5):
include: Add FWF_NONE.
shell32: Assign a default view mode value for IShellView.
shell32/tests: Move interfaces creation to a function.
shell32/tests: Add tests for IShellView_GetCurrentInfo().
shell32: Assign a default flags for view information of IShellView.
Mohamad Al-Jaf (34):
widl: Add support for inherited runtime classes.
widl: Add support for protected attribute.
widl: Add support for composable attribute.
cryptowinrt/tests: Remove racey refcount test.
include: Add windows.ui.composition.idl file.
include: Add Windows.UI.Composition.CompositionBrush definition.
include: Add ICompositionSurface interface definition.
include: Add Windows.UI.Composition.CompositionSurfaceBrush definition.
include: Add Windows.UI.Composition.SpriteVisual definition.
include: Add Windows.UI.Composition.CompositionClip definition.
include: Add Windows.UI.Composition.Visual definition.
include: Add Windows.UI.Composition.ColorKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionColorBrush definition.
include: Add Windows.UI.Composition.CubicBezierEasingFunction definition.
include: Add Windows.UI.Composition.CompositionEffectBrush definition.
include: Add Windows.UI.Composition.CompositionEffectFactory definition.
include: Add Windows.UI.Composition.ExpressionAnimation definition.
include: Add Windows.UI.Composition.InsetClip definition.
include: Add Windows.UI.Composition.LinearEasingFunction definition.
include: Add Windows.UI.Composition.CompositionPropertySet definition.
include: Add Windows.UI.Composition.QuaternionKeyFrameAnimation definition.
include: Add Windows.UI.Composition.ScalarKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionScopedBatch definition.
include: Add Windows.UI.Composition.CompositionTarget definition.
include: Add Windows.UI.Composition.Vector2KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector3KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector4KeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionCommitBatch definition.
include: Add Windows.UI.Composition.Compositor definition.
include: Add Windows.UI.Composition.CompositionObject definition.
include: Add Windows.UI.Composition.CompositionDrawingSurface definition.
include: Add Windows.UI.Composition.CompositionGraphicsDevice definition.
widl: Add support for WinRT HANDLE parameter type.
include: Add windows.ui.composition.interop.idl file.
Nikolay Sivov (1):
mfplat: Handle more video subtypes in MFInitMediaTypeFromAMMediaType().
Paul Gofman (10):
winegstreamer: Fix check for non-zero padding in h264 transform.
win32u: Set DEVPKEY_Device_MatchingDeviceId for GPUs.
win32u: Set DEVPKEY_Device_BusNumber for GPUs.
win32u: Set DEVPKEY_Device_RemovalPolicy for GPUs.
mf/tests: Increase h264data.bin video length.
mf/tests: Test h264 decoder with dxgi device manager.
winegstreamer: Process MFT_MESSAGE_SET_D3D_MANAGER in h264 decoder.
winegstreamer: Provide samples if DXGI device manager is set in h264 decoder.
winegstreamer: Pass temporary sample to wg_transform_read_mf() in h264 decoder.
winex11.drv: Fix bit shifts in pixel format description for RGBA formats.
Piotr Caban (61):
win32u: Add support for undocummented DIB_PAL_INDICES color usage in SetDIBits.
gdi32: Rename DIB_PAL_MONO to DIB_PAL_INDICES.
gdi32: Let SetDIBits handle DIB_PAL_INDICES color usage in PlayEnhMetaFileRecord.
wineps: Handle EMR_MASKBLT record in spool files.
wineps: Handle EMR_PLGBLT record in spool files.
wineps: Handle EMR_DELETEOBJECT record in spool files.
wineps: Handle EMR_POLYDRAW record in spool files.
wineps: Handle EMR_POLYDRAW16 record in spool files.
wineps: Handle EMR_CREATEPEN record in spool files.
wineps: Handle EMR_CREATEBRUSHINDIRECT record in spool files.
gdi32: Factor out function for obtaining gdi object handle.
gdi32: Support stock brush in EMR_FILLRGN.
gdi32: Support stock brush in EMR_FRAMERGN.
wineps: Handle EMR_FILLRGN record in spool files.
wineps: Handle EMR_FRAMERGN record in spool files.
wineps: Handle EMR_INVERTRGN record in spool files.
wineps: Handle EMR_SETROP2 record in spool files.
wineps: Handle EMR_SETSTRETCHBLTMODE record in spool files.
wineps: Handle EMR_SETTEXTALIGN record in spool files.
wineps: Handle EMR_OFFSETCLIPRGN record in spool files.
wineps: Handle EMR_EXCLUDECLIPRECT record in spool files.
wineps: Handle EMR_INTERSECTCLIPRECT record in spool files.
wineps: Handle EMR_SCALEVIEWPORTEXTEX record in spool files.
wineps: Handle EMR_SCALEWINDOWEXTEX record in spool files.
wineps: Don't write invisible parts of image to decrease output file size.
wineps: Handle EMR_SELECTCLIPPATH in spool files.
wineps: Handle EMR_EXTSELECTCLIPRGN record in spool files.
wineps: Fix reporting supported color depths in PSDRV_PutImage.
wineps: Handle EMR_GRADIENTFILL record in spool files.
wineps: Handle EMR_ENDPATH record in spool files.
wineps: Handle EMR_ABORTPATH record in spool files.
wineps: Handle EMR_BEGINPATH record in spool files.
wineps: Handle EMR_FILLPATH record in spool files.
wineps: Handle EMR_STROKEANDFILLPATH record in spool files.
wineps: Handle EMR_STROKEPATH record in spool files.
wineps: Handle EMR_CLOSEFIGURE record in spool files.
wineps: Handle EMR_FLATTENPATH record in spool files.
wineps: Handle EMR_WIDENPATH record in spool files.
include: Add EMRTRANSPARENTBLT definition.
gdi32: Handle EMR_TRANSPARENTBLT record in PlayEnhMetaFileRecord.
wineps: Fix SetPixel implementation.
wineps: Don't store currently selected brush in print processor data.
wineps: Handle EMR_SETTEXTCOLOR record in spool files.
wineps: Handle EMR_SETBKCOLOR record in spool files.
wineps: Handle EMR_SAVEDC in spool files.
wineps: Handle EMR_RESTOREDC record in spool files.
wineps: Handle EMR_EXTESCAPE record in spool files.
wineps: Silence FIXME message on EMR_ALPHABLEND record.
wineps: Silence FIXME message on EMR_EXTFLOODFILL record.
wineps: Handle EMR_SETMAPPERFLAGS record in spool files.
wineps: Handle EMR_SETMAPMODE record in spool files.
wineps: Handle EMR_SETBKMODE record in spool files.
wineps: Handle EMR_SETPOLYFILLMODE record in spool files.
wineps: Handle EMR_SETLAYOUT record in spool files.
wineps: Handle EMR_SETTEXTJUSTIFICATION record in spool files.
msvcr100: Add missing ExternalContextBase virtual functions stubs.
msvcr100: Add Context::Block() implementation.
msvcr100: Add ExternalContextBase::Block() implementation.
msvcr100: Add ExternalContextBase::IsSynchronouslyBlocked() implementation.
msvcr100: Add ExternalContextBase::Unblock implementation.
msvcr100: Use Context blocking functions in reader_writer_lock class.
Rémi Bernon (72):
winex11: Remove non-CJK specific XIC creation logic.
winex11: Always create XIC preedit and status attributes.
winex11: Pass hwnd parameter to all XIC callbacks.
winex11: Remove unnecessary else control flow.
winex11: Create the thread XFontSet on thread attach.
winex11: Set thread data XIM pointer outside of open_xim.
winex11: Cleanup XIM initialization traces.
imm32: Rewrite ImmInternalSendIMEMessage helper as imc_send_message.
imm32: Rewrite ImmInternalPostIMEMessage helper as imc_post_message.
imm32: Rewrite ImmInternalSendIMENotify helper as imc_notify_ime.
imm32: Fix mixed-up HIMC / imc pointers in ImmTranslateMessage.
imm32: Simplify control flow in ImmTranslateMessage.
imm32: Cleanup parameters and traces in ImmTranslateMessage.
imm32: Use a stack allocated buffer in ImmTranslateMessage.
ws2_32/tests: Adjust test results without host IPv6 support.
winemac: Rename imeData / data members and variables to himc.
winemac: Use UINT(32) for HIMC in the unixlib interface.
winemac: Assume IME UI window always has a valid HIMC.
winemac: Pass INPUTCONTEXT pointer to UpdateDataInDefaultIMEWindow.
winemac: Add a helper to get IME private window.
winemac: Add a helper to get COMPOSITIONSTRING text.
winemac: Add a helper to select IME private font.
winex11: Assume IME UI window always has a valid HIMC.
winex11: Pass INPUTCONTEXT pointer to UpdateDefaultIMEWindow.
winex11: Add a helper to get COMPOSITIONSTRING text.
winex11: Add a helper to select IME private font.
winex11: Register XIC status callbacks.
winex11: Refactor XIM input style selection.
winex11: Reorder control flow in xic_preedit_draw.
winex11: Fix XIM wchar encoding in xic_preedit_draw.
winex11: Early return control flow in xic_preedit_caret.
winex11: Set x11drv_win_data XIC out of X11DRV_CreateIC.
dinput/tests: Mark some tests as flaky to work around fvwm bug.
imm32/tests: Test setting the same HIMC statuses twice.
imm32/tests: Test WM_IME_NOTIFY messages target window.
imm32/tests: Add more ImmGetCompositionString(W|A) tests.
imm32/tests: Add more ImmSetCompositionString tests.
winex11: Cleanup spaces in IME UI window proc.
winex11: Move IME UI proc to default IME implementation.
winemac: Use the default IME UI window proc implementation.
imm32: Cleanup default IME UI window proc traces.
imm32: Call DefWindowProcW from IME UI for unhandled messages.
imm32: Remove unnecessary HIMC check in IME UI window proc.
imm32/tests: Reduce the number of IME installations.
imm32/tests: Cleanup the cross thread IMC tests.
imm32: Serialize ImeInquire / ImeDestroy calls.
imm32: Use INPUTCONTEXT directly in ImmGetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmSetOpenStatus.
imm32: Cache INPUTCONTEXT values for every IME.
imm32: Compare open status values in ImmSetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmGetConversionStatus.
imm32: Use INPUTCONTEXT directly in ImmSetConversionStatus.
include: Add INPUTCONTEXT fdwInit flags definitions.
imm32/tests: Add some Imm(Get|Set)CompositionWindow tests.
imm32/tests: Add some Imm(Get|Set)StatusWindowPos tests.
imm32/tests: Add some Imm(Get|Set)CompositionFont tests.
imm32/tests: Add some Imm(Get|Set)CandidateWindow tests.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmSetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmGetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmGetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow.
winegstreamer: Introduce a new wg_init_gstreamer unixlib entry.
winegstreamer: Move some wg_parser / wg_transform helpers to unixlib.c.
winegstreamer: Sync element state with parent in append_element.
winegstreamer: Use append_element to build wg_parser pipeline.
winegstreamer: Remove unnecessary unlink in pad-removed callback.
winegstreamer: Introduce new link_src_to_element / link_element_to_sink helpers.
winegstreamer: Introduce new stream_type_from_caps helper.
Santino Mazza (3):
mf/tests: Test media session error handling.
mf/session: Handle errors when subscribing to source's events.
mf/session: Handle error when a source fails to start.
Stefan Dösinger (2):
wined3d: Rotate vk bind masks in wined3d_swapchain_vk_rotate.
include: X86 msvc has _InterlockedExchangePointer and _InterlockedCompareExchangePointer.
Tatsuyuki Ishi (1):
ntdll: Use log-linear bucketing for free lists.
Torge Matthies (1):
msvcr110: Implement _Context::_IsSynchronouslyBlocked.
Vijay Kiran Kamuju (1):
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (14):
quartz/vmr9: Do not clear the previous allocator and presenter in IVMRFilterConfig9::SetRenderingMode().
quartz/vmr9: Return a default_presenter structure from the default presenter constructor.
quartz/vmr9: Do not bother setting the cookie when using the default presenter.
quartz/vmr9: Do not set the mode if we failed to create the default presenter.
advapi32: Print ReportEvent() messages one line at a time.
d3dx10/tests: Port some additional D3DX10GetImageInfoFromMemory() tests from d3dx11.
windowscodecs: Map GUID_WICPixelFormat32bppRGBA1010102 to DXGI_FORMAT_R10G10B10A2_UNORM as well.
d3dx10: Map DXGI_FORMAT_R16_UNORM to DXGI_FORMAT_R16G16B16A16_UNORM in get_d3dx10_dds_format().
winegstreamer: Initialize media source video types from a wg_video_format array.
winegstreamer: Set the MF_MT_DEFAULT_STRIDE attribute in mf_media_type_from_wg_format().
winegstreamer: Translate the MF_MT_DEFAULT_STRIDE attribute to flipped video in mf_media_type_to_wg_format().
winegstreamer: Move flipping based on RGB to the frontends.
wined3d: Do not use glFramebufferTexture() to bind array RTVs with an array size of one.
d3d10core/tests: Add a regression test for mismatch of layered framebuffer attachments.
Zhiyi Zhang (4):
winex11.drv: Fix a typo.
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
wined3d: Add GPU information for AMD Raphael.
1
0
The Wine development release 8.5 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.7.
- Better error reporting in the IDL compiler.
- Support for shared Wow64 Classes registry key.
- More cleanups in IME support.
- Support for configuring a WinRT dark theme.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.5.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 8.5 (total 21):
- #44547 Deus Ex: invisible War v1.2 crashes when using the hotkey to quickload a saved game
- #46562 Notepad++ 7.6.3 crashes when searching twice and first time found results
- #47326 Fair Strike fails to map joystick due to IDirectInputDevice8 SetActionMap being a semi-stub.
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection(a)_UnrealizedChore@details(a)Concurrency@@IAEXXZ
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #54560 mscoree:mscoree - test_loadpaths_execute() sometimes gets directory creation errors
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54679 Conspiracy's Clean Slate 64K demo crashes due to HLSL shader compilation failure
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54691 reg.exe:copy, reg.exe:delete, reg.exe:export, reg.exe:import & reg.exe:query (+32-bit reg.exe:add) - The 64-bit tests fail due to ERROR_ACCESS_DENIED errors in Wine
- #54701 Ultimate Race Pro crashes after intro movies
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
- #54710 imm32:imm32 - test_ImmEscape() fails in the Korean locale on Windows
- #54711 imm32:imm32 - test_ImmGetProperty() fails in the Korean locale on Windows
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54727 LDAP Explorer (LEX) throws an exception when attempting to connect over SSL
- #54729 wine build fails with bison 3.0.5
----------------------------------------------------------------
Changes since 8.4:
Alex Henrie (14):
include: Annotate LDAP allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
include: Annotate ldap_(*_attribute|get_dn)* with __WINE_(DEALLOC|MALLOC).
wldap32: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
include: Allow multiple definitions on GCC with DECLSPEC_SELECTANY.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
wldap32: Implement setting LDAP_OPT_SSL and add tests.
wldap32: Stub out setting LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Implement ldap_connect.
wldap32: Return ~0u from ldap_modrdn* for any error.
wldap32: Implement setting LDAP_OPT_SERVER_CERTIFICATE and add tests.
Alexandre Julliard (17):
widl: Pass the correct parent name when opening an import file.
include: Declare some missing ntdll functions, and fix the sorting.
kernelbase: Use RtlGetNativeSystemInformation() to implement GetNativeSystemInfo().
wow64: Allow the CPU backend to override CPU information.
wow64: Convert token and debug port in NtCreateUserProcess().
ntdll: Fixup CPU information for old Wow64 mode.
ntdll: Add a helper function to check for old-style Wow64 mode.
ntdll: Add a helper function to check for Wow64 mode.
ntdll: Use get_wow_teb() and wow_peb in more places.
vkd3d: Import upstream release 1.7.
ntdll: One more fix for CPU information in old Wow64 mode.
ntdll: Convert WoW context to native context when running in 32-bit code.
ntdll: Fully initialize the i386 FPU context on ARM64.
kernelbase: Fix pattern checking for genitive month names in get_date_format().
d3dcompiler/tests: Update todos for tests that succeed with vkd3d 1.7.
ntdll: Add a helper function to return the alternate 32/64 loader.
ntdll: Only fall back to start.exe when using a different loader.
Alistair Leslie-Hughes (7):
msado15: Bind fields in _Recordset Open.
msado15: Store all data from provider.
include: Add Missing IUISettings interfaces.
windows.ui: Add Stubbed interface IUISettings.
windows.ui: Add IUISettings2 stub interface.
windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3.
msado15: Handle DBTYPE_STR type when loading recordset data.
Bernhard Kölbl (1):
windows.media.speech/tests: Allow recognizer state to be idle during active recognition session.
Biswapriyo Nath (5):
include: Add IDirectManipulationInteractionEventHandler declaration in directmanipulation.idl.
include: Add missing TS_STATUS constants in textstor.idl.
include: Fix c++ compiler error with msxml2.idl.
include/windows.system.idl: Update file to newer formatting.
include: Add Windows.System.DispatcherQueue definition.
Brendan Shanks (2):
winemac: Fix memory leak in UpdateDisplayDevices.
ntdll: Print correct thread rename trace when using current thread ID with exception method.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Connor McAdams (12):
uiautomationcore: Add stub IUIAutomationTreeWalker implementation.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{First/Last}ChildElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{Previous/Next}SiblingElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::GetParentElement{BuildCache}.
uiautomationcore/tests: Skip IAccessible2 tests on Win10v1909.
uiautomationcore/tests: Add NULL input argument tests for IUIAutomationTreeWalker navigation method.
uiautomationcore: Add a helper function for retrieving a property value from an individual node provider.
uiautomationcore: Add support for UIA_ProviderDescriptionPropertyId.
uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
Eric Pouech (2):
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
wow64: Move filter of (un)load DLL debug events to client side.
Etaash Mathamsetty (6):
kernel32: Add semi-stub for CreateFileTransactedA/W().
kernel32: Add semi-stub for CreateDirectoryTransactedA/W().
kernel32: Add semi-stub for DeleteFileTransactedA/W().
kernel32: Add semi-stub for FindFirstFileTransactedA/W().
kernel32: Add semi-stub for GetFileAttributesTransactedA/W().
kernel32: Add semi-stub for RemoveDirectoryTransactedA/W().
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (16):
mscoree/tests: Avoid temporary directory name collisions.
imm32/tests: Document the WINE_LANGID value.
widl: Error_loc() messages must have a trailing linefeed.
schtasks/tests: Deleting folders requires elevated privileges on Windows 7 & 8.
schtasks/tests: Verify that the task folders are correctly deleted.
schedsvc/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
schedsvc/tests: Use wide character string literals in rpcapi.c.
schedsvc/tests: Use a winetest context in the rpcapi loops.
schedsvc/tests: Document SchRpcGetTaskInfo() calls that crash on Windows.
schedsvc/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
taskschd/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
taskschd/tests: Store the xml definitions as wide string literals in scheduler.c.
taskschd/tests: Use wide character string literals in scheduler.c.
taskschd/tests: Use a winetest context in the scheduler loops.
taskschd/tests: Elevated privileges are needed to connect using a hostname.
taskschd/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
Gabriel Ivăncescu (5):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Share reference with the node for Gecko DOM Documents.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.246.
Hans Leidekker (2):
adsldp/tests: Fix test failures.
ldap: Return an error when the server doesn't respond to the SSL handshake.
Huw D. M. Davies (1):
win32u: Fix printf format warnings.
Jinoh Kang (3):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
ntdll: Don't report user (PE) stack via pthread_attr_setstack().
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Marc-Aurel Zent (1):
iphlpapi: Return FALSE for bad handles in IcmpCloseHandle.
Max Figura (10):
wined3d: Move the WINED3D_RS_TWEENFACTOR stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_POSITIONDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_NORMALDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MINTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MAXTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_X stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Y stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Z stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_W stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ENABLEADAPTIVETESSELLATION stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (11):
msdasql: Remove redundant NULL check before heap_free().
windows.media.speech: Remove redundant NULL check before free().
dinput/tests: Use separate statements instead of the comma operator.
jscript: Use separate statements instead of the comma operator.
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
dinput/tests: Drop superfluous TRUE : FALSE conditional expressions.
dinput: Remove superfluous cast to self.
uiautomationcore/tests: Drop superfluous TRUE : FALSE conditional expression.
ntdll/tests: Use FAILED() instead of not SUCCEEDED().
wmvcore/tests: Don't cast NULL to another pointer type.
mfplat/tests: Remove duplicated ok() call.
Mohamad Al-Jaf (11):
include: Add windows.graphics.effects.idl file.
include: Add windows.graphics.capture.idl file.
graphicscapture: Add stub DLL.
graphicscapture: Add IGraphicsCaptureSessionStatics stub interface.
graphicscapture/tests: Add IGraphicsCaptureSessionStatics::IsSupported() tests.
graphicscapture: Partially implement IGraphicsCaptureSessionStatics::IsSupported().
winecfg: Add an option to set WinRT app dark theme.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
include: Add DirectXAlphaMode enum.
include: Add windows.ui.core.idl file.
Nikolay Sivov (15):
d3d10/effect: Add support for itof instruction.
d3d10/effect: Add support for ineg instruction.
d3d10/effect: Add support for imax instruction.
d3d10/effect: Add support for udiv instruction.
d3dcompiler: Always initialize output shader blob pointer in D3DCompile2().
d3dcompiler: Allow D3DCompile2() to succeed with null output shader blob pointer.
d3dcompiler: Always free messages string in D3DCompile2().
d3dcompiler: Fix bytecode buffer leaks in D3DCompile2().
d3d10/effect: Add support for 'movc' instruction.
d3d10/effect: Handle division by zero in 'udiv'.
d3d10/effect: Add support for asin/acos/atan instructions.
d3d10/effect: Add support for umin/umax instructions.
d3d10/effect: Add support for 'imin' instruction.
d3d10/effect: Add support for 'iadd' instruction.
d3d10/tests: Add some tests for trigonometric functions.
Paul Gofman (15):
crypt32: Support user properties for certificates.
crypt32: Use CERT_STORE_ADD_ALWAYS when reading certs from registry.
crypt32: Refactor CRYPT_ImportSystemRootCertsToReg().
crypt32: Refactor read_trusted_roots_from_known_locations().
crypt32: Keep root certs cached in registry unless some are deleted on host.
taskkill: Use CRT allocation functions.
taskkill: Remove unneeded free() before process exit.
taskkill: Enumerate processes in main().
taskkill: Factor out get_task_pid().
taskkill: Use toolhelp snapshot to get process information.
taskkill: Mark processes for termination in main().
taskkill: Support terminating child processes.
services: Create service processes in a job.
services: Factor out notify_service_state() function.
services: Change running service state once its process dies.
Piotr Caban (49):
wineps: Move more code into create_psdrv_physdev helper.
wineps: Create fake PSDRV_PDEVICE OpenPrintProcessor.
wineps: Initialize PSDRV_PDEVICE print job information in PrintDocumentOnPrintProcessor.
wineps: Write document header and footer in PrintDocumentOnPrintProcessor.
wineps: Handle EMR_HEADER record in spool files.
wineps: Handle EMR_EOF record in spool files.
wineps: Handle brush selection in spool files.
wineps: Handle pen selection in spool files.
wineps: Handle EMR_RECTANGLE record in spool files.
wineps: Handle EMR_MOVETOEX record in spool files.
wineps: Handle EMR_LINETO record in spool files.
wineps: Handle EMR_CREATEMONOBRUSH record in spool files.
wineps: Handle EMR_CREATEDIBPATTERNBRUSHPT record in spool files.
wineps: Handle EMR_SETWORLDTRANSFORM record in spool files.
wineps: Handle EMR_MODIFYWORLDTRANSFORM record in spool files.
wineps: Handle EMR_POLYBEZIER record in spool files.
wineps: Handle EMR_POLYPOLYLINE record in spool files.
wineps: Handle EMR_POLYPOLYGON record in spool files.
wineps: Handle EMR_SETPIXELV record in spool files.
wineps: Handle EMR_ELLIPSE record in spool files.
wineps: Handle EMR_ROUNDRECT record in spool files.
wineps: Handle EMR_ARC record in spool files.
wineps: Handle EMR_CHORD record in spool files.
wineps: Handle EMR_PIE record in spool files.
ucrtbase: Add __CxxFrameHandler4 implementation.
wineps: Introduce helper for PolyBezier drawing.
wineps: Handle EMR_POLYGON record in spool files.
wineps: Handle EMR_POLYLINE record in spool files.
wineps: Handle EMR_POLYBEZIERTO record in spool files.
wineps: Handle EMR_POLYLINETO record in spool files.
wineps: Handle EMR_ARCTO record in spool files.
wineps: Handle EMR_POLYBEZIER16 record in spool files.
wineps: Handle EMR_POLYGON16 record in spool files.
wineps: Handle EMR_POLYLINE16 record in spool files.
wineps: Handle EMR_POLYBEZIERTO16 record in spool files.
wineps: Handle EMR_POLYLINETO16 record in spool files.
wineps: Handle EMR_POLYPOLYLINE16 record in spool files.
wineps: Handle EMR_POLYPOLYGON16 record in spool files.
wineps: Support arc direction in PSDRV_DrawArc.
wineps: Handle EMR_ANGLEARC record in spool files.
wineps: Handle EMR_PAINTRGN record in spool files.
wineps: Handle EMR_SETWINDOWEXTEX record in spool files.
wineps: Handle EMR_SETWINDOWORGEX record in spool files.
wineps: Handle EMR_SETVIEWPORTEXTEX in spool files.
wineps: Handle EMR_SETVIEWPORTORGEX record in spool files.
wineps: Handle EMR_SETBRUSHORGEX in spool files.
wineps: Handle EMR_SETARCDIRECTION record in spool files.
wineps: Handle EMR_STRETCHBLT record in spool files.
wineps: Handle EMR_BITBLT record in spool files.
Rémi Bernon (105):
win32u/tests: Test NtUserCreateInputContext (et al.)
win32u: Stub NtUserBuildHimcList syscall.
win32u/tests: Test NtUserBuildHimcList syscall.
win32u: Introduce new next_process_user_handle_ptr helper.
win32u: Implement NtUserBuildHimcList syscall.
dinput: Rewrite IDirectInputDevice8W_BuildActionMap.
dinput: Pass device object format index to queue_event.
dinput: Pass additional information to enum_object callback.
dinput: Split enum_objects_count helper from enum_objects_init.
dinput: Call enum_objects to initialize the device object format.
widl: Simplify uuid literals lexing.
widl: Remove unused lexer aliases.
widl: Simplify preprocessor directive lexing.
widl: Simplify reserved keywords lexing.
widl: Lex calling convention variations toghether.
imm32/tests: Remove GetLastError check on default IME ImmEscape tests.
imm32/tests: Update ImmGetProperty expectations for Korean locale.
dinput/tests: Flush messages after creating the test_mouse_keyboard window.
dinput: Count the actual number of object formats in SetActionMap.
dinput: Initialize device object format when creating devices.
dinput: Move mouse_create_device function around.
dinput: Always allocate and initialize the object_properties.
dinput: Initialize SetActionMap variables in their declarations.
dinput: Always set the DIPROP_BUFFERSIZE property in SetActionMap.
dinput: Only set DIPROP_RANGE in SetActionMap if range isn't empty.
dinput: Use 4 bytes for every object user state in SetActionMap.
dinput: Initialize object formats from device objects in SetActionMap.
dinput: Respect DIA_APPNOMAP in IDirectInputDevice8W_SetActionMap.
dinput: Return error from SetActionMap if SetDataFormat fails.
dinput: Keep device objects app data in the object properties.
dinput: Allow action formats with no matching actions.
dinput: Check IDirectInputDevice8W_SetActionMap flags.
dinput: Return DI_SETTINGSNOTSAVED when DIDSAM_FORCESAVE is used.
imm32: Implement ImmEnumInputContext.
imm32: Remove unnecessary threadDefault InputContextData member.
imm32: Remove unused IMM_IsCrossThreadAccess hwnd parameter.
imm32: Use NtUserQueryInputContext to check cross-thread access.
imm32: Rename InputContextData to struct imc.
widl: Rename (error|warning)_loc_info to (error|warning)_at.
widl: Allow source location to span over multiple lines.
widl: Move diagnostic and location functions to parser.l.
widl: Enable bison locations option.
widl: Improve accuracy of error messages location.
widl: Print the import stack and context in messages.
imm32: Fix ImmEscape(A|W) with NULL data.
imm32: Fix ImmEnumRegisterWord(A|W) callback conversion.
imm32/tests: Reduce test output unnecessary verbosity.
imm32: Stub ImmActivateLayout.
imm32/tests: Test undocumented ImmActivateLayout.
widl: Use spaces to indent attribute rules more consistently.
widl: Move attribute related functions to attribute.c.
widl: Simplify attribute creation with either int or ptr value.
widl: Remove custom attribute creation helper.
widl: Add source location information to attributes.
widl: Use warning_at when reporting duplicate attributes.
widl: Define PARSER_LTYPE instead of api.location.type.
dinput/tests: Test BuildActionMap cases with multiple devices.
dinput/tests: Add more IDirectInput8_EnumDevicesBySemantics tests.
dinput: Trace formats in (Build|Set)ActionMap and EnumDevicesBySemantics.
dinput: Load action map from registry before resetting guid.
dinput: Check device type in BuildActionMap for specific semantics.
dinput: Implement DIDBAM_PRESERVE BuildActionMap flag.
dinput: Rewrite IDirectInput8_EnumDevicesBySemantics.
win32u: Allow LANG_INVARIANT in NtUserActivateKeyboardLayout.
imm32: Use installed IME language for the created HKL.
imm32/tests: Check current keyboard layout during ime calls.
imm32: Call ActivateKeyboardLayout from ImmActivateLayout.
imm32/tests: Test ImmCreateInputContext et al.
imm32/tests: Test ActivateKeyboardLayout with an existing window.
imm32: Enumerate input contexts in ImmActivateLayout.
imm32: Introduce a new imc_select_hkl helper.
imm32: Update HIMC private data when selecting IME.
imm32: Call ImeSelect from ImmLockIMC with current IME.
imm32/tests: Add explicit ImmLoadIME / ImmFreeLayout calls.
imm32/tests: Ignore expected calls marked with todo.
imm32: Cleanup ImmProcessKey variables and traces.
imm32: Ignore ImmProcessKey if hkl isn't the current layout.
imm32/tests: Test ImmProcessKey with the installed IME.
imm32/tests: Test IME UI creation with the installed IME.
imm32/tests: Test IME UI window and IME window presence.
imm32: Update existing input contexts on layout change.
imm32: Keep the IME UI window on the default input context.
imm32: Re-create the IME UI window when IME changes.
imm32: Create the IME UI as child of the IME default window.
imm32/tests: Test DefWindowProc with IME UI messages.
win32u: Ignore IME messages from IME UI windows in DefWindowProc.
win32u: Ignore some IME messages in default_window_proc.
imm32: Pass the HIMC to the IME UI window IMMGWL_IMC.
imm32: Send WM_IME_SELECT messages when IME is activated.
imm32: Select current IME on input contexts when needed.
imm32: Introduce new input_context_init helper.
imm32: Add a default implementation for IME functions.
imm32: Return TRUE from ImmIsIME with any HKL.
winex11: Use the default IME implementation for stubs.
winemac: Use the default IME implementation for stubs.
imm32/tests: Add some ImmSetConversionStatus tests.
imm32/tests: Add some ImmSetOpenStatus tests.
imm32: Avoid recursing into ImeSelect calls.
imm32/tests: Init INPUTCONTEXT status in ImeSelect.
imm32/tests: Add some ImeSetActiveContext tests.
imm32/tests: Add some spurious IME select calls.
imm32/tests: Add some ImmRequestMessageW tests.
imm32/tests: Add some ImmGetCandidateList(W|A) tests.
imm32/tests: Add some ImmGetCandidateListCount(W|A) tests.
imm32/tests: Add some ImmGetCandidateWindow tests.
Shaun Ren (1):
quartz: Set filter sync source in FilterGraph2_AddFilter.
Stefan Dösinger (3):
wined3d: Make video memory accounting a per-resource flag.
ddraw/tests: Native 64 bit ddraw has a video memory leak.
ddraw/tests: Show that SYSMEM | 3DDEVICE surfaces don't consume vidmem.
Sven Baars (12):
advapi32/tests: Copy Software\Classes tests from ntdll.
kernelbase: Call open_key() from open_subkey().
kernelbase: Use open_key() to obtain any existing Wow6432node in create_key().
kernelbase: Pass a name pointer to open_key().
kernelbase: Return the last existing key from open_key() when it's called from create_key().
kernelbase: Don't open Wow6432nodes from create_key().
kernelbase: Factor creating a subkey out of create_key().
kernelbase: Call create_key() from create_subkey().
kernelbase: Add support for shared registry keys.
kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Remove special Wow64 handling for HKEY_CLASSES_ROOT.
wine.inf: Put the Clients key in the right place.
Torge Matthies (5):
msvcr100: Only wake task collection waiters when finished >= count.
msvcr100: Use enum for _StructuredTaskCollection return value.
msvcr100: Use enum for _StructuredTaskCollection status bits.
msvcr100: Implement _StructuredTaskCollection canceling.
msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
Tyson Whitehead (3):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
crypt32/tests: Document fields in original test certificate.
Vicki Pfau (1):
hidparse.sys: Include zero-count reports in cap count.
Vijay Kiran Kamuju (1):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
Zebediah Figura (15):
ddraw: Factor out a ddraw_texture_rename_to() helper from ddraw_surface1_Flip().
wined3d: Pass parent ops to wined3d_texture_set_sub_resource_parent().
wined3d: Pass parent ops to wined3d_resource_set_parent().
ddraw: Move sub-resource surface creation to ddraw_texture_init().
ddraw: Make ddraw_surface_init() static.
include: Use hexadecimal constants for XAudio flags.
include: Add D3D10CalcSubresource().
d3d10core/tests: Add a broken() case for WARP in test_occlusion_query().
d3d11/tests: Add a broken() case for WARP in test_occlusion_query().
ddraw/tests: Add some tests for creating surfaces with user memory.
wined3d: Pass parent ops to wined3d_rendertarget_view_set_parent().
ddraw: Reimplement SetSurfaceDesc() by recreating the wined3d texture(s).
ddraw/tests: Make test_texture_wrong_caps() a bit clearer.
include: Include corecrt.h in vadefs.h.
winedevice: Use the ntoskrnl channel.
Zhiyi Zhang (1):
dwrite: Use cache when font transform matrix contains only translation offsets.
Ziqing Hui (5):
mf/tests: Test time length returned by ProcessOutput.
winegstreamer: Add format field to wmv wg_format.
winegstreamer: Ignore framerate of media type for WMV decoder DMO.
winegstreamer: Create wg_transform for WMV decoder.
winegstreamer: Implement ProcessInput and ProcessOutput for WMV decoder DMO.
1
0
The Wine stable release 7.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.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 7.0.2 (total 43):
- #36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
- #39346 Lego Rock Raiders crashes on startup (d3drm_device_init doesn't handle device version 3 case)
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QAEXPAV_UnrealizedChore(a)23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule(a)_StructuredTaskCollection@details(a)Concurrency@@QEAAXPEAV_UnrealizedChore(a)23@@Z (Photoshop C 2018, CLIP Studio Paint)
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #49285 PNotesPortable crashes inside WritePrivateProfileStructW
- #50948 taskmgr.exe: wrong memory usage unit (GB => MB)
- #51788 windowscodecs:wmpformat test_decode() fails randomly
- #51842 include/winnt.h:403:50: error: size of unnamed array is negative
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52545 ACE rights parser should allow octal and decimal formats
- #52686 DateAdd not implemented
- #52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
- #52841 Leverless arcade controller SOCD cleaning does not work
- #52972 wineusb.sys: add_usb_device erroneously releases critical section on failure path
- #52975 VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll" failed to initialize, aborting
- #53003 XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices (MIDI running status isn't supported in the MIDI mapper)
- #53005 quartz:systemclock Fails after timeGetTime() wraps
- #53027 Port Royale 4 crashes with wined3d_texture*
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53051 Kvaser software crashes on unimplemented function ntoskrnl.exe.ExNotifyCallback
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
- #53169 Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
- #53170 Rich edit control becomes unstable or trips assertion after changing TextFont properties
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53310 Roblox Fails With HttpSendRequest
- #53335 Crash when converting an rich text editor already containing text into a password input
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError(a)_ExceptionHolder@details(a)Concurrency@@AEAAXXZ
- #53645 AIMP 3 causes memory leaks
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53832 wbemprox: where-clause seems to be case-sensitive
----------------------------------------------------------------
Changes since 7.0.1:
Akihiro Sagawa (2):
midimap: Handle MIDI running status.
mciqtz32: Fix thread handle leak if a second play.
Alex Henrie (3):
ntoskrnl: Add ExNotifyCallback stub.
ntdll: Don't hard-code the battery and AC adapter names on Linux.
user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
Alexandre Julliard (5):
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
urlmon/tests: Fix race condition in abort test.
mountmgr: Don't crash if connecting to dbus fails.
gdiplus: Get the compositing mode directly from the graphics object.
gitlab: Add workaround for more strict git ownership check.
Alistair Leslie-Hughes (8):
d3drm: Support IDirect3D3 when creating device.
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
odbc: SQLGetInfoW allow NULL parameter InfoValue.
crypt32: Only report Unimplemented decoder when not found in external dll.
Angelo Haller (9):
comctl32/tests: Add hold_key and release_key functions.
comctl32/tests: Add multi select tests for ownerdata listviews.
comctl32/tests: Add change sequence for ownerdata listviews.
comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Claire Girka (1):
winepulse: Fix memory leak in pulse_create_stream in some error cases.
Daniel Lehman (1):
kernelbase: Pass va_list copy to internal RtlFormatMessage.
David Curtiss (1):
ws2_32: Allow getsockname after AcceptEx.
David Kahurani (2):
win32u: Use allocator mechanism to allocate DC attributes.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (2):
comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED context.
sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
Eric Pouech (2):
wldap32: Fix compilation in 32-bit.
winedbg: Fix retrieving integral values.
Esme Povirk (1):
wmphoto: Zero user buffer before calling jxrlib Copy.
Fabian Maurer (1):
kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (4):
wininet: Remove assertion that is no longer valid in Windows 10.
wininet: Always reset the second input buffer in netcon_secure_connect_setup().
bcrypt: Force symmetric key reset if necessary.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (1):
conhost: Set correct face name when the specified font is not available.
Huw D. M. Davies (1):
nsi: Use the correct members for the error and discard counts.
Jeff Smith (2):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
Jinoh Kang (3):
wineusb.sys: Remove erroneous call to LeaveCriticalSection() in add_usb_device.
riched20: Commit and wrap paragraphs after changing text properties.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
Kevin Puetz (2):
winecrt0: Remove free_delay_imports.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
Limstash Wong (1):
taskmgr: Fix the unit in memory usage graph on performance tab.
Louis Lenders (1):
msvcr80: Update manifest resource.
Martin Storsjö (2):
include: Add declarations of _alloca and alloca for MSVC mode.
ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (2):
vbscript: Implement DateSerial().
vbscript: Implement DateAdd().
Paul Gofman (3):
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
winhttp/tests: Avoid race condition on closing connection in server_thread().
Piotr Caban (4):
msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
Robert Wilhelm (4):
scrrun: Added DateCreated property for IFile.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
Rémi Bernon (2):
winebus.sys: Implement SOCD neutral cleaning for hatswitches.
server: Avoid using pointer value after realloc.
Santino Mazza (3):
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
jscript: Return ParseProcedureText when compile fails.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Tim Clem (1):
kernelbase: Don't assume the length of the process image name.
Torge Matthies (8):
msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Implement invalid_multiple_scheduling exception.
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
msvcp90: Fix segfault in bad_alloc exception default constructor.
Zebediah Figura (7):
quartz/systemclock: Use timeGetTime() to retrieve the current time.
wined3d: Correctly handle 3D textures in wined3d_view_{load, invalidate}_location().
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
xslt: Use win32config.h from the correct directory.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
msvcrt: Add SEH annotations for sse2_memcpy().
libwine: Avoid comparing the result of pointer arithmetic to zero.
Zhiyi Zhang (14):
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Don't compare error event serial if it's zero.
winegstreamer: Always check the return value from mf_media_type_from_wg_format().
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
win32u: Fix a memory leak.
1
0
The Wine development release 8.4 is now available.
What's new in this release:
- Initial step of the Wayland graphics driver.
- Cleanups in IME support.
- A number of test fixes.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.4.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 8.4 (total 51):
- #7585 Thief: the dark project hangs on 'esc' keypress in game if X in 24bpp mode
- #47407 Hard Truck 2: King of The Road (GOG) movies aren't played
- #49266 Amazon Games installs but won't start (needs WindowsFormsApplicationBase startup code?)
- #51848 Multiple applications have very poor performance after 4261369e5d8 (Secondhand Lands, SPORE)
- #52912 t2embed:t2embed fails on Windows with the UTF-8 codepage
- #52948 gdi32:font - test_EnumFonts() fails on Arial Bold on Windows in Russian
- #53172 advapi32:registry - test_enum_value() has a pair of rare failures in UTF-8 system locales
- #53182 shell32:shelllink - A save(NULL, TRUE) fails randomly in test_load_save() on Wine
- #53236 d3d9:device - test_wndproc() sometimes gets an unexpected WM_DISPLAYCHANGE in Wine
- #53270 test_WSARecv() fails when using wow64 thunks [Wow64ApcRoutine() overwrites return value set by NtContinue()]
- #53488 The dxgi:dxgi output is too big on debiant
- #53526 kernel32:sync - test_timer_queue() occasionally fails to delete the timer on Windows 10
- #53528 ntdll:info - test_query_kerndebug() fails on Windows 8 to 10 1709
- #53818 foobar2000 v1.6 crashes shortly after startup on Wine 7.19 or higher
- #53974 d3drm:d3drm sometimes crashes after failing to create the IDirect3DRMDevice* interface in Wine
- #53975 d3drm:d3drm sometimes fails to create an immediate mode device in Wine
- #54003 vbscript:run sometimes fails on Windows UTF-8 locales
- #54008 d3d9:device sometimes fails to create a D3D object in Wine, crashes
- #54019 The 64-bit ntdll:wow64 fails on Windows 11
- #54020 The 32-bit ntdll:wow64 fails on Windows 11
- #54052 winhttp:notification times out randomly in Wine
- #54058 user32:input - test_ToAscii() fails in the Hindi UTF-8 locale
- #54078 ntdll:pipe - test_blocking() sometimes fails in Wine when the pipe is not signaled
- #54168 kernel32:console - test_wait() sometimes fails on Windows 8+
- #54298 d3d12:d3d12 - test_desktop_window() fails on Windows 10 1709
- #54299 d3d12:d3d12 - test_create_device() gets an unexpected 0 refcount on Windows 10 1909+
- #54313 HS_hevo_gc 8.8.1.1 fails to launch
- #54379 since wine 8.0 print doesn't work any more
- #54449 nethack crashes
- #54491 regedit/regproc.c - export_key() is unable to return TRUE
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54504 dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fail on Windows 11 due to notepad.exe path remapping
- #54505 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected Notepad case on Windows 11
- #54506 psapi:psapi_main - The 64-bit test_EnumProcessModulesEx() gets pcs-6464 and pcs-6432 failures on Windows 11
- #54507 psapi:psapi_main - The 32-bit test_EnumProcessModulesEx() gets many pcs-3232 failures due to partial copy errors on Windows 11
- #54509 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected third module on Windows 11
- #54531 jsproxy:jsproxy crashes on Windows 11
- #54539 Starcraft Remastered Game Initialization Failed
- #54553 mmdevapi:propstore - The 32-bit test_setvalue_on_wow64() fails on Windows 10 2004+
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54593 gdi32:dc - The SetDeviceGammaRamp() tests fails on Windows 10 1909
- #54605 The 32-bit dbghelp:dbghelp cannot run on Windows <= 10 1607 due to IsWow64Process2() call
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54621 Wine 8.3 64-bit is missing in the Debian bookworm repo
- #54637 riched20:txtsrv - test_TxGetNaturalSize fails if system GUI font's glyph widths are wider than expected by the test
- #54645 TextPad 9.1 installation fails in Wine 6 from Linux Mint repo
- #54649 windows.perception.stub:perception - Windows 10 1607 does not have ISpatialSurfaceObserverStatics2
- #54657 kernel32:loader - test_import_resolution() gets bad tls data on Windows 7
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54669 imm32:imm32 - ime_install() fails in some locales on Windows
- #54690 ldp.exe crashes when attempting to connect to an invalid host
----------------------------------------------------------------
Changes since 8.3:
Alex Henrie (5):
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Replace bvfreeU with plain free.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (32):
ntdll/tests: Check the default stack information against the exe header.
ntdll/tests: Remove invalid instruction from KiUserExceptionDispatcher test.
ntdll/tests: Allow zero size return for NtQueryDirectoryObject on Wow64.
wow64: In system calls always return the status from Wow64SystemServiceEx.
wow64: Push a valid return address when calling KiRaiseUserExceptionDispatcher.
wow64: Keep track of APC stack frames, similarly to user callback frames.
wow64: Declare exported functions in winternl.h.
maintainers: Assume maintainership of ARM platforms.
ntdll: Always call Wow64PrepareForException when dispatching an exception.
server: Determine the native thread context flags on the client side.
ntdll: Pass the WoW context to the server on ARM64.
ntdll: Don't touch the top of the 32-bit thread stack.
wow64: Create the WOW64INFO structure.
wow64: Fixup Eip for breakpoint exceptions.
wow64: Don't update the exception address in raise_exception().
wow64: Implement Wow64RaiseException().
make_makefiles: Die when the git command fails.
gitlab: Add workaround for more strict git ownership check.
lcms2: Import upstream release 2.15.
faudio: Import upstream release 23.03.
ldap: Import upstream release 2.5.14.
tiff: Import upstream release 4.5.0.
ntdll: Fix some CPU information tests on ARM64.
ntdll: Implement the SystemProcessorBrandString query.
ntdll: Implement the SystemProcessorFeaturesInformation query.
wineboot: Use the SystemProcessorBrandString query instead of cpuid.
ntdll/tests: Handle another possible status when SystemProcessorFeaturesInformation is not supported.
ntdll/tests: Fix Wow64 tests failures on Windows 11 ARM64.
ntdll/tests: Update some todos that succeed with the new wow64 architecture.
ntdll: Implement NtWow64IsProcessorFeaturePresent().
wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend.
wineboot: Add processor features for supported WoW64 architectures on ARM64.
Alexandros Frantzis (6):
winewayland.drv: Add initial driver stub.
winewayland.drv: Add initial unixlib stub.
winewayland.drv: Perform basic per-process Wayland initialization.
win32u: Allow drivers to set the null user driver.
winewayland.drv: Report basic monitor information.
winewayland.drv: Report all advertised monitor modes to Wine.
Anton Baskanov (1):
ir50_32: Handle 24-bit output media type.
Brendan Shanks (4):
kernel32: Implement GetFirmwareType().
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
kernelbase: Implement DiscardVirtualMemory().
Connor McAdams (17):
uiautomationcore: Implement IUIAutomation::Create{True,False}Condition.
uiautomationcore: Implement IUIAutomation::CreatePropertyCondition.
uiautomationcore: Implement IUIAutomation::CreateNotCondition.
uiautomationcore: Implement IUIAutomation::CreateOrCondition.
uiautomationcore: Implement IUIAutomation::get_ControlViewCondition.
uiautomationcore: Implement IUIAutomation::get_RawViewCondition.
uiautomationcore: Validate input arguments for IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
uiautomationcore: Add support for caching property values in UiaGetUpdatedCache.
uiautomationcore: Implement IUIAutomationCacheRequest::AddProperty.
uiautomationcore: Implement IUIAutomationElement::GetCachedPropertyValueEx.
uiautomationcore/tests: Add tests for IUIAutomationElement find methods.
uiautomationcore: Implement IUIAutomationElement::FindAll{BuildCache}.
uiautomationcore: Implement IUIAutomationElement::FindFirst{BuildCache}.
Daniel Tang (3):
wintypes: Stub RoIsApiContractMajorVersionPresent().
wofutil: Stub WofIsExternalFile().
windows.networking: Stub DllGetActivationFactory().
Davide Beatrici (12):
winealsa: Return STATUS_SUCCESS for unused unixlib functions.
winecoreaudio: Return STATUS_SUCCESS for unused unixlib functions.
wineoss: Return STATUS_SUCCESS for unused unixlib functions.
winepulse: Return STATUS_SUCCESS for unused unixlib functions.
mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
winepulse: Move process_attach and process_detach handling into mmdevapi.
mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
mmdevapi: Move test_connect handling into mmdevapi.
winealsa: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winecoreaudio: Use GetModuleFileName() instead of hardcoded module filename for registry key.
wineoss: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winepulse: Use GetModuleFileName() instead of hardcoded module filename for registry key.
Derek Lesho (2):
mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
winegstreamer/media_source: Close bytestream in ::Shutdown.
Dmitry Timoshkov (2):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
Eric Pouech (10):
dbghelp/tests: Better use global variables.
dbghelp/tests: Preserve last error in process_get_kind().
dbghelp: Use 'wine' as loader on multi-arch configuration.
dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
dbghelp: Don't set ELF loader when wine's loader isn't accessible.
dbghelp: Fix vdso.so lookup.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
psapi/tests: Use msinfo32.exe instead of notepad.exe.
dbghelp/tests: Use msinfo32.exe instead of notepad.exe.
Evan Tang (4):
ntdll: Fix inverted TlsIndex check.
kernel32/tests: Add test verifying that tls init functions are called.
ntdll/tests: Move TlsIndex test to kernel32:loader.
kernel32/tests: Fix tls callback tests on Windows 7.
Fan WenJie (3):
opengl32: Fix missing conversion of glUnmapBuffer_params from 32bit to 64bit.
opengl32: Fix missing conversion of glUnmapNamedBuffer_params from 32bit to 64bit.
wow64: Fix missing conversion of ThreadWineNativeThreadName in wow64_NtSetInformationThread.
Florian Will (1):
comdlg32/tests: Fix itemdlg tests on Windows.
François Gouget (18):
advapi32/tests: Fix the RegEnumValueA() tests in UTF-8 locales.
msado15: Fix the spelling of a comment.
winscard: Fix the spelling of a function parameter.
riched20/tests: Fix a typo in a comment.
dbghelp/tests: Let the tests run on Windows 7, 8 and 10 <= 1607.
t2embed/tests: Fix the TTGetEmbeddingType() test in UTF-8 locales.
windows.perception.stub/tests: Skip some tests when ISpatialSurfaceObserverStatics2 is not supported.
vbscript/tests: Fix the testChrError() tests in the mixed locale case.
d3d8/tests: Remove an unused call to IDirect3D8_GetAdapterDisplayMode().
wofutil: Add a trailing linefeed to a FIXME().
dinput/tests: Skip the tests if acquiring the device fails.
advapi32/tests: Improve the resume handle service tests.
advapi32/tests: Better account for starting and stopping services.
advapi32/tests: Separate the EnumServicesStatus() and EnumServicesStatusEx() tests.
advapi32/tests: Better check the EnumServicesStatusExW() output.
advapi32/tests: Take into account service start / stop race conditions.
advapi32/tests: Enumerate the services using the Unicode API.
advapi32/tests: Skip some tests if the EventLog service crashed.
Gabriel Ivăncescu (10):
kernel32: Fix GetNumberFormatA when input length is 0.
kernel32: Fix GetCurrencyFormatA when input length is 0.
mshtml: Hold ref to HTMLDocumentObj when calling external code.
mshtml: Hold ref to inner window when calling external code.
mshtml: Hold ref to outer window when navigating.
mshtml: Check if browser was detached during notifications while navigating.
mshtml: Hold ref to the frame element during readyState notifications.
mshtml: Grab refs to windows upfront before sending pagehide events.
mshtml: Use already available window local variable in refresh task.
jscript: Fix jsstr leak after changing variant type to BSTR.
Georg Lehmann (5):
winevulkan: Deal with per api xml entries.
winevulkan: Only parse extensions for Vulkan.
winevulkan: Skip features that are not part of Vulkan.
winevulkan: Add basic support for extension dependencies.
winevulkan: Update to VK spec version 1.3.242.
Giovanni Mascellani (5):
d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues.
dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue.
dxgi: Always assume that a D3D12 swapchain always uses user images.
dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero.
dxgi: Reset the back buffer index to zero on ResizeBuffers().
Hans Leidekker (1):
adsldp/tests: Skip all remaining tests when the server is down.
Henri Verbeet (11):
wined3d: Don't bother explicitly terminating the GLSL info log in print_glsl_info_log().
wined3d: Use wined3d_get_line() in shader_glsl_compile().
wined3d: Use wined3d_get_line() in shader_glsl_dump_program_source().
wined3d: Use wined3d_get_line() in shader_arb_compile().
wined3d: Use wined3d_get_line() in shader_spirv_compile_shader().
wined3d: Use wined3d_get_line() in shader_spirv_scan_shader().
d3d11: Get rid of the DXBC tag definitions.
wined3d: Sort the exports.
d3dcompiler: Handle some newer D3D_BLOB_PART values in debug_d3dcompiler_d3d_blob_part().
wined3d: Get rid of the wined3d_shader_byte_code_format enum.
wined3d: Use vkd3d-shader to disassemble shaders.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Huw D. M. Davies (1):
winedump: Fix printf format warning.
Jacek Caban (1):
winedump: Print static lib EC symbols.
Jinoh Kang (4):
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().
Martin Storsjö (1):
ntdll: Handle aarch64 pointer authentication in unwind info.
Max Figura (20):
wined3d: Move the WINED3D_RS_WRAP12 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP11 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP10 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP9 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP8 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP7 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP6 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP5 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP4 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP3 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP1 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP0 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_EXTENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_COLORKEYBLENDENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SOFTWAREVERTEXPROCESSING stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHEDGESTYLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHSEGMENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_DEBUGMONITORTOKEN stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_INDEXEDVERTEXBLENDENABLE stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (22):
include: Add windows.perception.spatial.idl file.
include: Add windows.graphics.directx.idl file.
include: Add windows.perception.spatial.surfaces.idl file.
windows.perception.stub: Add stub DLL.
windows.perception.stub: Add ISpatialSurfaceObserverStatics stub interface.
windows.perception.stub: Add ISpatialSurfaceObserverStatics2 stub interface.
windows.perception.stub/tests: Add ISpatialSurfaceObserverStatics2::IsSupported() tests.
windows.perception.stub: Implement ISpatialSurfaceObserverStatics2::IsSupported().
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
include: Add windows.graphics.directx.direct3d11.idl file.
include: Add Windows.Foundation.Deferral definition.
include: Add windows.graphics.holographic.idl file.
include: Add IHolographicSpaceStatics2 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics2 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics2 properties tests.
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsSupported().
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsAvailable().
include: Add IHolographicSpaceStatics3 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics3 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics3::get_IsConfigured() tests.
windows.perception.stub: Implement IHolographicSpaceStatics3::get_IsConfigured().
Paul Gofman (1):
winex11.drv: Don't allow changing internal pixel format if conflicts with non-internal.
Piotr Caban (4):
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
gdi32: Improve EMR_CREATEDIBPATTERNBRUSHPT playback.
wineps: Fix buffer overflow in PSDRV_WriteDIBPatternDict function.
wineps: Fix image bits access in PSDRV_WriteDIBPatternDict.
Rémi Bernon (89):
win32u: Initialize IO_STATUS_BLOCK in load_directory_fonts.
win32u: Initialize IO_STATUS_BLOCK in rawinput add_device.
winex11: Initialize IO_STATUS_BLOCK in X11DRV_GetICMProfile.
maintainers: Assume maintainership of IME support.
imm32/tests: Add broken test results for w10v22H2.
makedep: Rename TESTDLL generated .res to avoid conflicts.
makedep: Support resource files for embedded TESTDLL.
imm32/tests: Test ImmInstallIMEW with an actual IME.
imm32/tests: Redirect IME function to the main module.
imm32/tests: Test ImmGetDescription with the installed IME.
imm32/tests: Test ImmGetIMEFileName with the installed IME.
user32/tests: Skip tests if layout failed to activate.
user32/tests: Add a WM_INPUTLANGCHANGE message test.
win32u: Move window query functions around.
win32u: Send WM_INPUTLANGCHANGE when activating new layout.
imm32: Implement stubs for ImmFreeLayout and ImmLoadIME.
imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout.
imm32: Rename ImmHkl to struct ime.
imm32: Reorder control flow in ImmConfigureIMEA.
imm32: Reorder control flow in ImmConfigureIMEW.
imm32: Reorder control flow in ImmEnumRegisterWordA.
imm32: Reorder control flow in ImmEnumRegisterWordW.
imm32: Reorder control flow in ImmEscapeA.
imm32: Reorder control flow in ImmEscapeW.
imm32: Reorder control flow in ImmGetConversionListA.
imm32: Reorder control flow in ImmGetConversionListW.
imm32: Reorder control flow in ImmGetProperty.
imm32: Reorder control flow in ImmGetRegisterWordStyleA.
imm32: Reorder control flow in ImmGetRegisterWordStyleW.
imm32: Reorder control flow in ImmRegisterWordA.
imm32: Reorder control flow in ImmRegisterWordW.
imm32: Reorder control flow in ImmUnregisterWordA.
imm32: Reorder control flow in ImmUnregisterWordW.
imm32: Reorder control flow in ImmGetImeMenuItemsA.
imm32: Reorder control flow in ImmGetImeMenuItemsW.
imm32: Avoid casts when calling into A/W IME.
imm32: Fail to load IME on any missing entry.
imm32: Return early if IMM_GetImmHkl fails.
imm32: Move IMM_FreeThreadData helper around.
imm32: Rename input context immKbd to ime.
imm32: Implement ImmLoadIME and ImmFreeLayout.
imm32: Rename some struct ime members.
imm32: Delete unnecessary uSelected struct ime member.
imm32: Use a single ime_is_unicode helper.
win32u: Keep the current user locale when enumerating layouts.
win32u: Keep the current user locale when loading layout.
win32u: Prevent user locale change in NtUserActivateKeyboardLayout.
winex11: Remove now unnecessary user locale change checks.
widl: Use explicit %empty token for empty rules.
widl: Add missing rule end semicolons.
widl: Use noyywrap lexer option.
widl: Use bison-bridge option.
widl: Remove unused temp_name member.
imm32: Rename szImeRegFmt to layouts_formatW.
imm32: Transform "Ime File" value in ImmInstallIMEW.
imm32: Rewrite ImmGetIMEFileName(A|W).
imm32: Rewrite ImmGetDescription(A|W).
imm32: Use CRT allocation functions.
widl: Use a struct list to keep imported files.
widl: Simplify handling of already parsed imports.
widl: Use a struct list for the import stack.
widl: Handle preprocess-only case separately.
widl: Introduce new (open|close)_input_file helpers.
widl: Respect -N flag for imported files preprocessing.
widl: Use open_input_file to open the main input.
imm32/tests: Use LANG_INVARIANT for the installed IME.
imm32/tests: Test ImmIsIME with the installed IME.
imm32/tests: Test ImmGetProperty with the installed IME.
imm32/tests: Test ImmEscape with the installed IME.
imm32/tests: Test ImmEnumRegisterWord with the installed IME.
imm32/tests: Test ImmRegisterWord with the installed IME.
imm32/tests: Test ImmGetRegisterWordStyle with the installed IME.
imm32/tests: Test ImmUnregisterWord with the installed IME.
imm32/tests: Test basic ImmEnumInputContext usage.
include: Add some dinput.h action semantics definitions.
dinput/tests: Test BuildActionMap / SaveActionMap with the HID joystick.
dinput/tests: Test SaveActionMap effect on DIPROP_USERNAME property.
dinput/tests: Test SaveActionMap effect on DIPROP_APPDATA property.
dinput/tests: Test SaveActionMap effect on DIPROP_BUFFERSIZE property.
dinput/tests: Test SaveActionMap effect on DIPROP_RANGE property.
dinput/tests: Test SaveActionMap effect on HID joystick input.
dinput/tests: Remove BuildActionMap / SaveActionMap mouse and keyboard tests.
dinput/tests: Increase timeouts for waits not supposed to fail.
widl: Group <INITIAL,ATTR> tokens together.
widl: Group <INITIAL> tokens together.
widl: Group <ATTR> tokens together.
widl: Introduce a new helper to produce num tokens.
widl: Simplify string literals lexing.
widl: Avoid freeing input_name in pop_import.
Stefan Dösinger (7):
dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc.
dxgi/tests: Run test_resize_target_wndproc on d3d12 too.
dxgi/tests: Run test_swapchain_window_messages on d3d12.
dxgi: Unlock the wined3d mutex after storing the new target.
dxgi: Catch nested SetFullscreenState invocations.
dxgi/tests: Test nested fullscreen application from different thread.
dxgi/tests: Test nested SetFullscreenState from the same thread.
Sven Baars (12):
kernelbase: Pass the root key to open_key().
kernelbase: Pass the key name to open_key().
kernelbase: Pass the root key to create_key().
kernelbase: Pass the key name to create_key().
kernelbase: Restructure the open_key() loop.
kernelbase: Always try to open the Wow6432Node in open_key().
kernelbase: Factor opening a subkey out of open_key().
kernelbase: Move create_key() below open_key().
kernelbase: Add a fast path to create_key().
kernelbase: Restructure the create_key() loop.
advapi32/tests: Test deleting 32-bit registry keys.
kernelbase: Also call NtOpenKeyEx() on empty key names.
Zebediah Figura (24):
ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
ddraw: Separate a need_draw_texture() helper.
ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture().
ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture().
win32u: Make NtUserSetWindowPixelFormat() into a proper export.
win32u: Introduce a win32u_get_window_pixel_format() helper.
winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
ddraw: Rename "is_complex_root" to "is_root".
ddraw: Remove some outdated comments from ddraw_surface7_SetSurfaceDesc().
ddraw: Move sysmem_fallback setting to ddraw_surface_create_wined3d_texture().
ddraw: Factor out more common initialization into ddraw_surface_create_wined3d_texture().
ddraw: Move sub-resource surface initialization to ddraw_surface_create_wined3d_texture().
ddraw: Move the rest of the surface desc population to ddraw_surface_create() from device_parent_texture_sub_resource_created().
ddraw: Do not return a wined3d_texture from ddraw_surface_create_wined3d_texture().
ddraw: Rename ddraw_surface_create_wined3d_texture() to ddraw_texture_init().
Zhiyi Zhang (4):
gitlab: Make FVWM respect position hints.
user32/tests: Do not modify cursor position when simulating clicks.
light.msstyles: Add nonclient metrics.
user32/tests: Test winstation and desktop access rights.
1
0