Wine-releases
Threads by month
- ----- 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
- 623 discussions
The Wine development release 11.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 11.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 11.0 as good as possible.
What's new in this release:
- Mono engine updated to version 10.4.0.
- Locale data updated to Unicode CLDR 48.
- TWAINDSM module for scanner support on 64-bit.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.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-11.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc1 (total 17):
- #36514 King's Quest: Mask of Eternity requires MCIWndCreate to create a child window when parent is specified
- #38924 HeapSize(GetProcessHeap(), 0, GlobalLock(hGlobal)) must succeed [wxWidgets samples, Tapps2, DirMaster]
- #56386 Gramps 5.2.0 displays empty windows
- #58037 Photoshop CS 2 installation never completes
- #58383 mmdevapi notify_thread busy waits when no midi driver can be loaded
- #58408 win32u:input: Performance regression in Resident Evil 2 due to internal messages processing.
- #58827 Running Mahjong with Wine ends without displaying the game screen
- #58949 Sound test in winecfg doesn't produce audio
- #58975 Mugen crashes after multiple matches on NVIDIA GPUs.
- #59006 FL Studio fails to minimize on Wine 10.19
- #59010 Window immediately restores after minimizing when a non-modal dialog is open
- #59041 Incorrect Casting for NET 10 Runtime Apps
- #59052 cmd doesn't handle all parameters in FOR /F command
- #59054 Oblivion crashes with unhandled page fault: wine 10.19
- #59061 Office 2013 File menu doesn't open
- #59064 Mass Effect Legendary Window Surface Not Drawn To
- #59075 various focus-related winforms tests fail in virtual desktop
### Changes since 10.20:
```
Akihiro Sagawa (1):
msvfw32: Retry with avivideo device type if open fails.
Alexandre Julliard (12):
Revert "icuin: Add initial dll."
Revert "icuuc: Add initial dll."
Revert "icu: Add stub dll."
ntdll: Remove "experimental wow64" message.
faudio: Import upstream release 25.12.
nls: Update locale data to CLDR version 48.
mmdevapi: Don't fall back to initial driver when the MIDI driver fails to load.
makedep: Add an install-unixlib target as a subset of install-lib.
makedep: Don't assume that .tab.h files don't contain includes.
wow64: Build a proper wow64 IO status block for FSCTL_GET_OBJECT_ID.
ntdll: Silence warning about non-builtin for fake dlls.
tomcrypt: Force using 32-bit math library.
Anton Baskanov (2):
dmsynth: Calculate latency and the derive latency clock from the master clock.
dmsynth: Factor out waiting for the buffer event.
Bernd Herd (8):
sane.ds: Fix ICAP_BITDEPTH semantics, allow setting it.
sane.ds: Refuse native transfer mode with depth 16 bit.
sane.ds: Support SANE Backends that treat resolution as TYPE_FIXED.
sane.ds: Make UI non-modal as required by Twain specification.
twaindsm: Put DSM code into twaindsm.dll and add twain_32.dll wrapper.
twaindsm: Implement DG_CONTROL/DAT_ENTRYPOINT/MSG_GET.
twaindsm: Add DG_CONTROL/DAT_CALLBACKx/MSG_REGISTER_CALLBACK to support TWAIN 2.x protocol.
twaindsm: Recursively search in C:\Windows\twain_xx for installed data sources.
Bernhard Übelacker (1):
faudio: Make sure at least some wavebank notifications get allocated (ASan).
Biswapriyo Nath (2):
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE in d3d12video.idl.
include: Add missing member in D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.
Brendan Shanks (2):
win32u: Use asprintf in read_drm_device_prop.
winecoreaudio: Set the AudioChannelLayout on output units.
Charlotte Pabst (4):
mfsrcsnk/tests: Add tests for thinning.
winedmo: Fall back to dts for sample time if pts is not present.
mfsrcsnk: Process SetRate asynchronously.
mfsrcsnk: Implement thinning.
Derek Lesho (2):
opengl32: Cleanup glGet* and fix typo in glGetDoublev.
opengl32: Move GL error to wgl_context.
Dmitry Timoshkov (1):
ldap: Consistently use unicode version of QueryContextAttributes().
Elizabeth Figura (5):
qcap: Avoid inverting frame interval twice.
qcap: Iterate over all frame intervals to get the max/min.
qcap: Implement GetFrameRateList().
cmd: Print reparse points in directory listings.
cmd: Implement mklink /j.
Eric Pouech (10):
dbghelp: Fix skipping of inline call-site information.
dbghelp: Properly limit area of CU's symbols.
dbghelp: Properly skip S_FRAMEPROC inside thunk.
dbghelp: Silence a warning.
dbghelp: Don't use checksum on ELF files.
cmd: Enhance parsing of FOR /F options.
dbghelp: Detect and fail decorated TPI indexes.
dbghelp: Revamp DBI hash table.
dbghelp: Use contribution to select compiland for line info.
dbghelp: Use contrib to select compiland in advance_line_info.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.4.0.
Floris Renaud (1):
po: Update Dutch translation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.335.
Gerald Pfeifer (1):
user32/tests: Avoid compiler warnings in tests.
Giovanni Mascellani (3):
winmm/tests: Test a few PCM and float wave formats.
winmm/tests: Test some more exotic wave formats.
Revert "winmm: Use AUTOCONVERTPCM when initializing the audio client.".
Hans Leidekker (9):
cryptui: Properly initialize the filename in show_import_ui().
cryptui: Pass the certificate context to CryptUIWizImport() from the certificate viewer.
cryptui: Allow switching from automatic to manual certificate store selection.
wbemprox/tests: Fix test failures on Windows 11.
wbemprox/tests: Consistently use check_property_nullable().
bcrypt/tests: Fix test failures on Windows 8 and 11.
advapi32/tests: Fix test failures on Windows 11.
dbgeng/tests: Fix test failures on Windows 11.
fusion/tests: Run tests on .NET version 4.
Haoyang Chen (1):
devenum: Add DevicePath field for a video input device.
Henri Verbeet (8):
quartz/vmr7: Handle BI_BITFIELDS formats.
quartz/vmr7: Reject BI_RGB and BI_BITFIELDS formats with different bit depth.
quartz/vmr7: Reject unsupported FOURCC formats.
d3d11: Add the D3D11_DECODE_FILTER_REDUCTION macro.
d3d11/tests: Add a sampler min/max reduction filtering test.
wined3d/vk: Implement sampler min/max reduction filtering.
wined3d/gl: Implement sampler min/max reduction filtering.
wined3d: Create cube views for cube textures in wined3d_texture_acquire_identity_srv().
Jacek Caban (1):
wininet: Move dwError to http_request_t.
Martin Storsjö (7):
ntdll/tests: Update the reference code for a changed test.
ntdll/tests: Enable tests for save_next for float registers.
winedump: Fix the printout of a cornercase with packed arm64 unwind info.
ntdll: Implement handling of arm64 packed unwind for CR=01, RegI=1.
ntdll/tests: Add a missing testcase for arm64 packed unwind info.
ntdll: Rewrite arm64 packed unwind info handling.
ntdll: Handle arm64 packed unwind with H=1, RegI=RegF=0, CR!=1.
Matteo Bruni (21):
ddraw: Advertise NV12 FOURCC as supported.
quartz/vmr7: Implement IVMRSurfaceAllocatorNotify::SetDDrawDevice().
quartz/vmr7: Create a ddraw object if necessary to check for FourCC support.
quartz/vmr7: Validate BITMAPINFOHEADER size.
quartz/tests: Test allocating a surface with different bit depth from the primary.
quartz/tests: Test allocating BI_BITFIELDS pixel format.
quartz/tests: Test VMR7 AllocateSurface with a BITMAPV4HEADER.
quartz/tests: Add some VMR7 tests for unsupported formats.
ntdll: Factor out a cancel_io() function.
server: Factor out a cancel_async() function.
ntdll: Wait for all asyncs to handle cancel in NtCancelIoFile().
ntdll/tests: Add more NtCancelIoFile[Ex]() tests.
ntdll/tests: Test IOSB values of the cancel operation.
ntoskrnl/tests: Fix tests on current Windows 10 / 11.
ntoskrnl/tests: Add more cancellation tests.
ntoskrnl/tests: Test the thread ID the cancellation routine runs from.
ntoskrnl/tests: Use the 'Nt' version of the CancelIo APIs.
quartz/vmr7: Implement IVMRSurfaceAllocator::AdviseNotify() on the default allocator.
quartz/vmr7: Call IVMRSurfaceAllocator_AdviseNotify() on the default allocator.
quartz/tests: Show where AllocateSurface should be called.
include: Fix RenderPrefs_ForceOffscreen typo.
Nikolay Sivov (5):
comdlg32/tests: Add a helper to check for supported interfaces.
comdlg32/tests: Check for IModalWindow interface.
comdlg32/itemdlg: Add missing IModalWindow to supported interfaces.
d2d1: Add a Scale effect stub.
msxml/tests: Add some tests for supported interfaces in the SAX API.
Pan Hui (1):
wmp: Implement OLEIVERB_SHOW.
Paul Gofman (10):
include: Add defintions related to Windows.Perception.Spatial.SpatialAnchorExporter.
windows.perception.stub: Stub SpatialAnchorExporter class.
windows.perception.stub: Implement exporter_statics_RequestAccessAsync().
windows.media.speech: Synchronize IAsyncInfo implementation in async.c.
windows.gaming.input: Synchronize IAsyncInfo implementation in async.c.
cryptowinrt: Synchronize IAsyncInfo implementation in async.c.
windows.devices.enumeration: Synchronize IAsyncInfo implementation in async.c.
windows.security.credentials.ui.userconsentverifier: Synchronize IAsyncInfo implementation in async.c.
coremessaging: Synchronize IAsyncInfo implementation in async.c.
win32u: Don't alter memory beyond structure effective size in NtUserEnumDisplaySettings().
Piotr Caban (23):
msado15: Set ActiveConnection on recordset created by connection_OpenSchema.
msado15: Handle NULL values in field_get_Value.
msado15: Fix leak in recordset_put_CacheSize.
msado15: Support more properties in rowset_info_GetProperties.
msado15: Add _Recordset::LockType implementation.
msado15: Validate LockType in rsconstruction_put_Rowset.
msado15: Implement _Recordset::Supports function.
msado15: Add _Recordset::Supports tests.
include: Define CursorOptionEnum values using hexadecimal constants.
include: Add DBINDEXCOLUMNDESC definition.
include: Add IRowsetIndex interface.
include: Add IRowsetCurrentIndex interface.
msado15: Add _Recordset:put_Index implementation.
msado15: Add _Recordset:get_Index implementation.
msado15: Request features determined by lock type when opening table directly.
msado15: Add partial _Recordset:CancelUpdate implementation.
msado15: Add partial _Recordset::Update implementation.
msado15: Call _Recordset::Update when moving to new row.
msado15: Use accessors cache in _Recordset::AddNew.
msado15: Handle data argument in rowset_change_InsertRow.
msado15: Support setting values in _Recordset::AddNew.
msado15: Support setting values in _Recordset::Update.
msado15: Request more features when opening table directly.
Rémi Bernon (28):
win32u: Avoid a crash when drawable fails to be created.
win32u: Check internal drawables before trying to create new ones.
winex11: Allow client window creation on other process windows.
win32u: Update the window client surface even with no children.
server: Check whether window can be made foreground earlier.
server: Always allow windows to activate after their creation.
opengl32: Don't generate null functions for extensions.
opengl32: Generate some missing null functions.
opengl32: Expect core OpenGL functions to be present.
opengl32: Get OpenGL function table on process attach.
winemac: Avoid taking the window lock when creating client surface.
opengl32: Don't count EGL extensions in the registry arrays.
opengl32: List unsupported extensions rather than supported ones.
opengl32: Generate functions and constants for more EGL extensions.
win32u: Query EGL devices UUID with EGL_EXT_device_persistent_id.
winewayland: Update client surface position in update callback.
wined3d: Remove now unnecessary pixel format restoration.
wined3d: Create / release the window DCs with the swapchains.
win32u: Introduce a D3DKMT escape code to set fullscreen present rect.
wined3d: Set the window present rect when entering fullscreen mode.
wined3d: Use the backbuffer size rather than client rect when fullscreen.
server: Introduce a find_async_from_user helper.
mfsrcsnk: Introduce a DEFINE_MF_ASYNC_PARAMS macro.
mfsrcsnk: Factor out a media_source_request_stream_sample helper.
mfsrcsnk: Peek for stream token presence without removing it.
win32u: Require VK_KHR_external_semaphore_fd for keyed mutexes.
win32u: Expose onscreen single buffer formats with PFD_SUPPORT_GDI.
win32u: Workaround a 32-bit llvmpipe crash on initialization.
Vibhav Pant (2):
winebth.sys: Unify critical sections used for bluetooth_radio.
winebth.sys: Fix potential deadlocks while performing operations that block on the DBus event loop.
Yuxuan Shui (3):
winegstreamer: Fix SetOutputType of the wma decoder DMO.
mf/tests: Test Get{Input,Output}CurrentType.
winegstreamer: Implement media_object_Get{Input,Output}CurrentType.
Zhiyi Zhang (2):
user32/tests: Test scrollbar rect when WS_HSCROLL or WS_VSCROLL is present.
win32u: Remove scrollbar rect offsets when WS_HSCROLL or WS_VSCROLL is present.
```
1
0
The Wine development release 10.20 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.18.
- More support for reparse points.
- More refactoring of Common Controls after the v5/v6 split.
- Progress dialog for document scanning.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.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-10.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.20 (total 31):
- #41034 TomTom MyDrive Connect 4.x needs implementation of KERNEL32.dll.SetVolumeMountPointW
- #41644 Civilization v1.2: crashes on startup
- #42792 SQL Server 2012/2014: Installer requires ChangeServiceConfig2 with SERVICE_CONFIG_SERVICE_SID_INFO support (also affects Revit installer)
- #44948 Multiple apps need CreateSymbolicLinkA/W implementation (Spine (Mod starter for Gothic), GenLauncher (Mod manager for GeneralsZH), MS Office 365 installer)
- #49987 Multiple GTK Applications freeze/fail to start
- #54927 grepwinNP3 (part of Notepad3) crashes inside uxtheme
- #56577 QuarkXPress 2024 crashes on start with assertion error "symt_check_tag(&func->symt, SymTagFunction) || symt_check_tag(&func->symt, SymTagInlineSite)"
- #57486 The Last Stand: Aftermath: Loads infinitely
- #57703 Mega Man X DiVE Offline throws errors on startup unless regkeys for HKCR are added.
- #57972 Certain display modes (e.g. 1152x864) not available in virtual desktop mode
- #58023 Meld-3.22.2 fails to start with errormessagebox (retrieves incorrect path via XDG_DATA_HOME env var)
- #58041 PlayOnline Viewer: Black screen when running via winewayland.
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58341 Incorrect mapping of "home" button of 8bitdo Pro 2 controller (in Xbox mode)
- #58719 Wagotabi crashes on wine-10.15.
- #58800 tlReader 10.1.0.2004 toolbar has broken rendering
- #58831 the commit:win32u: Don't store the window OpenGL drawables on the DCs. Causing software deadlock
- #58833 PlayOnline Viewer: Excessive virtual memory size possibly leading into a crash.
- #58846 Geneforge 1 - Mutagen (Geneforge 2 - Infestation): black screen issue
- #58880 Winecfg in wine 10.17 can not create controls(buttons,links ...) in some configurations
- #58882 When setting Client Side Graphics=N (X11 Driver), interfaces such as winecfg.exe and regedit.exe display abnormally
- #58908 Arrow keys unresponsive/stuck in some games
- #58932 Some comboboxes are no longer sized correctly after commit in version 10.16
- #58971 after commit 18ce7964203b486c8236f2c16a370ae27539d2f0 wine no longer execute windows steam
- #58973 Many games crash on launch with new WoW64 wine-10.19 and discrete Nvidia GPU
- #58984 imhex: Constant flickering --> GUI unusable (regression)
- #58998 cmd broken, 'echo|set /p=%LOCALAPPDATA%' returns empty string
- #59003 StarCraft: assertion failed
- #59017 Synchronization barrier cannot be entered multiple times
- #59034 Client area of CLM Explorer main window is rendered completely black on startup
- #59050 HiveMQ CE 2025.5 crashes on startup (GetProcessHeap missing parentheses in iphlpapi.GetAnycastIpAddressTable stub)
### Changes since 10.19:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (13):
vkd3d: Import upstream release 1.18.
sxs: Implement SxspGenerateManifestPathOnAssemblyIdentity().
sxs: Truncate fields when building a manifest file name.
setupapi: Truncate fields when building a manifest file name.
ntdll: Truncate fields when building a manifest file name.
include: Add some new info classes.
png: Import upstream release 1.6.51.
ntdll: Support more ARM64 CPU features.
ntdll: Always rely on mprotect() to set PROT_EXEC permission.
iphlpapi: Fix GetProcessHeap typo.
winedump: Move string dump functions to the common code.
winedump: Add dumping of string and version resources for 16-bit.
server: Use standard status value instead of win32 error.
Alfred Agrell (5):
d2d1: Add Blend effect stub.
d2d1: Add Brightness effect stub.
d2d1: Add Directional Blur effect stub.
d2d1: Add Hue Rotation effect stub.
d2d1: Add Saturation effect stub.
Alistair Leslie-Hughes (1):
urlmon: FindMimeFromData return only the mime type.
Anton Baskanov (38):
dmsynth/tests: Test instrument selection.
dmsynth: Factor out instrument fallback logic from synth_preset_noteon().
dmsynth: Don't rely on the FluidSynth bank selection logic.
dmsynth/tests: Add DLS tests.
dmsynth: Use 0.1% as the sustain level unit.
dmsynth: Don't add 1000 to the sustain modulators.
dmsynth: Handle channel pressure events.
dmsynth: Use a factor of 1/10 for modulation LFO x channel pressure -> gain connections.
dmsynth: Trace lAttenuation as a signed integer.
dmsynth: Handle sample attenuation.
dmsynth: Handle bipolar transform for LFO connections.
dmsynth: Set GEN_EXCLUSIVECLASS to the key group.
dmsynth: Make voice shutdown instant.
dmsynth: Explicitly ignore CONN_DST_EG1_SHUTDOWNTIME.
dmsynth: Factor out play_region().
dmsynth: Move find_region() after play_region().
dmsynth: Add layering support.
dmusic: Fix data size calculation in wave_create_from_soundfont().
dmusic: Remove the unused loop_resent field from struct region.
dmusic: Determine sample loop type from SF_GEN_SAMPLE_MODES.
dmusic: Treat SF_GEN_(START|END)LOOP_ADDRS_OFFSET as offsets from the sample loop points.
dmusic: Take coarse loop offsets into account.
dmusic: Compare unity note with an unsigned 16-bit constant.
dmusic: Take coarse tune into account in instrument_add_soundfont_region().
dmusic: Set attenuation based on SF_GEN_INITIAL_ATTENUATION.
dmusic: Add IIR filter resonance hump compensation.
dmusic: Add an 8 dB attenuation to normalize SF2 instrument volume.
dmusic: Take sample correction into account.
dmusic: Treat fine tune as a signed value.
dmusic: Set F_INSTRUMENT_DRUMS for bank 128.
dmusic: Use SF_GEN_EXCLUSIVE_CLASS to set the key group.
dmusic: Add preset generator values in a separate pass.
dmusic: Don't pass preset generators to parse_soundfont_generators().
dmusic: Intersect ranges for SF_GEN_KEY_RANGE and SF_GEN_VEL_RANGE.
dmusic: Convert generators to DLS connections.
dmusic: Add default modulators.
dmusic: Parse instrument modulators.
dmusic: Parse preset modulators.
Bernd Herd (10):
sane.ds: Avoid segfault with backends that have integer array options like 'test'.
sane.ds: Replace LocalLock/LocalUnlock with GlobalLock/GlobalUnlock.
sane.ds: Store CAP_XFERCOUNT to activeDS.capXferCount.
sane.ds: Apply SANE_Start() and SANE_Cancel().
sane.ds: Fill TW_IMAGEMEMXFER.YOffset in SANE_ImageMemXferGet.
sane.ds: Implement DG_CONTROL/DAT_PENDINGXFERS/MSG_GET based on scannedImages counter.
sane.ds: Read frame data until EOF in native transfer mode.
sane.ds: Load last settings from registry immediatly when opening the DS.
sane.ds: Add cancel button and progress bar to progress dialog.
sane.ds: Display message if ADF is empty in ADF scan.
Bernhard Kölbl (2):
dwrite: Add the Cyrillic range to the fallback data.
dwrite: Add the Supplemental Arrows-C range to the fallback data.
Bernhard Übelacker (6):
user32/tests: Avoid out-of-bounds access in DdeCreateDataHandle (ASan).
user32: Avoid out-of-bounds read in DdeCreateDataHandle with offset (ASan).
ntdll/tests: Avoid out-of-bounds read in call_virtual_unwind_x86 (ASan).
shell32: Avoid double-free in enumerate_strings when cur is zero (ASan).
cmd: Skip directories if they exceed MAX_PATH in WCMD_list_directory (ASan).
ntdll/tests: Dynamically load RtlIsProcessorFeaturePresent.
Biswapriyo Nath (1):
include: Add symbols for av1 encoder in d3d12video.idl.
Brendan Shanks (5):
winemac: Silence OpenGL-related warnings.
user32/tests: Add tests for DisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Add semi-stub for NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Store whether a monitor is HDR-capable in gdi_monitor.
winemac: Report whether monitors are HDR-capable based on NSScreen.maximumPotentialExtendedDynamicRangeColorComponentValue.
Connor McAdams (6):
d3dx10/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx11/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx9/tests: Add some image filter tests.
d3dx10/tests: Add some image filter tests.
d3dx11/tests: Add some image filter tests.
d3dx: Implement a box filter.
Derek Lesho (4):
win32u/tests: Set GL_DEDICATED_MEMORY_OBJECT_EXT on import.
win32u/tests: Test named Vulkan export.
win32u/tests: Test shared handle lifetime.
win32u/tests: Test GL_EXT_semaphore_win32.
Dmitry Timoshkov (3):
services: Return success for ChangeServiceConfig(SERVICE_CONFIG_SERVICE_SID_INFO).
windowscodecs: Optimize a bit reading the 3bps RGB TIFF tile.
kerberos: Add translation of 32-bit SecPkgContext_SessionKey in wow64_query_context_attributes() thunk.
Elizabeth Figura (19):
wined3d: Get rid of alpha-based color keying.
server: Retain the ? suffix when renaming or linking reparse points.
kernelbase: Open the reparse point in CreateHardLink().
kernelbase: Open the reparse point in SetFileAttributes().
ntdll: Handle . and .. segments in relative symlinks.
xactengine3/tests: Add tests for properties.
xactengine3/tests: Add many more tests for notifications.
xactengine3/tests: Test renderer details.
xactengine3/tests: Test variables.
xactengine3/tests: Test SetMatrixCoefficients() channel counts.
xactengine3/tests: Test wavebank type mismatch.
d3d11: Use GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS in D3D11CoreCreateDevice().
d3d11: Implement DecoderExtension().
wined3d: Make SHADOW into a format attr.
winex11: Flush after presenting.
ntdll: Implement FileIdExtdBothDirectoryInformation.
kernelbase: Report the reparse tag from FindNextFile().
kernel32: Implement SetVolumeMountPoint().
mountmgr.sys: Report FILE_SUPPORTS_REPARSE_POINTS for volumes we report as NTFS.
Eric Pouech (11):
cmd: Force flushing the prompt in SET /P command.
kernel32/tests: Test std handles in CreateProcess with pseudo console.
kernelbase: Create std handles from passed pseudo-console.
kernel32/tests: Skip some tests when feature isn't present on Windows.
cmd: Fix some quirks around CALL.
cmd: Add more tests about echo:ing commands.
cmd: Store '@' inside CMD_NODE.
cmd: Don't use precedence when rebuilding commands.
cmd: Properly echo commands.
cmd: Match native output for $H in prompt.
cmd: Expand loop variables nested in !variables!.
Erich Hoover (2):
kernelbase: Open the reparse point in MoveFileWithProgress().
kernelbase: Implement CreateSymbolicLink().
Gabriel Ivăncescu (2):
jscript: Do existing prop lookups for external props only on objects with volatile props.
mshtml: Add the node props to document fragments in IE9+ modes.
Giovanni Mascellani (1):
mmdevapi: Fix WoW64 structure for is_format_supported.
Hans Leidekker (5):
widl: Use the metadata short name for parameterized types.
widl: Make sure attributes are added for imported member interfaces.
widl: Don't add a type reference for IInspectable.
include: Fix size_is syntax in IPropertyValue methods.
wine.inf: Add .crt association.
Jacek Caban (4):
opengl32: Free buffer wrappers after driver calls.
opengl32: Factor out use_driver_buffer_map.
opengl32: Support persistent memory emulation on top of GL_AMD_pinned_memory.
opengl32: Simplify wow64_unmap_buffer.
Jactry Zeng (3):
winemac.drv: Support to get EDID from DCPAVServiceProxy.
winemac.drv: Support to get EDID from IODisplayConnect.
winemac.drv: Support to generate EDID from display parameters from Core Graphics APIs.
Joe Souza (7):
cmd/tests: Add tests for COPY to self.
cmd: Don't attempt to copy a file to itself.
xcopy: Fix leaked resource in an error case.
xcopy/tests: Add test for XCOPY to self.
xcopy: Don't attempt to copy a file to itself.
xcopy: Return proper error code in copy file to self failure.
cmd: Add ':' to delimiters for tab-completion support.
Ken Sharp (1):
po: Update English resource.
Kun Yang (1):
windowscodecs: Support NULL input palette in ImagingFactory_CreateBitmapFromHBITMAP.
Louis Lenders (2):
wbemprox: Add PartialProductKey and ApplicationId to SoftwareLicensingProduct class.
wbemprox: Use case insensitive search in get_method.
Marcus Meissner (1):
kernel32/tests: Fix argument size to GetVolumeNameForVolumeMountPointW.
Matteo Bruni (6):
mmdevapi: Share NULL GUID session.
mmdevapi/tests: Accept any digit before the process ID in the session instance identifier.
mmdevapi/tests: Test capture session state in render:test_session_creation().
mmdevapi/tests: Get rid of questionable error handling.
mmdevapi/tests: Simplify handling of failure to get a capture endpoint.
mmdevapi/tests: Conditionally apply todo_wine to SetSampleRate() tests.
Nikolay Sivov (5):
d2d1/tests: Explicitly use WARP device for IWICBitmapLock tests.
d2d1/tests: Print adapter information.
dwrite: Add an alternative name for the Noto Sans Symbols font.
msxml: Add support for user-defined functions in msxsl:script blocks.
msxml3: Ignore UseInlineSchema property.
Paul Gofman (23):
comctl32/tests: Add tests for WM_MEASUREITEM with combobox.
comctl32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
user32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
win32u: Only delete subkeys when clearing DirectX key.
ntoskrnl.exe: Open thread with MAXIMUM_ALLOWED access in KeGetCurrentThread().
quartz/dsoundrender: Get rid of DSoundRenderer_Max_Fill buffer data queue limit.
quartz/test: Check for EC_COMPLETE more often in test_eos().
quartz/dsoundrender: Send all queued samples to dsound before issuing EC_COMPLETE.
quartz/dsoundrender: Do not send EC_COMPLETE while flushing.
ntdll: Rename waiting_thread_count to structure_lock_count in barriers implementation.
ntdll/tests: Add tests for iterative barrier usage.
ntdll: Support iterative barrier usage without re-initialization.
win32u: Initialize surface with white colour on creation.
kernelbase: Set last error in GetModuleFileNameExW().
win32u: Ignore startup cmd show mode for owned windows.
win32u: Fetch startup info flags during initialization.
win32u: Implement NtUserModifyUserStartupInfoFlags().
user32/tests: Add tests showing that MessageBox() resets STARTF_USESHOWWINDOW.
win32u: Clear STARTF_USESHOWWINDOW in MessageBoxIndirectW().
msvfw32/tests: Add tests for MCI window styles.
msvfw32: Add WS_CHILD attribute for window if parent is specified.
msvfw32: Set correct styles for popup and child windows.
msvfw32: Set child window id for MCI child window.
Piotr Caban (33):
msado15: Add partial IRowset::AddRefRows implementation for tables without provider.
msado15: Add IRowset::RestartPosition implementation for tables without provider.
msado15: Fix test GetNextRows implementation.
msado15: Set cursor position on provider side.
msado15: Improve _Recordset::BOF implementation.
msado15: Improve _Recordset::EOF implementatio.
msado15: Improve IAccessor::CreateAccessor implementation for tables without provider.
msado15: Add partial IRowset::GetData implementation for tables without provider.
msado15: Add partial IRowset::SetData implementation for tables without provider.
msado15: Fix initial row loading condition in _Recordset::MoveNext.
msado15: Fix initial row loading condition in _Recordset::MovePrevious.
msado15: Store column ordinal number in field structure.
msado15: Reimplement Field::get_Value and Field::put_Value.
msado15: Fix memory leak for tables without provider.
msado15: Don't use row index in _Recordset::get_EditMode.
msado15: Remove _Recordset::put_Filter hack.
msado15: Implement IRowsetLocate::GetRowsAt for tables without provider.
msado15: Set bookmark column value in rowset_change_InsertRow.
msado15: Handle data type conversion in rowset_GetData.
msado15: Use IRowsetLocate to access database rows if available.
msado15: Reimplement _Recordset::{put,get}_Bookmark.
msado15: Add _Recordset::MoveFirst test.
msado15: Remove unused code for storing/manipulating database data in _Recordset object.
msado15: Remove IRowset QueryInterface checks.
msado15: Change data type used for fetching longer bookmarks.
msado15: Add INT_PTR bookmark type.
msado15: Store data in column format in memory rowset provider.
include: Add IRowsetView interface.
include: Add IViewChapter interface.
include: Add IViewFilter interface.
msado15: Add IRowsetUpdate interface in tests.
msado15: Fix crash in _Recordset::Close() when releasing uninitialized Field objects.
msado15: Add more _Recordset::put_Filter tests.
Rémi Bernon (51):
win32u: Make a copy of the GL_RENDERER / GL_VENDOR strings.
win32u: Move vulkan device wrapper from winevulkan.
winevulkan: Allocate instance static debug objects dynamically.
win32u: Move instance wrappers from winevulkan.
win32u: Use the vulkan instance wrappers for D3DKMT.
winex11: Set dmDriverExtra for detached full modes.
hid: Implement HidP_SetData.
win32u: Set the DC pixel format too in wglSetPixelFormatWINE.
win32u: Keep the D3D internal OpenGL surfaces on the DCs.
win32u: Get rid of window internal pixel format.
win32u: Use 0x20 for iconic WM_ACTIVATE message wparam.
win32u: Avoid INT_MAX overflow in map_monitor_rect.
win32u: Avoid crashing if Vulkan is disabled or failed to load.
winex11: Avoid unmapping window if it only got layered style.
winevulkan: Avoid returning innacurate extension counts.
winex11: Track requested WM_NORMAL_HINTS to avoid unnecessary requests.
winex11: Track requested WM_HINTS to avoid unnecessary requests.
winex11: Track requested _NET_WM_WINDOW_STATE to avoid unnecessary requests.
winex11: Track requested _NET_WM_ICON to avoid unnecessary requests.
win32u: Keep devices EGL platforms in a list.
win32u: Add the display device first in the EGL device list.
win32u: Terminate non-display EGL devices after initialization.
win32u: Skip non-display software EGL devices initialization.
win32u: Fix crash in NtUserUpdateLayeredWindow if blend is NULL.
winex11: Initialize thread data when checking _NET_WM_STATE mask.
winex11: Don't update client maximized state if window is minimized.
win32u: Release internal OpenGL drawables outside of the user lock.
win32u: Avoid leaking semaphore and fence exported fds.
include: Add some new DMO classes to wmcodecdsp.idl.
msvdsp: Add stub dll.
vidreszr: Add stub dll.
mfsrcsnk: Ignore streams with unsupported media types.
winevulkan: Move api checks out of the constructors.
winevulkan: Simplify enum alias handling.
winevulkan: Split get_dyn_array_len into params / member classes.
winevulkan: Pass parent / params to get_dyn_array_len directly.
winevulkan: Create function param and struct member lists beforehand.
winevulkan: Precompute struct type constant from member list.
win32u: Add some extra 4:3 resolutions to the virtual modes.
winex11: Pass client rect to create_client_window.
winex11: Remove some unnecessary NtUserGetClientRect calls.
ddraw/tests: Use a dedicated window instead of the desktop window.
user32/tests: Use a dedicated window instead of the desktop window.
win32u: Introduce a NtUserSetForegroundWindowInternal call.
server: Set NULL foreground input when switching to desktop window.
server: Forbid background process window reactivation.
winex11: Update window position in client surface update callback.
win32u: Update client surfaces starting from toplevel window.
winex11: Only use XRender bilinear filter with client-side graphics.
win32u: Skip minimized windows when looking for another window to activate.
win32u: Hide owned popups after minimizing their owner window.
Stian Low (6):
wined3d: Move the Vulkan blitter to texture_vk.c.
wined3d: Move Vulkan texture functions to texture_vk.c.
wined3d: Move GL texture functions to texture_gl.c.
wined3d: Move the FBO blitter to texture_gl.c.
wined3d: Move the raw blitter to texture_gl.c.
wined3d: Move the FFP blitter to texture_gl.c.
Tim Clem (1):
winex11.drv: Set use_egl to false if it is unavailable.
Vibhav Pant (26):
rometadata: Add stubs for IMetaDataImport.
rometadata/tests: Add tests for IMetaDataTables::{EnumTypeDefs, GetTypeDefProps, FindTypeDefByName}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethods, GetMethodProps, GetNativeCallConvFromSig}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFields, GetFieldProps}.
rometadata/tests: Add tests for IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::{EnumTypeDefs, CountEnum, ResetEnum}.
rometadata: Implement IMetaDataImport::GetTypeDefProps.
rometadata: Implement IMetaDataImport::FindTypeDefByName.
rometadata: Implement IMetaDataImport::{EnumMethods, GetMethodProps}.
rometadata: Implement IMetaDataImport::EnumFields.
rometadata: Implement IMetaDataImport::GetFieldProps.
widl: Fix MethodList value for apicontract and enum typedefs.
rometadata/tests: Add tests for IMetaDataDispenser::OpenScopeOnMemory.
rometadata/tests: Add additional tests for IMetaDataImport::GetCustomAttributeByName.
rometadata: Perform bound checks before decoding blob sizes in assemblies.
rometadata: Fix incorrect bit width calculation.
rometadata: Implement IMetaDataDispenser::OpenScopeOnMemory.
rometadata: Implement IMetaDataTables::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethodsWithName, FindMethod}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFieldsWithName, FindField}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMembersWithName, FindMember}.
rometadata: Implement IMetaDataImport::EnumMethodsWithName.
rometadata: Implement IMetaDataImport::FindMethod.
rometadata: Implement IMetaDataImport::{EnumFieldsWithName, FindField}.
Vijay Kiran Kamuju (2):
vcomp: Add omp_get_wtick() implementation.
user32: Fix loading cursor image with resource id using LR_LOADFROMFILE on older windows versions.
Yuxuan Shui (4):
mf/tests: Test what's returned from ProcessOutput when input ran out.
winegstreamer: Return S_FALSE from DMO when there is not enough data.
winegstreamer: Only change DMO's output type if SetOutputType is successful.
winegstreamer: Add missing read thread wait in SetOutputProps failure path.
Zhiyi Zhang (25):
comctl32/tests: Add tests for toolbar WM_ERASEBKGND handling.
comctl32/tests: Add tests for toolbar WM_PAINT handling.
comctl32/toolbar: Erase the background in TOOLBAR_Refresh() when TBSTYLE_TRANSPARENT is present for comctl32 v6.
comctl32/trackbar: Add a helper to get the pen color for drawing tics.
comctl32/trackbar: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/trackbar: Remove theming for comctl32 v5.
comctl32/treeview: Add a helper to draw plus and minus signs.
comctl32/treeview: Add a helper to fill theme background.
comctl32/treeview: Remove theming for comctl32 v5.
comctl32/updown: Add a helper to get the buddy border size.
comctl32/updown: Add a helper to get the buddy spacer size.
comctl32/updown: Add helpers to get the arrow state.
comctl32/updown: Add helpers to get the arrow theme part and state.
comctl32/updown: Add a helper to check if buddy background is needed.
comctl32/updown: Refactor UPDOWN_DrawBuddyBackground() to support drawing background when theming is disabled.
comctl32/updown: Add a helper to draw the up arrow.
comctl32/updown: Add a helper to draw the down arrow.
comctl32/updown: Remove theming for comctl32 v5.
comctl32: Remove theming for comctl32 v5.
comctl32_v6/taskdialog: Fix not enough width for the expando button text.
icu: Add stub dll.
icuuc: Add initial dll.
icuin: Add initial dll.
include: Add icu.h.
include: Add more definitions from ICU 72.1.
```
1
0
The Wine development release 10.19 is now available.
What's new in this release:
- Support for reparse points.
- More support for WinRT exceptions.
- Refactoring of Common Controls after the v5/v6 split.
- Typed Arrays support in JScript.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.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-10.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.19 (total 34):
- #21483 Wine 1.1.33+ changed token security breaks .NET Framework 2.x SDK tools (debugging of managed code using 'Cordbg' and 'Mdbg')
- #45533 Multiple games need d3dx11_43.D3DX11CreateTextureFromMemory implementation (Puyo Puyo Tetris, HighFleet, Metro 2033, Project CARS)
- #48109 Lynx web browser hangs while starting and never shows start page
- #51630 "Enemy Territory: Quake Wars SDK 1.5 (EditWorld)" When typing in dialog forms (values, file names, etc.) program crashes
- #52128 Hog4PC 3.17 installer VBScript custom action needs scrrun:filesys_MoveFolder implementation
- #52251 Airline Tycoon Demo crashes on start
- #52371 Horizon Zero Dawn (GOG) gamepad not recognized
- #56187 windows.ui:uisettings fails on Windows 11
- #56935 Softube VST plugins are not drawing their UI
- #57001 Compute shader change causes Affinity Photo 2 to crash on start up
- #57241 Managed COM components fail to load outside of application directory
- #57569 BeamNG.drive minimizes its window during startup, with UseTakeFocus set to false.
- #58121 mIRC 7.81 not starting
- #58140 ODBC using unixodbc stopped working due to regression merge between 9.0 and 10.0
- #58320 ok() macro should not evaluate the format arguments if condition is not met.
- #58431 Pegasus Mail Changed font (regression)
- #58450 Total Annihilation (GOG, demo) – Wayland black screen on startup.
- #58504 MS Office 2007 semitransparent menus
- #58593 explorer.exe drop-down menu doesn't work
- #58631 WINE 10.13 breaks foobar2000
- #58650 Mouse cursor becomes invisible and unmovable
- #58832 Grey screen in Elasto Mania II on Wine 10.17
- #58872 Activated windows (via alt-tab) are not raised (sometimes).
- #58876 Windowed applications cannot be minimized in virtual desktop
- #58891 Mono's ProcessTest:Start1_FileName_Whitespace test fails
- #58893 Window caption updates have huge delay
- #58896 Control ultimate edition crashes with an out of vram error
- #58906 Starcraft: Brood war is stuttering
- #58915 Some RPG Maker MZ games experience issues with input handling
- #58916 winemac.drv no longer builds for i386
- #58918 Baldur's Gate 3 : Assertion failed : "!status && "vkQueueSubmit2KHR""
- #58930 Enemy Territory: Quake Wars SDK 1.5 launcher fails to start editor
- #58954 Explorer has broken interface
- #58955 Explorer has missing location bar
### Changes since 10.18:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (2):
ntdll: Add SDL video driver variables to the special variables list.
ntdll: Add SDL audio driver variables to the special variables list.
Akihiro Sagawa (3):
quartz/tests: Add tests for 32 bpp AVI videos.
winegstreamer: Add ARGB32 format support for 32 bpp AVI videos.
winegstreamer: Always use bottom-up for AVI RGB videos.
Alexandre Julliard (46):
dbghelp: Use CRT allocation functions.
oleacc: Use CRT allocation functions.
quartz: Use CRT allocation functions.
shell32: Use CRT allocation functions.
user32: Use CRT allocation functions.
winedevice: Use CRT allocation functions.
kernelbase: Use NtCreateThreadEx() directly in CreateRemoteThreadEx().
ntdll: Handle the group affinity attribute in NtCreateThreadEx().
include: Install the wine/unixlib.h header.
schedsvc/tests: Remove Windows version check.
taskschd/tests: Remove Windows version check.
windows.storage: Forward some functions to shell32.
gdi32/uniscribe: Use CRT allocation functions.
iphlpapi: Use CRT allocation functions.
msvcp90: Use CRT allocation functions.
ntoskrnl: Use CRT allocation functions.
ole32: Use CRT allocation functions.
strmbase: Use CRT allocation functions.
comdlg32: Use CRT allocation functions.
faudio: Import upstream release 25.11.
ntdll: Treat FPU_sig and FPUX_sig as void* on i386.
kernelbase: Continue search if find_exe_file() found a directory.
kernelbase: Avoid using wine/heap.h helpers.
nsi: Avoid using wine/heap.h helpers.
winspool.drv: Avoid using wine/heap.h helpers.
winecrt0: Avoid using wine/heap.h helpers.
include: Remove the wine/heap.h header.
ntdll: Store special environment variables with a UNIX_ prefix.
ntdll: Set the environment variables for Unix child processes from their UNIX_ variant.
ntdll: Treat all the XDG_ variables as special.
ntdll: Don't import the Unix environment variables if they are too large.
winebuild: Don't bother to free spec file structures.
winebuild: Don't bother to free strings built by strmake().
winebuild: Use a generic array for apiset entries.
winebuild: Use a generic array for entry points.
winebuild: Use a generic array for imported functions.
winebuild: Use a generic array for variable values.
winebuild: Use generic arrays for resources.
winebuild: Assign section file positions once the offset is known.
ntdll: Don't copy WINEDLLOVERRIDES to the Windows environment.
ntdll: Remove Wine-internal variables from the Unix environment.
ntdll: Don't rebuild the Unix environment from the Windows one.
ntdll: Add some new processor features definitions.
ntdll: Use WINE_HOST_ instead of UNIX_ as environment variable prefix.
ntdll: Don't replace WINE_HOST_ variables if they already exist in the environment.
ntdll: Ignore some Unix variables when importing the environment.
Alistair Leslie-Hughes (1):
wined3d: Add GPU information for AMD Radeon RX 6700 XT.
Andrew Nguyen (1):
shell32: Retrieve shell autocompletion strings one at a time.
Anton Baskanov (12):
dmusic: Reuse downloaded waves.
dmsynth: Call fluid_sample_set_sound_data() with copy_data = FALSE.
dmsynth: Implement callback support in synth_Unload().
dmsynth: Release the waves when voices finish playing.
dmusic: Defer releasing IDirectMusicDownload when can_free is FALSE.
dmsynth: Allow zero-copy access to the sample data.
dmsynth: Remove format and sample_count from struct wave.
dmloader/tests: Add some ClearCache() tests.
dmloader: Free the cache entries manually in loader_Release().
dmloader: Don't remove the default collection from the cache.
dmloader: Mark cached objects as loaded.
dmloader: Don't use ReleaseObject() in loader_ClearCache().
Aric Stewart (1):
mf: Return E_NOINTERFACE if service is missing.
Bernd Herd (6):
gphoto2.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
sane.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
twain_32: Implement TWAIN feature DG_CONTROL / DAT_ENTRYPOINT / MSG_SET.
sane.ds: When opening a DS, return the identity information of the opened device.
sane.ds: Make comboboxes in property sheet high enough to properly drop down.
sane.ds: Fix setting resolution in user interface.
Bernhard Übelacker (11):
comctl32/tests: Terminate string literal by double null character (ASan).
itss: Avoid reading beyond buffer end in ITSProtocol_Start (ASan).
crypt32/tests: Add null character to avoid buffer overrun (ASan).
winhttp/tests: Fix setting string lengths in WinHttpCreateUrl_test (ASan).
iphlpapi/tests: Give GetBestRoute2 a SOCKETADDR_INET. (ASan).
iphlpapi/tests: Remove some unneeded casts to SOCKADDR_INET.
d3dx9_36/tests: Add end marker to the invalid tests (ASan).
d3d9/tests: Fix value of stride passed to DrawPrimitiveUP (ASan).
dsound: Avoid use after free in DSOUND_WaveFormat (ASan).
d3d8/tests: Increase size of quad array to avoid buffer overflow (ASan).
d3d9/tests: Increase size of quad array to avoid buffer overflow (ASan).
Brendan Shanks (15):
dwrite: Stop supporting very old FreeType versions.
win32u: Stop supporting very old FreeType versions.
winemac: Use C99 bool instead of int for Boolean values.
winemac: Use fallback implementation for color depth in GetDeviceCaps().
win32u: Unique URLs instead of file paths when enumerating Mac fonts.
opencl: Silence warnings on macOS for functions deprecated by OpenCL 1.2.
winemac: Fix an sprintf() deprecation warning.
winemac: Use CGDirectDisplayID in macdrv_get_monitors() and struct macdrv_adapter.
winemac: Have convert_display_rect() return a CGRect.
winemac: Stop using struct macdrv_display in macdrv_set_display_mode().
winemac: Stop using macdrv_get_displays() in macdrv_get_monitors().
winemac: Stop using macdrv_get_displays() in UpdateDisplayDevices().
winemac: Stop using macdrv_get_displays() in ChangeDisplaySettings(), GetDeviceGammaRamp(), SetDeviceGammaRamp().
winemac: Stop using macdrv_get_displays() in init_original_display_mode().
winemac: Remove macdrv_get_displays().
Charlotte Pabst (2):
ntdll/tests: Test image mapping with offset.
ntdll: Respect offset for image mappings.
Connor McAdams (9):
d3dx10: Downgrade invalid filter trace from an ERR to a WARN.
d3dx10/tests: Get rid of broken() workarounds for Vista.
d3dx10/tests: Cleanup test image definitions.
d3dx11: Add stubs for D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Add stubs for D3DX11CreateTextureFromResource{A,W}().
d3dx11/tests: Rearrange and reformat tests to more closely match d3dx10 tests.
d3dx11/tests: Import test_get_image_info() from d3dx10.
d3dx11/tests: Import test_create_texture() from d3dx10.
d3dx11: Implement D3DX11CreateTextureFromMemory() using shared code.
Conor McCarthy (10):
mf: Update the stream sink input type when handling an output node format change.
mf/tests: Wait for sample delivery before checking the frame size.
mf/tests: Synchronise media event subscription.
mf/tests: Limit test_media_session_source_shutdown() session reuse tests.
mf/tests: Allow WAIT_TIMEOUT after close in test_media_session_Close().
mf/tests: Mark state comparison flaky after seek in test_media_session_seek().
mf/tests: Check the index in test_media_sink_GetStreamSinkByIndex().
mf/tests: Clean up at the end of test_media_session_seek().
mf/tests: Set test media stream sample duration by default and update current time on seek.
mf/tests: Create all MF test objects on the heap.
Elizabeth Figura (15):
winex11.drv: Fix an inverted condition in x11drv_surface_swap().
winex11: Trace flags with %#x.
ntdll/tests: Fix reparse test failures.
server: Implement FSCTL_SET_REPARSE_POINT.
server: Implement FSCTL_DELETE_REPARSE_POINT.
server: Implement FSCTL_GET_REPARSE_POINT.
ntdll: Pass attr and nt_name down to lookup_unix_name().
ntdll: Resolve IO_REPARSE_TAG_MOUNT_POINT during path lookup.
ntdll: Implement FILE_OPEN_REPARSE_POINT.
ntdll: Handle reparse points in NtQueryDirectoryFile().
ntdll: Return FILE_ATTRIBUTE_REPARSE_POINT from get_file_info().
ntdll: Fill FILE_ATTRIBUTE_REPARSE_POINT and the reparse tag in fd_get_file_info().
dxgi/tests: Use an explicit todo flag for checking window style.
kernelbase: Open the reparse point in CreateDirectory().
ntdll: Resolve IO_REPARSE_TAG_SYMLINK during path lookup.
Eric Pouech (5):
kernel32/tests: Test adding group affinity to proc/thread attributes list.
kernelbase: Support affinity group in process/thread attributes list.
include: Add missing process group related definitions.
kernel32/tests: Test thread creation with group affinity attributes.
kernelbase: Support group affinity attributes.
Erich Hoover (3):
kernelbase: Translate FILE_FLAG_OPEN_REPARSE_POINT.
kernelbase: Open the reparse point in DeleteFile().
kernelbase: Open the reparse point in RemoveDirectory().
Esme Povirk (1):
mscoree: Return S_OK from ICLRRuntimeHost_SetHostControl.
Fabian Maurer (1):
explorer: Increase height for pathbox to show dropdown elements.
Gabriel Ivăncescu (18):
jscript: Simplify get_flags to only check whether it's enumerable.
jscript: Add stub implementations for typed array constructors.
jscript: Add initial implementation of Typed Arrays.
jscript: Expose Typed Array constructor's BYTES_PER_ELEMENT prop.
jscript: Implement Typed Array construction on ArrayBuffers.
jscript: Implement ArrayBuffer.isView.
jscript: Implement Typed Array construction from objects.
jscript: Implement 'subarray' for Typed Arrays.
jscript: Implement 'set' for Typed Arrays.
jscript: Implement Uint8ClampedArray.
jscript: Expose Uint8ClampedArray only in ES6 mode.
jscript: Return JS_E_OBJECT_EXPECTED in valueOf with NULL disps in IE10+ modes.
mshtml: Add window.msCrypto stub.
mshtml: Add msCrypto.subtle stub.
mshtml: Implement msCrypto.getRandomValues.
mshtml: Implement "arraybuffer" type response for XMLHttpRequest.
mshtml: Use double for get_time_stamp to have sub-millisecond precision.
mshtml: Implement performance.now().
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.333.
Giovanni Mascellani (19):
mmdevapi/tests: Print the expected result code when failing a check.
mmdevapi: Use AUTOCONVERTPCM when initializing the audio client for spatial audio.
windows.media.speech: Use AUTOCONVERTPCM when initializing the audio client.
winmm: Use AUTOCONVERTPCM when initializing the audio client.
dsound: Use AUTOCONVERTPCM when initializing the capture audio client.
dsound: Use AUTOCONVERTPCM when initializing the render audio client.
dsound: Always require a floating-point mixing format.
dsound: Simplify computing the mixing format.
dsound: Do not query for mixing format support.
dsound: Do not query for supported formats for the primary buffer.
dxgi/tests: Add test context for D3D10 and D3D12 tests.
dxgi/tests: Test the frame latency waitable on D3D10 too.
dxgi/tests: Test the compatibility between the swapchain effect and the latency waitable.
dxgi: Do not allow the frame latency waitable for non-flip swap effects.
dxgi/tests: Test present count for D3D10, flip discard and no latency waitable.
dxgi/tests: Test present count for D3D10, flip discard and latency waitable.
mmdevapi/tests: Check that IsFormatSupported() sets the format to NULL when it returns E_POINTER.
mmdevapi: Move format validation in driver-independent code.
mmdevapi: Move generating the suggested format in the driver-independent code.
Hans Leidekker (2):
comdlg32/tests: Force console subsystem version 5.2.
shell32: Support SHARD_PATHW in SHAddToRecentDocs().
Haoyang Chen (5):
user32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
user32/edit: Allow setting password char on multiline edit controls.
comctl32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
comctl32/edit: Allow setting password char on multiline edit controls.
http.sys: Support the wildcard * in the hostname.
Jacek Caban (13):
mshtml/tests: Allow specifying compat mode and URL query string in single script mode.
jscript: Move SCRIPTLANGUAGEVERSION_ declarations to jsdisp.idl.
jscript: Don't expose DataView and ArrayBuffer objects in IE9 mode.
win32u: Introduce NtUserWintabDriverCall to provide a way for wintab32 to call display drivers.
wintab32: Attach tablet through win32u.
wintab32: Retrieve current tablet packet through win32u.
wintab32: Query tablet information through win32u.
wintab32: Initialize tablet through win32u.
winex11: Remove no longer needed unixlib.h.
opengl32: Take GL_CLIENT_STORAGE_BIT into account when picking vk memory type in create_buffer_storage.
opengl32: Use Vulkan-backed buffer storage only when GL_MAP_PERSISTENT_BIT is specified.
opengl32: Don't use PTR32 for manual wow64 wrappers return type.
opengl32: Add support for GL_NV_ES1_1_compatibility.
Jiajin Cui (4):
winex11.drv: Implement WS_EX_TRANSPARENT mouse pass-through with ShapeInput extension.
kernel32: Avoid some duplicate slashes in wine_get_dos_file_name.
gdiplus: Add memory cleanup on matrix inversion failure.
wow64win: Change parameter types from LONG to ULONG in wow64_NtUserMessageCall.
Jiangyi Chen (1):
ole32: Add support for writing VT_R8 property.
Kun Yang (1):
win32u: Change the stretch mode of dst hdc to ColorOnColor in TransparentBlt.
Marc-Aurel Zent (10):
winemac: Make macdrv_ime_process_key synchronous.
winemac: Remove QUERY_IME_CHAR_RECT and directly get ime_composition_rect.
kernelbase: Use NT_ERROR() to check for errors in WaitForMultipleObjectsEx.
kernelbase: Reimplement WaitForSingleObject[Ex] on top of NtWaitForSingleObject.
ntdll: Fix an off-by-one error in the pseudo-handle check for inproc syncs.
ntdll: Reimplement NtWaitForSingleObject without NtWaitForMultipleObjects.
ntdll: Reject pseudo-handles in NtWaitForMultipleObjects.
kernel32/tests: Add more tests for waits on pseudo-handles.
server: Fix Mach vm region info datatype in write_process_memory().
server: Correctly report partial write size in Mach write_process_memory().
Matteo Bruni (11):
dsound/tests: Get rid of a crashing test.
dsound: Simplify check in DSOUND_RecalcFormat().
dsound: Print time as an unsigned value.
dsound: Consistently trace locked byte count as an unsigned value.
dsound: Check data size in propset methods.
dsound: Fill all the DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE data.
dsound: Return the mmdevapi endpoint ID as module.
dsound/tests: Mark weird DescriptionW propset failure on the AMD testbot machine.
wined3d: Conditionally update saved window state in fullscreen mode.
dxgi/tests: Use test contexts in test_resize_target().
dxgi/tests: Test window states tracking and restoration in fullscreen mode.
Mohamad Al-Jaf (8):
windows.perception.stub/tests: Add IHolographicSpaceInterop::CreateForWindow() tests.
windows.perception.stub: Implement IHolographicSpaceInterop::CreateForWindow().
windows.perception.stub/tests: Add IHolographicSpace::get_PrimaryAdapterId() tests.
windows.perception.stub: Implement IHolographicSpace_get_PrimaryAdapterId().
windows.perception.stub: Stub some functions.
uxtheme: Handle NULL options in DrawThemeTextEx().
uxtheme/tests: Add some DrawThemeTextEx() tests.
windows.media.playback.mediaplayer/tests: Skip tests when CLASS_E_CLASSNOTAVAILABLE is returned.
Nikolay Sivov (32):
ntdll/tests: Remove some noisy traces.
dxcore/tests: Do not test for 0 deviceID.
rometadata: Use correct argument when unmapping a file view (Coverity).
dwrite: Add explicit inline helper for whitespace checks.
msxml3: Merge IXMLDocument and IXMLElement sources into a single file.
msxml3/tests: Add some tests for root element.
msxml3/tests: Add some tests for IXMLElement2::get_attributes().
msxml3/tests: Add some tests for comment nodes.
msxml3/tests: Add some tests for PI and CDATA nodes.
include: Fix IXMLDocument method spelling.
msxml3/tests: Add some more get_text() tests.
d2d1/effect: Add a description for the Gaussian Blur effect.
d2d1/effect: Add a description for the Point Specular effect.
d2d1/effect: Add a description for the Arithmetic Composite effect.
d2d1/tests: Reduce test run count for some tests.
d2d1/effect: Add property definitions for the Shadow effect.
msxml3: Rewrite legacy DOM API using SAX parser.
d2d1: Add property descriptions for the 2D Affine Transform effect.
d2d1/tests: Add a basic rendering test for the Flood effect.
user32/tests: Add some tests for GetWindow(GW_ENABLEDPOPUP).
user32: Implement GetWindow(GW_ENABLEDPOPUP).
d2d1/tests: Add some tests for creating shared bitmaps from IWICBitmapLock.
d2d1/effect: Add a separate factory functions for builtin effects.
d2d1/tests: Add another effect registration test.
gdi32: Ignore provided glyph position if ExtTextOutW() needs complex text processing.
d2d1: Add property bindings for a few of builtin effects.
d2d1: Add property data for the 3D Perspective Transform effect.
d2d1: Add property data for the Composite effect.
d2d1: Do not use property getter for standalone properties.
d2d1: Add property data for the Crop effect.
d2d1: Add property data for the Color Matrix effect.
dwrite/fallback: Add the Bamum Supplement range to the fallback data.
Paul Gofman (14):
ntdll: Implement NtAlertMultipleThreadByThreadId().
ntdll: Use NtAlertMultipleThreadByThreadId() in RtlWakeAddressAll().
xaudio2: Free effect chain on error return.
xaudio2_8: Add XAudio2CreateWithVersionInfo().
xaudio2_8: Don't crash on invalid XAPO interface.
ntdll: Set output frame to Rsp - 8 in epilogue on x64.
ntdll/tests: Test unwind with popping frame reg before another one on x64.
ntdll: Fix handling jmp in epilogue unwind on x64.
ntdll: Handle 0xff jump opcode in epilogue unwind on x64.
winhttp/tests: Always use secure connection to ws.ifelse.io in websocket tests.
ntdll: Fill IOSB in NtUnlockFile().
ntdll: Don't detect epilogue in chained unwind function on x64.
ntdll: Check for related functions in is_inside_epilog() when detecting tail call.
win32u: Fill some GPU info in HKLM\Software\Microsoft\DirectX.
Peter Castelein (1):
wined3d: Mark stateblock dirty in wined3d_stateblock_multiply_transform().
Piotr Caban (28):
msvcrt: Fix WinRT exception leaks in _except_handler4_common.
ucrtbase: Add __C_specific_handler tests.
include: Add DBCOLUMNDESC definition.
include: Define DBCOL_* GUIDs.
msado15: Return error in fields:_Append if recordset is open.
msado15: Stub object for representing tables in memory.
msado15: Store internal field representation in fields structure.
msado15: Support obtaining columns info from tables without provider.
msado15: Stub IRowsetExactScroll interface for tables without provider.
msado15: Add more _Recordset:AddNew tests.
vccorlib140: Move exception functions to new file.
vccorlib140: Remove platform_ prefix from exception function names.
msvcrt: Move TYPE_FLAG* and CLASS_IS* defines to cxx.h.
msado15: Stub IRowsetChange interface for tables without provider.
msado15: Stub IAccessor interface for tables without provider.
msado15: Improve Recordset::AddNew implementation.
msado15: Improve Recordset::get_RecordCount implementation.
vccorlib140: Fix exceptions RTTI data.
vccorlib140: Fix exception type descriptors.
msado15: Initilize Recordset columns lazily.
msado15: Skip bookmark column when creating IRowset Fields.
msado15: Stub IRowsetInfo interface for tables without provider.
msado15: Add partial IRowsetInfo::GetProperties implementation for tables without provider.
msado15: Improve _Recordset::CacheSize implementation.
msado15: Implement IRowset::GetNextRows for tables without provider.
msado15: Ignore first special column when populating Recordset.
msado15: Improve test IRowsetInfo::GetProperties implementation.
msado15: Fix test IRowsetLocate::GetRowsAt implementation.
Rémi Bernon (53):
win32u: Dispatch to the KHR function pointer when appropriate.
winex11: Flush X requests in X11DRV_SetWindowText.
wineandroid: Check if event list is empty before checking the pipe.
winemac: Only check if event pipe is drained with QS_ALLINPUT.
winex11: Only check if event pipe is drained with QS_ALLINPUT.
win32u: Don't strip semaphore / fence export info.
win32u: Set keyed mutex semaphore stage mask value.
win32u: Hoist get_thread_dpi in apply_window_pos.
win32u: Use a private flag to indicate fullscreen windows.
win32u: Get rid of is_window_rect_full_screen helper.
winex11: Prevent larger than monitor window resizes.
opengl32: Avoid a potential crash when flushing in wglSwapBuffers.
win32u: Disable vsync when emulating front buffer rendering.
winex11: Flush X requests in X11DRV_ActivateWindow.
winex11: Flush X requests in X11DRV_SetWindowIcons.
winex11: Flush X requests in X11DRV_SetWindowStyle.
winex11: Flush X requests in X11DRV_SetLayeredWindowAttributes.
winex11: Flush X requests in X11DRV_UpdateLayeredWindow.
win32u: Merge WM_SYSCOMMAND cases in WINE_WINDOW_STATE_CHANGED.
win32u: Don't forcefully activate windows before restoring them.
winex11: Make set_window_cursor helper static.
winex11: Remove unnecessary flushes from X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_ClipCursor.
winex11: Flush X requests in X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_NotifyIMEStatus.
winex11: Flush X requests in X11DRV_SetIMECompositionRect.
winex11: Flush X requests in X11DRV_FlashWindowEx.
winex11: Flush X requests in X11DRV_SystrayDockInit.
winex11: Flush X requests in X11DRV_SystrayDockRemove.
winex11: Flush X requests in X11DRV_SystrayDockInsert.
winevulkan: Force copy some missing semaphore / fence structs.
win32u: Stub NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Test NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Add external semaphore / fences tests.
vulkan-1/tests: Add timeline semaphore tests.
win32u: Consistently use "Wine Adapter" as default GPU name.
win32u: Use the native adapter name for some common GPUs.
win32u: Return the native OpenGL vendor name as GL_VENDOR string.
win32u: Return the native adapter name as GL_RENDERER string.
win32u: Add AMD Radeon RX 7600 XT device name.
winex11: Copy XF86VidModeModeInfo to the DEVMODEW driver data.
winex11: Always return full modes from settings handlers.
winex11: Introduce a x11drv_mode structure for full modes.
winex11: Retrieve full modes before applying new display settings.
winex11: Lock and flush display in X11DRV_ChangeDisplaySettings.
winevulkan: Move device quirks to the loader side.
winevulkan: Enumerate instance extensions on Vulkan initialization.
winevulkan: Check enabled instance extensions support on the PE side.
winevulkan: Enable VK_EXT_surface_maintenance1 extension on the instance.
winevulkan: Enumerate devices extensions on physical device initialization.
winevulkan: Check enabled device extensions support on the PE side.
winex11: Remove PFD_DRAW_TO_WINDOW from EGL configs not matching the display depth.
winevulkan: Avoid using nested quotes in make_vulkan format strings.
Tim Clem (5):
winemac.drv: Create window data for message-only windows.
ntdll: Retrieve FP state from an xcontext in the fpe handler, rather than the ucontext.
ntdll: Treat FPU_sig as a void* and memcpy to and from it as needed.
winemac.drv: Explicitly add an ivar for contentViewMaskLayer.
opengl32: Avoid null pointer dereferences when filtering extensions.
Vibhav Pant (20):
msvcrt: Call the destructor for C++ exceptions in __C_specific_handler.
vccorlib140/tests: Add additional tests for exception objects.
vccorlib140: Add Platform::Exception constructor implementation.
vccorlib140: Add Platform::Exception(HSTRING) constructor implementation.
vccorlib140: Add Platform::COMException constructor implementation.
vccorlib140: Add Platform::Exception::Message::get() implementation.
vccorlib140: Add Platform::Exception::CreateException() implementation.
vccorlib140: Throw exceptions on error paths.
vccorlib140: Implement __abi_translateCurrentException.
vccorlib140: Add stubs for {Get, Resolve}WeakReference.
vccorlib140: Implement {Get, Resolve}WeakReference.
vccorlib140: Add stub for __abi_ObjectToString.
vccorlib140: Add ToString() stubs for well-known types.
vccorlib140: Implement ToString() for well-known types.
vccorlib140: Implement __abi_ObjectToString.
vccorlib140: Implement IPrintable for Platform::Exception.
vccorlib140: Implement IPrintable for Platform::Type.
vccorlib140: Add stubs for delegate/EventSource helper functions.
vccorlib140: Implement delegate helper functions.
vccorlib140: Fix potential memory leak in allocation functions.
Wei Xie (3):
windowscodecs: Fix potential integer overflow in PNG format reader.
kernelbase: Allocate buffer dynamically in DefineDosDeviceW.
kernel32/tests: Add some DefineDosDeviceW test cases.
Yeshun Ye (2):
d2d1: Fix incorrect union member access in radial gradient brush.
d2d1: Fix missing geometry assignment in command list recording.
Yuxuan Shui (4):
include: Shut the compiler up about PDNS_RECORD array bounds.
include: Don't evaluate format arguments to ok() unless we need them.
kernel32/tests: Don't go beyond user space virtual address limit.
winetest: Add an option for setting timeout.
Zhengyong Chen (2):
ntdll/tests: Add NtRenameKey tests checking subkey after rename.
windowscodecs: Fix off-by-one check in IcoDecoder_GetFrame.
Zhiyi Zhang (37):
comctl32/tests: Test creating v5 windows after v6 manifest is deactivated.
user32: Fix loading comctl32 v5 after comctl32 v6 is loaded.
comctl32/tests: Test image list interoperation with comctl32 v5 and v6.
comctl32: Use a magic value to check if an image list is valid.
kernel32/tests: Add more GetModuleHandle() tests for WinSxS.
ntdll: Exclude SxS DLLs when finding a DLL with its base name and no activation contexts.
comctl32/progress: Add a helper to draw the background.
comctl32/progress: Move the theme background rect calculation.
comctl32/progress: Get the theme state directly from PROGRESS_INFO.
comctl32/progress: Get the theme handle from window.
comctl32/progress: Add a helper to check if a progress bar is smooth.
comctl32/progress: Add a helper to get the draw procedures.
comctl32/progress: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/progress: Add a helper to handle WM_THEMECHANGED.
comctl32/progress: Remove theming for comctl32 v5.
comctl32/propsheet: Remove theming for comctl32 v5.
comctl32/rebar: Add a helper to draw the gripper.
comctl32/rebar: Add a helper to draw the chevron.
comctl32/rebar: Add a helper to draw the band separator.
comctl32/rebar: Add a helper to draw the band background.
comctl32/rebar: Refactor REBAR_NCPaint().
comctl32/rebar: Remove theming for comctl32 v5.
comctl32/status: Refactor STATUSBAR_DrawSizeGrip() to take an HWND instead.
comctl32/status: Add a helper to draw the background for parts.
comctl32/status: Add a helper to draw the background.
comctl32/status: Remove theming for comctl32 v5.
comctl32/ipaddress: Use the system window text color to draw dots.
winex11.drv: Fix xinerama_get_fullscreen_monitors() not working correctly with non-fullscreen rects.
comctl32/tab: Add a helper to draw the border background.
comctl32/tab: Add a helper to draw the item theme background.
comctl32/tab: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/tab: Remove theming for comctl32 v5.
comctl32/toolbar: Add a helper to draw the separator.
comctl32/toolbar: Add a helper to draw the button frame.
comctl32/toolbar: Add a helper to draw the separator drop down arrow.
comctl32/toolbar: Add a helper to check if theme is enabled.
comctl32/toolbar: Remove theming for comctl32 v5.
```
1
0
The Wine development release 10.18 is now available.
What's new in this release:
- OpenGL memory mapping using Vulkan in WoW64 mode.
- Synchronization barriers API.
- Support for WinRT exceptions.
- SCSI pass-through in WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.18.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.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.18 (total 30):
- #10349 Yukon Trail installer crashes at the end during DDE communication with Progman
- #24466 Sid Meier's Pirates! frequent hiccups, temporary lock-ups
- #33492 Yukon Trail installer fails to install its font
- #48027 cmd pipe | not triggering ReadFile EOF
- #48787 WineD3D C&C Generals Zero Hour takes a lot time to load or maximize
- #55981 GL applications (and d3d applications using the GL backend) are slow in new wow64
- #56209 winetricks vb5run fails
- #56915 Autodesk Fusion requires GetUserLanguages which is not implemented
- #57259 Keepass 2 automatic update dialog is broken (uses Taskdialog) EnableVisualStyles() from WinForms evidently doesn't work
- #57376 Permission denied vs No such file or directory when opening folders with trailing backslash
- #58229 _SH_SECURE sharing flag is not supported and causing _wfsopen to fail
- #58257 CD Manipulator cannot detect the drive model name in experimental wow64 mode.
- #58331 Wait cursor does not display
- #58391 Exact Audio Copy: Unable to interface with DVD drive on WoW64
- #58598 Realterm_2.0.0.70 / Crashes on start
- #58611 Nightshade crashes: err:seh:NtRaiseException Unhandled exception code c0000409 (native vcruntime140 works around the crash)
- #58697 Jolly Rover hangs upon starting with 100% cpu usage
- #58747 Directory opus fails start.
- #58749 Delayed startup of wine processes in Wine-10.16 when winemenubuilder.exe is disabled
- #58752 assembly:Z:\usr\share\wine\mono\wine-mono-10.2.0\lib\mono\4.5\mscorlib.dll type:DllNotFoundException
- #58791 MDk 2 games windows
- #58794 Multiple applications crash with assertion failure in cache_inproc_sync()
- #58795 The Witcher 2 crashes on start
- #58804 Incorrect ConfigureNotify processing in xfce
- #58812 PlayOnline Viewer: Application runs and works otherwise, but only shows a black screen.
- #58816 macOS: Window focus / activation issue
- #58828 Configure (build) fails since commit db2e157, if autoreconf needs to be applied before
- #58837 getCurrentThreadID error when enabling speedhack in Cheat Engine
- #58839 kernel32.timeGetTime error when enabling speedhack in Cheat Engine
- #58852 Minimised applications are restored with -4 vertical pixels (redux).
### Changes since 10.17:
```
Adam Markowski (1):
wine.desktop: Add Polish translation.
Akihiro Sagawa (9):
ntdll: Drop unused raw SCSI command support for NetBSD.
ntdll: Remove useless request_sense type check.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH tests for optical drives.
ntdll: Remove redundant definitions for Linux.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH_DIRECT.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH_DIRECT.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH_DIRECT tests for optical drives.
Alex Henrie (2):
kernel32: Move some time functions from winmm.
advpack: Ignore lines that begin with '@' in (Un)RegisterOCXs sections.
Alexandre Julliard (19):
server: Only use the export name for builtin modules.
winebuild: Always output an export directory for fake dlls.
server: Also use the export name for fake dlls.
configure: Work around install-sh requirement in autoconf <= 2.69.
makedep: Only output install rules at the top level.
makedep: Generate the uninstall files list directly from the install commands.
makedep: Store install command line arguments in the command list.
makedep: Make the output_rm_filenames helper more generic.
makedep: Install multiple files at once when possible.
ntdll: Don't map the PE header as executable.
gitlab: Fix regexp to extract dll name for Windows tests.
kernel32/tests: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
kernelbase: Fix error returned for paths with a trailing backslash.
mountmgr.sys: Only create serial and parallel keys when needed.
include: Add a couple of reparse point definitions.
ws2_32/tests: Add some tests for AF_UNIX sockets.
kernelbase: Reject all-space paths in SearchPath().
kernelbase: Reject empty command lines in CreateProcess().
Alexandros Frantzis (1):
winewayland: Pass through mouse events for transparent, layered windows.
Alistair Leslie-Hughes (2):
bcrypt: Add missing breaks.
include: Correct STACKFRAME for 64bits in imagehlp.h.
Anton Baskanov (8):
fluidsynth: Import upstream release 2.4.2.
fluidsynth: Calculate the inverted value explicitly in fluid_mod_transform_source_value().
fluidsynth: Invert relative to the max value instead of 1.0 in fluid_mod_transform_source_value().
dmusic/tests: Add tests for GUID_DMUS_PROP_Volume.
dmusic: Set volume when creating a synth.
dmusic: Handle GUID_DMUS_PROP_Volume.
dmime: Set master volume when adding a port.
dmime: Update master volume when GUID_PerfMasterVolume is set.
Bernd Herd (3):
sane.ds: Fix native TWAIN transfer mode for 64-bit.
gphoto2.ds: Decrease the number of remaining pending data transfers after every transfer.
gphoto2.ds: Return the DIB as a GlobalAlloc handle according to TWAIN spec instead of a HBITMAP.
Brendan Shanks (4):
winemac.drv: Include Carbon.h in macdrv_cocoa.h and remove duplicate definitions.
include: Implement C_ASSERT() using the C23 static_assert() if available.
ntdll: Avoid mmap() failures and Gatekeeper warnings when mapping files with PROT_EXEC.
configure: Only run checks in WINE_(MINGW_)PACKAGE_FLAGS when CFLAGS or LIBS is non-empty.
Byeong-Sik Jeon (2):
winemac: Use event handle to detect macdrv ime processing done.
win32u: Fix typo.
Conor McCarthy (8):
mf/tests: Skip the scheme resolver tests if network connectivity is unavailable.
mf/tests: Fix occasional hangs in test_media_session_source_shutdown().
mf/tests: Skip some tests invalid on current Windows 11.
mf/tests: Fix a scheme resolver test failure on current Windows 11.
mf/tests: Test H.264 sink media type height alignment.
mf/tests: Test H.264 decoder alignment.
mfmediaengine/tests: Test TransferVideoFrame() to IWICBitmap.
mfmediaengine: Support TransferVideoFrame() to IWICBitmap.
Dmitry Timoshkov (5):
wine.inf: Create [fonts] section in win.ini for 16-bit apps.
user32/tests: Add more tests for PackDDElParam/UnpackDDElParam(WM_DDE_ACK).
user.exe: Use larger buffer size for checking atom name.
user.exe: Add special handling for WM_DDE_ACK in response to WM_DDE_INITIATE.
wldap32/tests: Add one more check for an unreachable server.
Elizabeth Figura (9):
kernelbase: Remove an unused NtQueryInformationFile() from MoveFileWithProgress().
ntdll: Call cache_inproc_sync() inside the lock.
ntdll/tests: Add more reparse point tests.
ntdll/tests: Test NtQueryAttributesFile() with a root directory.
shell32/tests: Fix test failures in test_GetAttributesOf().
include: Pass a PROCESS_INFORMATION to winetest_wait_child_process().
user32: Implement CascadeWindows().
user32: Implement TileWindows().
winex11: Null-terminate a string used with RTL_CONSTANT_STRING().
Eric Pouech (9):
cmd: Fix lexer on input redirection.
cmd: Show file size greater than 4G in DIR command.
cmd: Initialize a local variable.
cmd: Fix a potential out of bounds access.
cmd: Fixed an invalid memory access spotted by SAST.
dbghelp: Use Unicode for some pathnames.
dbghelp: Remove useless process parameters.
dbghelp: Rewrite debug format search & load logic.
dbghelp: {dwarf} Keep .eh_frame mapped when no CU are present.
Felix Hädicke (3):
wbemprox/tests: Use check_property function in test_MSSMBios_RawSMBiosTables.
wbemprox/tests: Add tests for MSSMBios_RawSMBiosTables properties.
wbemprox: Implement more MSSMBios_RawSMBiosTables properties.
Gabriel Ivăncescu (15):
mshtml: Use a common object implementation for HTMLElementCollection enumerator.
mshtml: Use the common object implementation for HTMLDOMChildrenCollection enumerator.
mshtml: Use the common object implementation for HTMLFormElement enumerator.
mshtml: Use the common object implementation for HTMLSelectElement enumerator.
mshtml: Use the common object implementation for HTMLRectCollection enumerator.
mshtml: Use the common object implementation for HTMLStyleSheetsCollection enumerator.
mshtml: Use the common object implementation for HTMLAttributeCollection enumerator.
mshtml: Add private stub interfaces for validating form elements.
mshtml: Add private stub interfaces for validating input elements.
mshtml: Add private stub interfaces for validating button elements.
mshtml: Add private stub interfaces for validating object elements.
mshtml: Add private stub interfaces for validating select elements.
mshtml: Add private stub interfaces for validating text area elements.
mshtml: Implement checkValidity for HTMLInputElement.
mshtml: Implement enctype for HTMLFormElement.
Gerald Pfeifer (1):
winebus: Don't define hidraw_device_read_report unless used.
Ivan Lyugaev (1):
sane.ds: Adding saving scanner settings to the registry.
Jacek Caban (16):
gitlab: Update to llvm-mingw 20251007.
opengl32: Update to the current OpenGL spec.
opengl32: Include legacy aliases in the extension registry.
opengl32: Factor out make_context_current.
opengl32: Use the actual context GL version in is_extension_supported.
opengl32: Use stored GL version in check_extension_support.
opengl32: Hide GL versions larger than 4.3 on wow64 in make_context_current.
opengl32: Use stored context GL version in get_integer.
opengl32: Use stored GL version in wrap_glGetString.
opengl32: Split extensions by null bytes in the registry.
opengl32: Compute supported extensions in make_context_current.
opengl32: Use stored extension list in is_extension_supported.
opengl32: Use stored extensions in filter_extensions.
opengl32: Wrap buffer storage functions.
opengl32: Support wow64 buffer storage and persistent memory mapping using Vulkan.
urlmon/tests: Fix PersistentZoneIdentifier tests on some Windows versions.
Louis Lenders (1):
uxtheme: Add stub for GetThemeStream.
Marc-Aurel Zent (2):
ntdll: Do not set main thread QoS class on macOS.
ntdll: Remove unused parameter from linux_query_event_obj().
Michael Müller (1):
wineboot: Ensure that the ProxyEnable value is created.
Nikolay Sivov (39):
oleaut32/tests: Enable more tests for VarAdd().
oleaut32/tests: Enable more tests for VarOr().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarCmp().
d2d1/tests: Add some tests for resulting format of the WIC target.
d2d1: Set alpha mode correctly for the WIC target.
d2d1: Implement Tessellate() for path geometries.
d2d1: Implement Tessellate() for ellipse geometries.
d2d1: Implement Tessellate() for rectangle geometries.
d2d1: Implement Tessellate() for rounded rectangle geometries.
d2d1/tests: Add a ComputeArea() test for the path geometry.
d2d1: Implement ComputeArea() for path geometries.
include: Remove some msxml6 types from msxml2.idl.
msxml3/tests: Remove duplicated test.
include: Remove more coclass entries from msxml2.idl.
d2d1: Implement ComputeArea() for ellipse geometries.
d2d1: Implement ComputeArea() for rounded rectangle geometries.
d2d1: Implement Tessellate() for transformed geometries.
d2d1/tests: Reduce test run count for some tests.
msxml6/tests: Move remaining tests for SAXXMLReader60.
include: Remove SAXXMLReader60 from msxml2.idl.
d2d1/tests: Extend test geometry sink.
d2d1/tests: Add a basic test for geometry streaming.
d2d1: Track specific failure reason during geometry population.
d2d1: Set more appropriate error code on geometry population.
d2d1: Handle invalid segment flags in SetSegmentFlags().
msxml6/tests: Add a leading whitespace test.
msxml3/tests: Add some SAX tests for PI nodes.
msxml3/sax: Add processing instructions callback.
msxml3/sax: Add basic support for startDTD()/endDTD().
msxml3/tests: Add some tests for IXMLDocument::get_charset().
msxml3/tests: Add some tests for "xmldecl-encoding".
msxml3/tests: Add more tests for document properties.
msxml3/tests: Add more tests for supported interfaces.
d2d1/tests: Add some property tests for the Gaussian Blur effect.
d2d1/tests: Add some property tests for the Point Specular effect.
d2d1/tests: Add some property tests for the Arithmetic Composite effect.
msxml3: Update to IXMLDocument2.
msxml3: Return static string from get_version().
Paul Gofman (9):
user32: Move GetWindowDisplayAffinity() stub to win32u.
kernel32: Avoid RBP-based frame in BaseThreadInitThunk() on x64.
ntdll: Add synchronization barrier stubs.
ntdll: Implement synchronization barrier functions.
kernelbase: Implement synchronization barrier functions.
tdh: Add semi-stub for TdhEnumerateProviders().
server: Use process_vm_readv() for other process memory read when available.
ntdll: Get written size from server in NtWriteVirtualMemory().
server: Use process_vm_writev() for other process memory write when available.
Piotr Caban (17):
d3d11: Fix wait_child_process() related test failures.
dinput: Fix wait_child_process() related test failures.
imm32: Fix wait_child_process() related test failures.
kernel32: Fix wait_child_process() related test failures.
mfplat: Fix wait_child_process() related test failures.
user32: Fix wait_child_process() related test failures.
win32u: Fix wait_child_process() related test failures.
windowscodecs: Fix wait_child_process() related test failures.
timeout: Fix wait_child_process() related test failures.
msvcrt: Deduplicate exception copying code.
msvcrt: Handle IUnknown exceptions in __DestructExceptionObject().
msvcrt: Handle IUnknown exceptions in copy_exception helper.
msvcrt: Call __DestructExceptionObject() in __ExceptionPtrDestroy.
ucrtbase: Fix wait_child_process crash.
msado15/tests: Test rowset queried interfaces instead of tracing them.
msado15: Mark recordset open in ADORecordsetConstruction:put_Rowset.
msvcrt: Rename exception *IUNKNOWN flags to *WINRT.
Robert Wilhelm (1):
scrrun: Implement MoveFolder().
Rémi Bernon (40):
server: Don't set QS_HARDWARE for every hardware message.
win32u: Only return from NtWaitForMultipleObjects if signaled.
win32u: Restore queue masks after processing driver events.
opengl32: Use a buffer map for gl(Draw|Read)Buffer(s).
opengl32: Implement front buffer rendering emulation.
win32u: Reset internal pixel format when pixel format is set.
win32u: Use floats for map_monitor_rect computation.
win32u: Stub NtGdiDdDDI(Acquire|Release)KeyedMutex(2) syscalls.
win32u/tests: Test acquire / release of D3DKMT keyed mutexes.
win32u: Set the process idle event from the client side.
winex11: Give colormap ownership to the surface after it's allocated.
ntdll: Fix (Nt|Zw)WaitForMultipleObjects signature.
win32u: Process driver events and internal hardware messages in NtUserSetCursor.
winegcc: Support subsystem version number in link.exe-style cmdline.
winegcc: Consistently use the subsystem option with Clang and MinGW.
comctl32/tests: Force console subsystem version 5.2.
dxgi/tests: Force console subsystem version 5.2.
quartz/tests: Force console subsystem version 5.2.
user32/tests: Force console subsystem version 5.2.
winegcc: Set the default console and windows subsystems version to 6.0.
win32u: Use a dedicated struct for D3DKMT mutex objects.
server: Use a dedicated struct for D3DKMT mutex objects.
win32u: Pass D3DKMT keyed mutex initial value on creation.
win32u: Implement acquire / release of D3DKMT keyed mutexes.
winex11: Move state change checks to window_update_client_state.
winex11: Remove now unnecessary SC_MOVE command handling.
win32u: Update the window config before its state, as internal config.
win32u: Fix incorrect resource allocation object type.
win32u: Call d3dkmt_destroy_sync from NtGdiDdDDIDestroySynchronizationObject.
win32u: Simplify some vulkan resource cleanup calls.
win32u: Query resource runtime data in d3dkmt_open_resource.
win32u: Open resource keyed mutex and sync object on import.
winevulkan: Require timeline semaphores for VK_KHR_win32_keyed_mutex.
win32u/tests: Test vulkan / D3DKMT keyed mutex interop.
win32u: Create timeline semaphores for resources keyed mutexes.
win32u: Grow vkQueueSubmit buffers to allow for keyed mutex semaphores.
win32u: Reserve an array of timeline semaphore submit structs.
win32u: Implement keyed mutex acquire / release with timeline semaphores.
winex11: Don't keep track of the minimized window rects.
winex11: Use window rects for minimization in virtual desktop mode.
Tim Clem (2):
winemac.drv: Never set a zero backing size for a GL context.
winemac.drv: Explicitly track the shape layer used for letter/pillarboxes.
Vibhav Pant (14):
rometadata: Implement IMetaDataTables::{Get{String,Blob,Guid,UserString}HeapSize, GetNumTables}.
rometadata: Implement IMetaDataTables::GetTableInfo.
rometadata: Implement IMetaDataTables::GetRow.
rometadata: Implement IMetaDataTables::Get{String,Blob,Guid}.
rometadata/tests: Add tests for IMetaDataTables::{GetColumnInfo, GetColumn}.
rometadata: Implement IMetaDataTables::{GetColumn, GetColumnInfo}.
kernelbase: Release console_section in case of an allocation failure in alloc_console.
vccorlib140: Add AllocateException and FreeException stubs.
vccorlib140: Add AllocateExceptionWithWeakRef stub.
vccorlib140: Add stubs for exceptions-related functions.
vccorlib140: Add tests for exceptions-related functions.
vccorlib140: Add stubs for Exception constructors.
vccorlib140: Implement AllocateException(WithWeakRef), FreeException.
msvcrt: Update WinRT exception type info in _CxxThrowException.
Yuxuan Shui (4):
wmvcore/tests: Check what happens to a WMSyncReader when its allocator fails.
winegstreamer: Return NS_E_NO_MORE_SAMPLES from WMSyncReader if sample fails to read.
user32/tests: Make sure testtext has enough null bytes at the end.
reg: Fix out-of-bound read when string is empty.
Zhengyong Chen (1):
server: Fix incorrect key modification in rename_key function.
Zhiyi Zhang (27):
windows.ui.core.textinput: Add stub DLL.
windows.ui.core.textinput: Add ICoreInputViewStatics stub.
windows.ui.core.textinput: Add core_input_view_statics_GetForCurrentView() stub.
windows.ui.core.textinput: Add core_input_view_GetCoreInputViewOcclusions() stub.
windows.ui.core.textinput: Add core_input_view_add_OcclusionsChanged() stub.
windows.ui.core.textinput: Implement IWeakReferenceSource for ICoreInputView.
comctl32: Move uxtheme headers to comctl32.h.
comctl32: Add a helper to open theme for a window.
comctl32: Add a helper to close the theme for a window.
comctl32: Add a helper to handle WM_THEMECHANGED.
comctl32: Add a helper to handle WM_NCPAINT messages.
comctl32/datetime: Add a helper to draw the background.
comctl32/datetime: Remove theming for comctl32 v5.
uxtheme: Add a stub at ordinal 49.
comctl32/header: Add a helper to check if theme is enabled.
comctl32/header: Add a helper to get the item text rect.
comctl32/header: Add a helper to draw the item text.
comctl32/header: Add a helper to draw the rest of the background.
comctl32/header: Remove theming for comctl32 v5.
comctl32/hotkey: Remove theming for comctl32 v5.
comctl32/ipaddress: Add a helper to get the theme text state.
comctl32/ipaddress: Add a helper to get the text colors.
comctl32/ipaddress: Add a helper to draw the background.
comctl32/ipaddress: Add a helper to draw the dots.
comctl32/ipaddress: Remove theming for comctl32 v5.
comctl32/listview: Remove theming for comctl32 v5.
comctl32/monthcal: Remove theming for comctl32 v5.
Ziqing Hui (8):
mfreadwrite: Add attributes member to writer struct.
mfreadwrite: Add converter transform to stream.
mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite/tests: Test getting transform for a writer without converter.
qasf: Implement seeking for asf reader.
qasf: Add asf_reader_stop_stream helper.
qasf: Add asf_reader_start_stream helper.
```
1
0
The Wine development release 10.17 is now available.
What's new in this release:
- Mono engine updated to version 10.3.0.
- EGL renderer used by default for OpenGL.
- COMCTL32 split into separate v5 and v6 modules.
- Better support for ANSI ODBC drivers.
- Improved CPU info on FreeBSD.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.17.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.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.17 (total 17):
- #16214 Copy command does not support CON or CON:
- #38987 tlReader 10.x crashes when searching dictionary (wxWidgets 2.9.4 questionable theming support detection via comctl32 v6 version resource)
- #46603 Metro 2033 crashes on exit
- #46823 in wcmd.exe, trailing slash in "if exist SomeDir/" cause always false
- #51119 INSIDE ground is black rendered with OpenGL renderer
- #52633 Some buttons from Free Virtual Keyboard's setting dialog are unthemed, needs comctl32 version 6.
- #56157 create_logical_proc_info (Stub) : Applications can not spawn multiple threads
- #56381 "type" does not support binary files
- #56391 So Blonde: very long loading times
- #57448 Erratic mouse movement with waylanddriver in Throne and Liberty
- #57574 Wine 9.20: Application window positioning regression on laptop with multi monitor display setup
- #57691 wine-mono: ASan gets triggered in mono_path_canonicalize with strcpy-param-overlap.
- #58726 "Roon" music player only shows a blank white screen but buttons (that aren't displayed) technically work
- #58737 Download of large file via WinHTTP fails with WSATIMEDOUT
- #58755 16-bit applications crash under new wow64 on some processors
- #58770 Unable to Compile 10.16
- #58796 Wine configuration window doesn't appear after prefix creation
### Changes since 10.16:
```
Alexandre Julliard (37):
winebuild: Add support for stripping files before setting the builtin flag.
makedep: Use winebuild to strip installed files.
tools: Add an STRARRAY_FOR_EACH macro to iterate an strarray.
makedep: Use the STRARRAY_FOR_EACH macro.
widl: Use the STRARRAY_FOR_EACH macro.
wine: Use the STRARRAY_FOR_EACH macro.
winebuild: Use the STRARRAY_FOR_EACH macro.
winegcc: Use the STRARRAY_FOR_EACH macro.
wrc: Use the STRARRAY_FOR_EACH macro.
server: Consistently use STATUS_TOO_MANY_OPENED_FILES when running out of file descriptors.
gitlab: Use the release keyword to create a release.
winedump: Rename struct array to str_array.
tools: Add a generic array type.
makedep: Use a generic array for dependencies.
makedep: Use a generic array for include files.
makedep: Add an array of install commands instead of abusing strarrays.
makedep: Build the installed file name when registering the install command.
configure: Fix syntax error in hwloc check.
windows.devices.enumeration: Fix the build with older Bison.
ntdll: Don't assume that the NT name is null-terminated in get_load_order().
ntdll: Build the NT name string directly in get_mapping_info().
server: Return the module export name with the mapping info.
ntdll: Use the export name if any to find the corresponding builtin.
setupapi: Use the actual source name when registering a manifest.
makedep: Include maintainer-generated files from the parent source directory.
makedep: Use normal installation rules when symlinks are not supported.
comctl32: Move version resource to a separate file.
makefiles: List headers in the makefile if they shadow a global header.
setupapi: Only use the actual source name for the first file in the manifest.
msi/tests: Clear the export directory on copied dll to prevent loading the builtin.
tools: Move the fatal_perror function to the shared header.
tools: Add a shared helper to create a directory.
tools: Add an install tool.
makedep: Use the new install tool.
shell32: Move ShellMessageBox implementation to shlwapi.
configure: Remove a couple of unnecessary checks.
makedep: Don't use LDFLAGS for special programs like the preloader.
Bernhard Übelacker (1):
winegcc: Forward large address aware flag with platform windows.
Brendan Shanks (2):
winemac: Draw black letter/pillarboxes around full-screen content.
winemac: Remove the no-longer-needed macdrv_dll.h.
Connor McAdams (10):
d3dx10/tests: Use readback functions from d3d10core tests for resource readback.
d3dx10/tests: Add tests for the D3DX10_IMAGE_LOAD_INFO structure argument.
d3dx10: Fill pSrcInfo structure in D3DX10_IMAGE_LOAD_INFO if passed in.
d3dx10: Create 3D textures for images representing 3D textures.
d3dx10: Add support for custom texture dimension arguments in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for handling the format field in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Handle filter value passed in via D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for generating mipmaps to load_texture_data().
d3dx10: Handle FirstMipLevel argument in load_texture_data().
d3dx10: Pass D3DX10_IMAGE_LOAD_INFO texture creation arguments through in load_texture_data().
Damjan Jovanovic (1):
ntdll: Implement create_logical_proc_info on FreeBSD.
Dmitry Timoshkov (20):
include: Properly declare IADsPathname interface.
adsldp: Properly declare IADs and IADsADSystemInfo interfaces.
include: Add declarations for IADsDNWithString and IADsDNWithBinary interfaces.
activeds: Add IADsDNWithBinary class implementation.
adsldp: Use correct DN in IDirectorySearch::ExecuteSearch().
adsldp: Reimplement IADs::GetInfoEx() on top of IDirectorySearch interface.
adsldp: Implement IADs::GetEx().
adsldp/tests: Add some tests for IADs::GetEx().
adsldp: Implement IADs::get_Schema().
adsldp: Fail to create IADs if it doesn't have an associated schema attribute.
activeds: Retry without ADS_SECURE_AUTHENTICATION for an AD path.
adsldp/tests: Add some tests for IADs::get_Schema().
adsldp: Accept virtual objects in IADsOpenDSObject::OpenDSObject().
adsldp/tests: Add a test for opening schema as an ADs object.
activeds: Add registration of IADsDNWithString and IADsDNWithBinary objects.
adsldp: Add IADsObjectOptions stub implementation.
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_SERVERNAME).
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION).
adsldp: Return success for IADsObjectOptions::SetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION) stub.
activeds: Remove misleading comments.
Elizabeth Figura (9):
ddraw/tests: Fix some tests on modern Windows.
ddraw/tests: Expand and fix tests for EnumDevices().
ddraw: Expose the RGB device for version 1.
ddraw: Reorder ddraw7 enumeration.
ddraw: Rename the RGB device to "RGB Emulation".
ddraw: Fix the size for d3d1 and d3d2 EnumDevices().
user32/tests: Inline process helpers into test_child_process().
ntdll: Also fix up invalid gsbase in the syscall and unix call dispatchers.
shell32/tests: Expand attributes tests.
Eric Pouech (13):
wineconsole: Ensure conhost gets the expected title.
conhost: Support the close-on-exit configuration option.
winedbg: No longer expect a startup sequence in auto mode.
cmd/tests: Add some tests when using "complex" commands in pipes.
cmd: Introduce a new node for describing blocks.
cmd: Refactor run_external_full_path().
cmd: Introduce helper for handling pipe commands.
cmd: Run single commands in pipe in external cmd instance.
cmd: Rewrite binary operations for pipes.
cmd: Add support for IF commands in rewrite.
cmd: Rewrite FOR commands for pipe.
cmd: Rewrite explicit blocks for pipe.
cmd: Remove transition helpers for pipe commands.
Esme Povirk (3):
winbrand: Add stub dll.
winbrand: Partially implement BrandingFormatString.
mscoree: Update Wine Mono to 10.3.0.
Felix Hädicke (1):
winhttp: Type UINT64 for variables content_length and content_read.
Gabriel Ivăncescu (11):
mshtml: Factor out XMLHttpRequest creation.
mshtml: Factor out XMLHttpRequest constructor init.
mshtml: Separate the ifaces and the other XHR fields.
mshtml: Factor out XMLHttpRequest's get_responseText.
mshtml: Factor out XMLHttpRequest's abort.
mshtml: Factor out XMLHttpRequest's open.
mshtml: Factor out XMLHttpRequest's send.
mshtml: Add XDomainRequest factory implementation.
mshtml: Implement XDomainRequest.open().
mshtml: Implement timeout for XDomainRequest.
mshtml: Implement contentType for XDomainRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.329.
Giovanni Mascellani (22):
mmdevapi/tests: Test after sleeping with read_packets().
mmdevapi/tests: Move GetBufferSize() checks to the beginning of the test.
mmdevapi/tests: Move checking the current padding out of read_packets().
mmdevapi/tests: Test after overrunning buffer with read_packets().
mmdevapi/tests: Test after stopping and restarting the client with read_packets().
mmdevapi/tests: Test after stopping, resetting and restarting the client with read_packets().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when rendering.
mmdevapi/tests: Tweak the lists of audio format to test.
mmdevapi/tests: Simplify checking IsFormatSupported() result when rendering.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when rendering.
mmdevapi/tests: Test extensible wave formats when rendering.
dsound: Remove dead lead-in logic.
dsound: Simplify a condition in DSOUND_MixInBuffer().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when capturing.
mmdevapi/tests: Tweak the lists of audio format to test when capturing.
mmdevapi/tests: Simplify checking IsFormatSupported() result when capturing.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when capturing.
mmdevapi/tests: Test extensible wave formats when capturing.
Hans Leidekker (1):
bcrypt: Support import/export for generic ECDH/ECDSA algorithms.
Jacek Caban (4):
mshtml: Reset event handlers in document.open.
win32u: Wrap vkGetPhysicalDeviceProperties2[KHR].
win32u: Move LUID handling from winevulkan.
winevulkan: Use generated PE thunks for vkGetPhysicalDeviceProperties2[KHR].
James McDonnell (3):
shell32: Add shield icon.
shell32: Map stock icons to shell32 resource id.
shell32/tests: Add a test for stock icons.
Jiangyi Chen (2):
user32/tests: Add some tests for uiLengthDrawn calculation in DrawTextExW().
user32: Fix uiLengthDrawn calculation in DrawTextExW().
Jinoh Kang (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceComplete.
Louis Lenders (2):
gdi32: Add stub for GetEnhMetaFilePixelFormat.
uxtheme: Add stub for GetThemeBitmap.
Luca Bacci (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceBeginInitialize.
Marc-Aurel Zent (4):
server: Add get_effective_thread_priority() helper.
server: Add set_thread_disable_boost() helper.
server: Boost main thread priority.
ntdll: Switch to CLOCK_BOOTTIME for monotonic counters when available.
Matteo Bruni (6):
d3dx9: Handle inverse transposed matrix in UpdateSkinnedMesh().
d3dx9/tests: Skip ID3DXRenderToSurface tests if BeginScene() fails.
d3dx9/tests: Increase tolerance in test_D3DXSHEvalDirectionalLight().
d3dx9/tests: Add some fallback formats in the texture tests.
d3dx10/tests: Disable size validation test.
d3dx11/tests: Disable size validation test.
Michael Müller (1):
shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.
Michael Stefaniuc (11):
dmstyle: Move the parsing of the style bands to a helper.
dmstyle: Avoid Hungarian notation in a private struct.
dmstyle: Simplify the load_band() helper.
dmstyle: Move the IStream resetting to the load_band() helper.
dmstyle: Use load_band() for the pattern band too.
dmstyle: Simplify the style IPersistStream_Load method.
dmstyle: Remove no longer needed helpers.
dmstyle: Issue a FIXME for unhandled references to chormaps in a style.
dmscript: Move the loading of the container to a helper.
dmscript: Reimplement the loading of a script.
dmscript: Get rid of the IDirectMusicScriptImpl typedef.
Nikolay Sivov (32):
odbc32: Implement SQLSpecialColumnsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SEARCH_PATTERN_ESCAPE) for ANSI win32 drivers.
odbc32: Implement SQLColumnsW() for ANSI win32 drivers.
oledb32/tests: Add some more tests for the error object.
oledb32: Rename error object creation helper.
oledb32/error: Store a dynamic id for each error record.
oledb32/errorinfo: Add a helper to access records by index.
oledb32/errorinfo: Return 0-record info with GetGUID().
oledb32/errorinfo: Rename a helper.
oledb32/errorinfo: Return stub error info objects from GetErrorInfo().
oledb32/errorinfo: Reference error object for each returned IErrorInfo instance.
oledb32/errorinfo: Implement GetSource() using error lookup service.
oledb32/errorinfo: Release dynamic error information on cleanup.
oledb32/errorinfo: Implement GetDescription() using error lookup service.
oledb32/errorinfo: Implement GetHelpFile() using error lookup service.
oledb32/errorinfo: Implement GetHelpContext() using error lookup service.
oledb32/errorinfo: Implement IErrorInfo methods of the error object.
oledb32/errorinfo: Implement GetGUID().
oledb32: Consider requested interface in DllGetClassObject().
oledb32: Use public symbol for the Error Object CLSID.
dwrite: Update script information with Unicode 16.0 additions.
dwrite: Explicitly check scripts for "complexity" property.
mfplat/tests: Fix a crash on some Windows systems.
ole32: Move CoTreatAsClass() to combase.
combase: Check for null arguments in CoTreatAsClass().
combase: Remove unreachable failure path in CoTreatAsClass().
ole32: Move CoIsOle1Class() stub to combase.
oleaut32/tests: Enable more tests for VarMul().
oleaut32/tests: Enable more tests for VarEqv().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarAnd().
bcp47langs/tests: Fix a crash when running on Wine.
Owen Rudge (3):
taskschd: Only release ITaskDefinition if creation of RegisteredTask fails.
taskschd/tests: Add test for ITaskDefinition Data property.
taskschd: Implement ITaskDefinition Data property.
Paul Gofman (12):
server: Support NULL job handle in get_job_info().
shell32: Add Screenshots known folder.
win32u: Bump GPU internal driver versions to a future version.
ntdll: Add a stub for EtwEventWriteEx().
advapi32: Add a stub for EnumerateTraceGuidsEx().
windows.media.speech: Add stub IRandomAccessStream interface to SpeechSynthesisStream class.
windows.media.speech: Add stub IInputStream interface to SpeechSynthesisStream class.
windows.media.speech: Add semi-stub for synthesis_stream_input_ReadAsync().
windows.media.speech: Return semi-stub IAsyncInfo from async_with_progress_uint32_QueryInterface().
ntdll/tests: Add more tests for nested exceptions on x64.
ntdll: Make nested_exception_handler() arch specific.
ntdll: Clear nested exception flag at correct frame on x64.
Piotr Caban (17):
odbc32: Add SQLDriverConnectA() implementation.
odbc32: Handle SQL_C_WCHAR conversion in SQLGetData for ANSI drivers.
odbc32: Implement SQLStatisticsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_STRING_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_NUMERIC_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TIMEDATE_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SYSTEM_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONVERT_*) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONCAT_NULL_BEHAVIOR) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_EXPRESSIONS_IN_ORDERBY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ORDER_BY_COLUMNS_IN_SELECT) for ANSI win32 drivers.
odbc32: Remove prepare_con() helper.
odbc32: Support SQLGetInfo(SQL_OJ_CAPABILITIES) in older drivers.
odbc32: Remove debugstr_sqllen() helper.
odbc32: Remove debugstr_sqlulen() helper.
msvcrt: Optimize _ismbcspace_l for ASCII range.
msvcrt: Support anonymous namespace in __unDName().
Ratchanan Srirattanamet (1):
msi: Record feature in assembly publication when package has 2+ features.
Reinhold Gschweicher (1):
msxml3/element: Implement removeAttributeNode function.
Rémi Bernon (76):
gitlab: Install mesa-vulkan-drivers packages.
server: Move class info to the shared memory object.
win32u: Read class info from the shared memory object.
server: Allocate shared memory objects with dynamic size.
server: Move extra class info to the shared memory object.
win32u: Read extra class info from the shared memory object.
win32u: Ensure D3DKMTQueryVideoMemoryInfo usage is smaller than budget.
winevulkan: Treat LPCWSTR and HANDLE as pointer sized types.
win32u: Pass the name of the extension to replace to get_host_extension.
win32u: Swap VK_KHR_external_memory_win32 with the matching host extension.
win32u: Create D3DKMT global resources for exported Vulkan memory.
win32u: Implement Vulkan memory D3DKMT NT shared handle export.
win32u: Implement Vulkan memory D3DKMT global / shared handle import.
win32u: Implement Vulkan memory D3DKMT handle import from name.
maintainers: Assume maintainership of the GL / VK / D3DKMT areas.
opengl32: Remove deprecated WGL_RENDERER_ID_WINE constant.
win32u: Enumerate and initialize EGL devices as separate platforms.
win32u: Initialize some renderer properties with EGL devices.
win32u: Check maximum context versions with EGL devices.
win32u: Check renderer version and video memory from EGL devices.
winevulkan: Swap VK_KHR_external_semaphore_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalSemaphoreProperties.
win32u: Implement export of semaphores as D3DKMT global handles.
win32u: Implement import of semaphores from D3DKMT global handles.
win32u: Implement export of semaphores as D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT object names.
server: Use the object runtime data size for the reply.
server: Don't crash in d3dkmt_share_objects if attributes are invalid.
win32u: Fix swapped security / root object attributes.
win32u: Introduce a new D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE code.
winevulkan: Swap VK_KHR_external_fence_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalFenceProperties.
win32u: Implement export of fences as D3DKMT global handles.
win32u: Implement import of fences from D3DKMT global handles.
win32u: Implement export of fences as D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT object names.
winex11: Flush the thread display after processing every event.
winex11: Remove some arguably unnecessary XFlush calls.
win32u: Check QS_DRIVER bit before calling ProcessEvents.
win32u: Pass the caller class name to NtUserCreateWindowEx.
win32u: Use the caller class name in CREATESTRUCT lpszClass.
win32u: Set CREATESTRUCT lpszClass to the base class name.
winex11: Move colormap ownership to x11drv_client_surface.
winex11: Use the visual depth when creating the client window.
winex11: Lookup visual from EGL config EGL_NATIVE_VISUAL_ID.
win32u: Move fetching window icon out of the drivers.
winex11: Clear WS_VISIBLE to delay showing layered windows.
winex11: Remove unnecessary calls to map_window helper.
winex11: Call window_set_wm_state instead of map_window.
win32u: Use an absolute wait timeout in wait_message.
win32u: Keep waiting on the queue until it gets signaled.
server: Clear QS_RAWINPUT | QS_HARDWARE in get_rawinput_buffer.
win32u: Process internal hardware messages while waiting.
server: Don't set QS_RAWINPUT for internal hardware messages.
winevulkan: Move physical device extension checks around.
winevulkan: Require VK_EXT_map_memory_placed for WOW64 memory export.
winevulkan: Handle WOW64 conversion of SECURITY_ATTRIBUTES.
ntdll: Export wine_server_send_fd to other unix libs.
win32u: Export host memory unix file descriptor.
win32u: Send D3DKMT object fd to wineserver on creation.
win32u: Import vulkan memory from the D3DKMT object fd.
win32u/tests: Avoid closing invalid handle after OpenSharedHandleByName.
win32u: Use local handles in D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE.
win32u: Fix incorrect D3DKMT exported name length.
winex11: Use EGL by default for OpenGL rendering.
server: Target the default or foreground window for internal hardware messages.
winex11: Avoid freeing default colormap.
win32u: Keep exported semaphore fd with the global D3DKMT object.
win32u: Import Vulkan semaphore from the D3DKMT object fd.
win32u: Keep exported fence fd with the D3DKMT global object.
win32u: Import Vulkan fence from the D3DKMT object fd.
winex11: Update WM_HINTS and NET_WM_STATE when WM_STATE isn't.
winex11: Simplify the logic to reset cursor clipping.
winex11: Remove unnecessary extra window hiding condition.
Sven Baars (3):
ntdll: Cast tv_sec to ULONGLONG before multiplying.
mmdevapi/tests: Use %I64u instead of %llu.
winhttp: Use %I64u instead of %llu.
Ugur Sari (1):
netapi32: Add stubs for NetValidatePasswordPolicy and NetValidatePasswordPolicyFree.
Vasiliy Stelmachenok (5):
opengl32: Fix incorrect wglQueryCurrentRendererStringWINE call.
opengl32: Generate entry points for EGL_EXT_device_drm extension.
win32u: Stub WGL_WINE_query_renderer when EGL devices are supported.
win32u: Implement wglQueryCurrentRenderer* with wglQueryRenderer*.
win32u: Implement wglQueryRendererStringWINE with EGL devices.
Vibhav Pant (7):
makedep: Support including generated WinRT metadata in resource files.
cfgmgr32/tests: Add tests to ensure DevGetObjects(Ex) does not de-duplicate requested properties.
windows.devices.enumeration/tests: Add tests for device properties for IDeviceInformation objects.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::FindAllAsyncAqsFilterAndAdditionalProperties.
windows.devices.enumeration: Implement IDeviceInformation::get_Properties.
windows.devices.enumeration: Implement IDeviceInformationStatics::{FindAllAsyncAqsFilterAndAdditionalProperties, CreateWatcherAqsFilterAndAdditionalProperties}.
rometadata: Add stub for IMetaDataTables.
Vijay Kiran Kamuju (1):
bcp47langs: Add stub for GetUserLanguages.
Yuxuan Shui (4):
windows.devices.enumeration: Fix use-after-realloc in devpropcompkeys_append_names.
windows.devices.enumeration: Don't leave dangling pointers if devpropcompkeys_append_names fails.
iphlpapi: Give GetBestRoute2 a SOCKETADDR_INET.
include: Add atomic read/write of pointers.
Zhengyong Chen (1):
imm32: Do not overwrite input context window with GetFocus() in ime_ui_update_window.
Zhiyi Zhang (26):
comctl32/tests: Fix a window leak.
user32: Load version for comctl32 v6 window classes.
comctl32/tests: Add version tests.
comctl32: Separate v5 and v6.
comctl32/tests: Add RegisterClassNameW() tests.
comctl32: Remove user32 control copies in comctl32 v5.
comctl32/tests: Test v6 only exports.
comctl32: Remove taskdialog from comctl32 v5.
comctl32: Remove syslink from comctl32 v5.
comctl32: Remove v6 only exports.
comctl32/tests: Add CCM_SETVERSION tests.
comctl32/toolbar: Don't change Unicode format when handling CCM_SETVERSION.
comctl32/listview: Fix CCM_{GET,SET}VERSION handling.
comctl32/rebar: Fix CCM_{GET,SET}VERSION handling.
comctl32/toolbar: Fix CCM_{GET,SET}VERSION handling.
include: Bump COMCTL32_VERSION to 6.
comctl32/tests: Move toolbar Unicode format tests.
comctl32: Add a helper to handle CCM_SETVERSION messages.
user32/tests: Remove some broken() for older systems in test_comctl32_class().
wintypes: Fix a memory leak.
wintypes: Restore a pointer check in property_value_statics_CreateString().
wintypes: Increase string reference count when property_value_GetString() succeeds.
wintypes: Create a copy for string arrays for property_value_statics_CreateStringArray().
wintypes: Increase string reference count when property_value_GetStringArray() succeeds.
winex11.drv: Ignore fullscreen window config changes.
win32u: Correct a comment.
```
1
0
The Wine development release 10.16 is now available.
What's new in this release:
- Fast synchronization support using NTSync.
- 16-bit apps supported in new WoW64 mode.
- Initial support for D3DKMT objects.
- WinMD (Windows Metadata) files generated and installed.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.16.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.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.16 (total 34):
- #7115 Need for Speed III installer fails in Win9X mode, reporting "Could not get 'HardWareKey' value" (active PnP device keys in 'HKEY_DYN_DATA\\Config Manager\\Enum' missing)
- #21855 Lotus Word Pro 9.8: Windows pull down does not show file names
- #27002 Shadow Company: Left for Dead fails with "No usable 3D Devices installed".
- #32572 Multiple games have no character animation (Alpha Polaris, Face Noir, A Stroke of Fate series)
- #38142 Approach fields box only show 3/4 of one line
- #43124 Overwatch loses focus on respawn
- #44817 Some software protection schemes need ntdll.NtSetLdtEntries to modify reserved LDT entries
- #49195 Multiple 4k demoscene OpenGL demos crash on startup (failure to lookup atom 0xC019 'static' from global atom tables)
- #49905 VbsEdit runs wscript.exe with unsupported switches /d and /u
- #50210 Multiple games need D3DX11GetImageInfoFromMemory implementation (S.T.A.L.K.E.R.: Call of Pripyat, Metro 2033, Project CARS)
- #53767 vbscript fails to handle ReDim when variable is not yet created
- #54670 16-bit applications fail in wow64 mode
- #55151 PC crashes after endlessly eating up memory
- #57877 CMD: Parsing issue: Mismatch in parentheses provoked by trailing tab
- #58156 Star Wars: Jedi Knight - Dark Forces II Demo & other games: won't launch, "smackw32.DLL" failed to initialize (macOS)
- #58204 Winecfg Audio tab doesn't enumerate drivers or show output devices, but test button works.
- #58458 Wolfenstein: The Old Blood (Wolfenstein: The New Order) fails to start with EGL opengl backend
- #58480 winebuild ASLR breaks older DLLs
- #58491 Flickering on video-surveilance-app is back
- #58515 Street Chaves only displays a black screen
- #58534 Grand Theft Auto: Vice City intros play with a black screen
- #58602 Screen Issue in Colin McRae Rally 2
- #58637 SimCity 2000 Windows 95 edition doesn't launch in WoW64 mode
- #58651 Legacy of Kain: Blood Omen black screen on startup but with sound using Verok's patch
- #58666 wine 10.14 fails to build in alpine linux x86
- #58688 Regression: Xenia Canary crashes with STATUS_CONFLICTING_ADDRESSES when starting a game on Wine 10.13+ (works on 10.12)
- #58699 Profi cash 12 user interface is rendered mostly black
- #58700 Regression: Direct3D applications show a blank screen under wined3d in 10.15
- #58705 Wolfenstein: The New Order (Wolfenstein: Old Blood) - the screen is black
- #58710 wmic now also prints system properties since 3c8a072b52f2159e68bfd4e471faf284309201ed
- #58716 Camerabag Pro 2025.2 crashes with unhandled exception (unimplemented function propsys.dll.PropVariantToFileTime) on loading a JPEG
- #58730 Images in iTunes have a white background (see picture)
- #58742 winedbg: Internal crash at 00006FFFFF8CB5E5 (pe_load_msc_debug_info)
- #58744 Missing Type on get_type within dlls/msi/suminfo.c
### Changes since 10.15:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (43):
ntdll: Delay first thread initialization until process init.
ntdll: Use a separate bitmap to keep track of allocated LDT entries.
ntdll: Use the virtual mutex to protect the LDT data.
include: Use latest definitions for PEB fields to replace the old Fls fields.
ntdll: Store the ldt_copy pointer in the PEB and access it from the client side.
server: Remove the server-side LDT support.
ntdll: Replace LDT flags by explicit bit fields.
krnl386: Replace LDT flags by explicit bit fields.
ntdll: Store LDT limit and bits in the same word.
krnl386: Fetch the ldt copy pointer from the PEB.
winebuild: Fetch the ldt copy pointer from the PEB.
ntdll: Allocate the LDT copy only when needed.
ntdll: Handle return length from ThreadDescriptorTableEntry in the common code.
ntdll: Support NtQueryInformationThread(ThreadDescriptorTableEntry) in new wow64 mode.
ntdll: Support setting LDT entries in new wow64 mode.
ntdll: Keep the DOS area clear in new wow64 mode.
tiff: Import upstream release 4.7.1.
ntdll: Restore the macOS RLIMIT_NOFILE workaround.
ntdll/tests: Always restore the APC dispatcher.
ntdll: Clear alignment flag on signal entry also on x86-64.
ntdll: Consistently output one loaddll trace per module.
ntdll: Only return 32-bit PEB for 32-bit process.
win32u/tests: Avoid reading uninitialized data.
wow64cpu: Store the actual segment registers in the wow64 context.
wow64cpu: Store the 32-bit segment registers in the context when entering 32-bit mode.
wow64cpu: Store the 32-bit segment registers in the context on syscalls.
ntdll: Store the actual segment registers in the wow64 context.
ntdll: Trace some segment registers in 64-bit mode.
makedep: Add rules to build winmd files.
wow64cpu: Store the 32-bit segment registers in the context also on Unix calls.
wow64: Support exceptions happening in 16-bit mode.
ntdll: Support exceptions happening in 16-bit mode.
shell: Fix crash in ShellAbout16() when no icon is specified.
makedep: Don't add a trailing slash to installation directories.
makedep: Add a helper to install a data file.
makedep: Add a helper to install a data file from the source dir.
makedep: Add a helper to install a header file.
makedep: Add a helper to install a program.
makedep: Add a helper to install a script.
makedep: Add a helper to install a tool.
makedep: Add a helper to install a symlink.
makedep: Build the install destination string in the common helper.
makefiles: Install winmd files.
Alistair Leslie-Hughes (5):
comdlg32: Correct show parameter passed to ShowWindow.
cryptui: Correct show parameter passed to ShowWindow.
wordpad: Correct show parameter passed to ShowWindow.
include: Add TABLET_DISABLE_PRESSANDHOLD define.
include: Add TOUCH_COORD_TO_PIXEL define.
Anton Baskanov (10):
dmsynth/tests: Check IDirectMusicSynth::Open() default parameter values.
dmsynth/tests: Actually set parameters to zero before calling IDirectMusicSynth::Open().
dmsynth: Remove special handling of zero parameter values in IDirectMusicSynth::Open().
dmsynth: Don't force enable DMUS_EFFECT_REVERB.
winecfg: Allow configuring default MIDI device.
dmsynth/tests: Add tests for GUID_DMUS_PROP_Volume.
dmsynth: Set gain to 6 dB.
dmsynth: Handle GUID_DMUS_PROP_Volume.
fluidsynth: Disable IIR filter resonance hump compensation.
dmsynth: Pre-attenuate voices by center pan attenuation.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
make_unicode: Add some halfwidth mapping exceptions.
mf: Handle start request when session is already running.
Billy Laws (4):
ntdll/tests: Skip broken process suspend test under ARM64 WOW64.
ntdll/tests: Test THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
ntdll: Add a default pBaseThreadInitThunk implementation.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
Christian Costa (1):
d3dx9: Add an initial implementation of UpdateSkinnedMesh().
Connor McAdams (15):
d3dx9/tests: Add tests for D3DFMT_CxV8U8.
d3dx9: Add support for D3DFMT_CxV8U8.
d3dx9: Replace D3DFMT_CxV8U8 with D3DFMT_X8L8V8U8 when creating textures.
d3dx9/tests: Add tests for ATI{1,2} DDS files.
d3dx9/tests: Add a test for DDS_PF_FOURCC flag handling.
d3dx9: Ignore all other DDS pixel format flags if DDS_PF_FOURCC is set.
d3dx10/tests: Add more DDS pixel format tests.
d3dx11/tests: Add more DDS pixel format tests.
d3dx9: Add a tweak to stb_dxt to more closely match native output.
d3dx10: Use shared code in load_texture_data() when possible.
d3dx10: Ignore alpha channel values for WICPixelFormat32bppBGR BMP images.
d3dx10: Add support for decompressing BC4 and BC5 formats.
d3dx10: Add support for compressing BC4 and BC5 formats.
d3dx10: Exclusively use shared code to load DDS files in load_texture_data().
d3dx10: Exclusively use shared code in load_texture_data().
David Kahurani (4):
xmllite/writer: Implement WriteNmToken().
xmllite/writer: Implement WriteQualifiedName().
xmllite/writer: Implement WriteEntityRef().
xmllite/writer: Implement WriteName().
Dmitry Kislyuk (1):
wscript: Ignore /d and /u.
Dmitry Timoshkov (15):
winex11.drv: Remove a no longer valid assert().
ntdll/tests: Add some tests for NtSetLdtEntries.
comdlg32: Properly translate Flags and PageRanges to PRINTDLGEX.
runas: Add initial implementation.
ws2_32/tests: Add a simple test for WSAProviderConfigChange().
ws2_32: Return a socket from WSAProviderConfigChange() stub.
ole32/tests: Add a test for IPropertySetStorage::Open() with STGM_TRANSACTED flag.
ole32: Ignore STGM_TRANSACTED in IPropertySetStorage::Open().
ole32: Print correct entry name in a trace when reading storage dictionary.
ole32: Write padding to a dictionary entry only when necessary.
ole32: Clear dirty flag in IPropertyStorage::Commit().
gdiplus: Handle PixelFormatPAlpha separately in alpha_blend_hdc_pixels().
secur32: Add QuerySecurityContextToken() stub implementation to the LSA wrapper.
d2d1: Implement D2D1CreateDeviceContext().
d2d1: Add a test for D2D1CreateDeviceContext().
Elizabeth Figura (23):
user32/tests: Test MDI menu updating when window titles are changed.
user32: Always refresh the MDI menu on WM_MDISETMENU.
setupapi/tests: Test SetupGetBinaryField().
setupapi: Parse a 0x prefix in SetupGetBinaryField().
ntdll: Check inproc sync signal rights in signal and wait.
wined3d: Use malloc() for the private store.
user32/tests: Test integral resizing of listboxes.
comctl32/tests: Test integral resizing of listboxes.
comctl32/listbox: Ignore the horizontal scrollbar when setting integral height.
ntdll: Introduce a helper to wait on a server-side sync object.
ddraw/tests: Use ANSI versions of user32 functions.
winebth.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
winebus.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
wineusb.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
ntoskrnl.exe: Create keys for devices in HKEY_DYN_DATA\Config Manager\Enum.
ddraw/tests: Do not validate that vidmem D32 is not supported.
ddraw/tests: Fix test_caps() on Windows 98.
ddraw/tests: Test dwZBufferBitDepths.
ddraw: Fill dwZBufferBitDepths.
server: Create an inproc sync for user APC signaling.
ntdll: Validate expected inproc sync type in get_inproc_sync.
ntdll: Use in-process synchronization objects.
ntdll: Cache in-process synchronization objects.
Eric Pouech (22):
certutil: Implement -decodehex command.
cmd: Generate binary files with certutil.
cmd: Only set console's default color when provided.
cmd: Fix some initial env variables setup.
cmd: Fix context detection in cmd /c.
cmd: Don't use page mode for stderr.
cmd: Introduce helper to push/pop i/o handles for redirections.
cmd: Ensure that all output to STD_OUTPUT go through WCMD_output_asis.
cmd: Let WCMD_fgets() work properly when reading from a pipe.
cmd: Use a global input handle for console.
cmd: Let WCMD_ask_confirm Use WCMD_fgets().
cmd: Let WCMD_setshow_date() use WCMD_fgets().
cmd: Let WCMD_setshow_env() use WCMD_fgets().
cmd: Let WCMD_label() use WCMD_fgets().
cmd: Add tests showing that MORE outputs to CONOUT$ not stdout.
cmd: Clean up and enhance MORE command implementation.
cmd: Let WCMD_setshow_time() use WCMD_fgets().
cmd: Let WCMD_wait_for_input() no longer use WCMD_ReadFile().
cmd: Get rid of WCMD_ReadFile.
winedbg: Simplify fetching module name.
dbghelp: Add public symbols out of export table when no debug info is present.
dbghelp: Don't crash on stripped image without DEBUG directories.
Francis De Brabandere (1):
vbscript: Allow redim without a prior dim.
Giovanni Mascellani (15):
mmdevapi/tests: Remove a flaky test.
mmdevapi/tests: Introduce a helper to read many packets when capturing.
mmdevapi/tests: Check that GetBuffer() fails when no packet is available.
mmdevapi/tests: Check that GetBuffer() returns a packet of the expected size.
mmdevapi/tests: Check that the received packet isn't larger than the padding.
mmdevapi/tests: Test releasing a buffer without consuming it and getting it again.
mmdevapi/tests: Check that releasing a buffer of the wrong size fails.
mmdevapi/tests: Test acquiring and releasing the buffer out of order.
mmdevapi/tests: Check that captured packets are consecutive.
mmdevapi/tests: Test calling GetNextPacketSize() after GetBuffer().
mmdevapi/tests: Replace a few tests with read_packets().
mmdevapi/tests: Check discontinuities after having started capturing.
mmdevapi/tests: Check that the capture buffer is empty after processing packets.
mmdevapi/tests: Sleep for 600 ms to guarantee a buffer overrun.
mmdevapi/tests: Remove a wrong test about packet sizes.
Hans Leidekker (8):
wbemprox: Support WBEM_FLAG_NONSYSTEM_ONLY in class_object_Next().
wmic: Only list non-system properties.
bcrypt: Add support for named curves.
msi: Support PID_EDITTIME in MsiSummaryInfoSetProperty().
wbemprox: Implement Win32_LocalTime.
widl: Add metadata support for imported types.
widl: Store name and namespace string index.
widl: Fix order of exclusiveto attribute.
Jacek Caban (2):
winebuild: Use .rdata section instead of .rodata on PE targets.
opengl32: Propagate GL errors from wow64 wrappers.
Jiangyi Chen (2):
ole32/tests: Add tests for StgOpenStorageOnILockBytes().
ole32: Fix the return value for StgOpenStorageOnILockBytes().
Jinoh Kang (10):
fluidsynth: Fix g_atomic_int_add() return value.
fluidsynth: Fix data race in g_get_monotonic_time().
fluidsynth: Fix g_mutex_init() and g_cond_init().
fluidsynth: Fix double close of thread handle in g_thread_unref().
fluidsynth: Use full memory barrier in g_atomic_int_get().
fluidsynth: Round up sleep duration in g_usleep().
fluidsynth: Fix argument flag handling in g_file_test().
fluidsynth: Fix definition of g_atomic_int_dec_and_test().
fluidsynth: Return thread return value from g_thread_join().
fluidsynth: Use InterlockedExchangeAdd() in g_atomic_int_add().
Joe Souza (5):
cmd/tests: Add test to check for TYPE truncation in binary mode.
cmd: Refactor WCMD_copy_loop out of WCMD_ManualCopy, and stop copy loop at EOF for /a mode.
cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
cmd/tests: Test that DIR /Oxxx at the command line overrides DIRCMD=/Oyyy set in the environment.
cmd: Allow DIR /Oxxx at the command line to override DIRCMD=/Oyyy set in the environment.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (4):
wmic: Add "qfe" alias.
wbemprox: Add two hotfixid's for Windows 7 to Win32_QuickFixEngineering.
wmic: Add a basic help option "/?".
shell32: Add explicit ordinal for SHMultiFileProperties.
Maotong Zhang (1):
ole32/tests: Add some tests for "CurVer" handling.
Michael Müller (1):
user32/listbox: Ignore the horizontal scrollbar when setting integral height.
Nikolay Sivov (65):
dwrite: Always initialize 'contours' flag.
dwrite/layout: Always initialize effective run bounding box.
dwrite/layout: Do not shadow output parameter.
dwrite/opentype: Use mask shifts only for non-zero masks.
win32u/tests: Fix missing test message context pop.
dwrite/tests: Add some more tests for ConvertFontToLOGFONT().
dwrite: Check against local file loader in ConvertFontToLOGFONT().
dwrite: Remove system collection marker.
dwrite: Mark system font sets.
dwrite: Create both WWS and typographic system collections using system font set.
dwrite: Create custom collections using font sets.
dwrite: Simplify collection initialization helper.
dwrite: Remove nested structures in fontset entries.
dwrite: Cache set elements for returned system sets.
dwrite/tests: Add a small test for EUDC collection.
dwrite: Reuse font set entries to return set instances for collections.
xmllite/tests: Add some more tests for WriteNmToken().
mf: Implement MFTranscodeGetAudioOutputAvailableTypes().
dwrite/tests: Add more tests for CreateFontFileReference().
dwrite: Use uppercase paths for local file loader keys.
dwrite: Fail file reference creation when timestamp is inaccessible.
dwrite/tests: Add another CreateFontFaceReference() test with inaccessible file.
xmllite/tests: Add some more implicit flushing tests.
xmllite/write: Improve error handling in WriteCharEntity().
xmllite/writer: Improve error handling in WriteNmToken().
xmllite/writer: Improve error handling in WriteWhitespace().
xmllite/writer: Improve error handling in WriteSurrogateCharEntity().
xmllite/writer: Improve error handling in WriteStartDocument().
xmllite/writer: Improve error handling in WriteCData().
xmllite/writer: Improve error handling in WriteComment().
xmllite/writer: Improve error handling in WriteProcessingInstruction().
xmllite/writer: Remove duplicate check for whitespaces.
xmllite/writer: Improve error handling WriteDocType().
xmllite/writer: Improve error handling in WriteEndElement().
xmllite/writer: Improve error handling in WriteEndDocument().
propsys: Add PropVariantToFileTime() semi-stub.
propsys: Add PropVariantToUInt32Vector() semi-stub.
xmllite/writer: Improve error handling in WriteChars().
xmllite/writer: Improve error handling in WriteString().
xmllite/writer: Improve error handling in WriteFullEndElement().
xmllite/writer: Improve error handling in WriteElementString().
xmllite/writer: Improve error handling in WriteRaw().
xmllite/tests: Add a few more tests for WriteDocType().
xmllite/writer: Improve error handling in WriteAttributeString().
xmllite/writer: Improve error handling when writing namespace defitions.
xmllite/writer: Improve error handling in WriteStartElement().
xmllite/writer: Handle empty names in WriteStartElement().
xmllite/tests: Add more tests for name validation when writing.
xmllite/writer: Improve NCName validation.
xmllite/writer: Remove now unnecessary helper.
xmllite/writer: Output element stack on release.
xmllite/writer: Output element stack on SetOutput().
windowscodecs: Remove IWICWineDecoder interface.
odbc32: Implement SQLErrorW() for ANSI win32 drivers.
odbc32: Add some fixmes for SQLError() on top of driver's SQLGetDiagRec().
odbc32: Implement SQLDriverConnectW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ODBC_API_CONFORMANCE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_STATEMENTS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_CONNECTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DRIVER_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TXN_CAPABLE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DBMS_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DATA_SOURCE_READ_ONLY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_IDENTIFIER_QUOTE_CHAR) for ANSI win32 drivers.
odbc32: Implement SQLExecDirectW() for ANSI win32 drivers.
Patrick Hibbs (1):
inf: Add Windows Media Player related registry keys.
Paul Gofman (24):
iphlpapi/tests: Add more tests for GetBestRoute().
nsi/tests: Add test for ipv4 loopback routes presence.
nsiproxy.sys: Explicitly add loopback entries to ipv4 forward table on Linux.
nsi: Match struct nsi_tcp_conn_dynamic size to up to date Win11.
nsiproxy.sys: Only enumerate active routes in ipv6_forward_enumerate_all() on Linux.
nsiproxy.sys: Improve loopback detection in ipv6_forward_enumerate_all() on Linux.
iphlpapi: Fully zero init address in unicast_row_fill().
iphlpapi: Implement GetBestRoute2().
iphlpapi: Reimplement GetBestInterfaceEx() on top of GetBestRoute2().
iphlpapi/tests: Add tests for best routes.
iphlpapi: Try to disambiguate addresses in GetBestRoute2() by probing system assigned ones.
user32/tests: Add test for CB size after setting font.
user32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
comctl32/tests: Also call test_combo_setfont() with CBS_OWNERDRAWFIXED.
comctl32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
ntdll: Initialize segments registers in the frame in call_user_mode_callback().
ntdll: Handle invalid FP state in usr1_handler() on x86-64.
ntdll: Handle invalid FP state in usr1_handler() on i386.
win32u: Implement NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME ).
user32/tests: Add test for (no) messages during TrackMouseEvent() call.
win32u: Use internal message to handle NtUserTrackMouseEvent() for other thread window.
win32u: Move mouse tracking info into per-thread data.
win32u: Track mouse events based on last mouse message data.
user32/tests: Don't leak thread handle in test_TrackMouseEvent().
Ratchanan Srirattanamet (1):
msi: Fix MsiEnumFeatures[AW]() by make it look at the correct registry.
Reinhold Gschweicher (1):
msxml3/tests: Add test for IXMLDOMElement_removeAttributeNode.
Rémi Bernon (68):
server: Create a shared object for window classes.
server: Write class name to the shared memory object.
win32u: Use NtUserGetClass(Long|Name)W in needs_ime_window.
server: Keep a class object locator in the window shared object.
win32u: Read class name from the shared memory object.
win32u: Validate the drawable surface window before reusing.
wineandroid: Keep the client ANativeWindow with the window data.
wineandroid: Use detach_client_surfaces to invalidate drawables.
winex11: Always notify the surface that it has been presented.
server: Use a specific type for internal inproc event syncs.
ntdll: Remove workaround for macOS RLIMIT_NOFILE.
wineserver: Request RLIMIT_NOFILE maximum allowed value.
server: Rename queue is_signaled to get_queue_status.
server: Do not clear queue masks in msg_queue_satisfied.
server: Remove skip_wait flag from set_queue_mask.
win32u: Use a specific opengl_drawable function for context changes.
win32u: Avoid swapping / flushing drawables with destroyed windows.
server: Return early if there's no queue in queue requests.
server: Move hooks_count to the end of the queue_shm_t struct.
win32u: Move the message queue access time to shared memory.
server: Use monotonic_time as queue access time base.
win32u: Check the queue access time from the shared memory.
winex11: Avoid presenting invalid offscreen window rects.
win32u/tests: Test that global d3dkmt handles aren't leaked.
win32u: Use array indexes for d3dkmt handles.
server: Create server-side global D3DKMT objects.
server: Allocate global D3DKMT handles for objects.
win32u: Implement creation of D3DKMT sync objects.
win32u: Implement creation of D3DKMT resource objects.
win32u: Pass D3DKMT object runtime data to wineserver.
win32u: Implement NtGdiDdDDIQueryResourceInfo.
server: Update queue access time in set_queue_mask request.
win32u: Check the queue access time before skipping set_queue_mask.
server: Use the access time and signal state to detect hung queue.
server: Remove the now unnecessary queue waiting flag.
cfgmgr32: Call devprop_filters_validate recursively.
cfgmgr32: Pass filter ranges to helper functions.
win32u: Implement opening of D3DKMT global handles.
win32u: Implement NT sharing of D3DKMT sync objects.
win32u: Implement sharing of D3DKMT resource objects.
win32u: Implement querying D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT shared handles from names.
server: Introduce an internal queue bits field.
server: Use the internal bits to signal the queue sync.
win32u: Process all driver events when waiting on queue.
win32u: Wrap ProcessEvents calls in process_driver_events helper.
win32u: Avoid a crash when unsetting current context.
server: Use a dedicated internal bit for queued hardware messages.
win32u: Check for pending hardware messages after processing events.
win32u: Return TRUE from ProcessEvents after emptying the event queue.
win32u: Notify wineserver after processing every driver event.
server: Continuously poll on queue fd for driver events.
server: Remove mostly unnecessary thread own queue check.
server: Use an internal event sync for message queues.
win32u/tests: Test creating shared resources with D3D9Ex.
win32u/tests: Test importing shared resources into D3D9Ex.
win32u/tests: Test importing shared resources into OpenGL.
win32u/tests: Test creating shared resources with D3D10.
win32u/tests: Test creating shared resources with D3D11.
win32u/tests: Test creating shared resources with D3D12.
win32u/tests: Test creating shared resources with Vulkan.
win32u/tests: Test importing shared resources into Vulkan.
server: Use a separate helper to create internal event syncs.
server: Explicitly create an internal server sync for debug events.
server: Signal event server / inproc syncs using the signal op.
server: Use struct object pointers for object syncs.
ntdll: Receive the user apc inproc sync fd on alertable waits.
Sebastian Lackner (1):
user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.
Stian Low (2):
ntdll: Implement NtSetEventBoostPriority().
ntdll/tests: Add tests for NtSetEventBoostPriority().
Tim Clem (1):
wbemprox: Use setupapi to enumerate video controllers.
Vasiliy Stelmachenok (1):
win32u: Handle errors when creating EGL context.
Vibhav Pant (9):
cfgmgr32: Always check the DEVPROP_OPERATOR_EQUALS mask while evaluating comparison filters.
propsys: Use VT_LPWSTR as the property type for System.Devices.DeviceInstanceId.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
windows.devices.enumeration: Support parsing AQS filters in IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
maintainers: Add a section for Windows.Devices.Enumeration.
windows.devices.enumeration: Ensure that all AQS logical operators bind left to right.
cfgmgr32/tests: Add additional tests for device query filters.
cfgmgr32: Implement support for logical operators in DEVPROP_FILTER_EXPRESSION.
vccorlib140: Emit RTTI for Platform::Type.
Yuxuan Shui (1):
mf: Add a SUBMITTED command state to avoid multiple submission of the same op.
Zhengyong Chen (1):
imm32: Ensure HIMC is unlocked in ImmGenerateMessage.
```
1
0
The Wine development release 10.15 is now available.
What's new in this release:
- Unicode character tables updated to Unicode 17.0.0.
- Zip64 support in Packaging services.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.15.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.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.15 (total 16):
- #51345 Regression: Visual Studio 2005 "package load failure"
- #56278 wayland: dropdowns is rendered as toplevel
- #57192 X11DRV_SetCursorPos breaks when xinput "Coordinate Transformation Matrix" is customized
- #57444 Multiple games crashes with new wow64 ("pop gs" behaves differently in 64bit compatibility mode) (Exertus darkness, Claw, Bloodrayne Demo)
- #57478 Sims 2 black-screen when running with Nvidia 470.256.02 and dxvk 1.10.3
- #57912 cmd: not every ( is a command grouping
- #57913 cmd: echo(abc is misparsed
- #58027 trivial use of Win32 GNU make fails
- #58335 Wine can fail if avx is not available
- #58503 Resource leak in wayland_pointer_set_cursor_shape can cause mouse cursor to dissappear after exhausting gdi handles
- #58513 Wine 10.9 completely broke (LGA775 Core2Quad)
- #58585 unnamed keymap layout leads to null pointer dereference in find_xkb_layout_variant
- #58614 wine cmd prints "::" style comments
- #58619 Steam fails to launch
- #58635 CapCut crashes upon launch, needs unimplemented function IPHLPAPI.DLL.SetPerTcp6ConnectionEStats
- #58636 CapCut installer fails: CreateFileW with FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS should create a directory instesd of a file.
### Changes since 10.14:
```
Alex Henrie (1):
wineboot: Fix a memory leak in create_computer_name_keys.
Alexandre Julliard (15):
faudio: Import upstream release 25.09.
png: Import upstream release 1.6.50.
tools: Upgrade the config.guess/config.sub scripts.
makedep: Build tool names once at startup.
ntdll: Swap the mxcsr register value between PE and Unix.
gitlab: Merge the platform docker files back into a single file.
gitlab: Install the conflicting i386 gstreamer packages manually.
ntdll: Save mxcsr explicitly in the xsavec code path.
maintainers: List gitlab usernames.
gitlab: Add CI job to trigger winehq-bot processing.
ntdll: Move some LDT definitions to the private header.
ntdll: Add a helper to update the LDT copy.
ntdll: Add helpers to build some specific LDT entries.
ntdll: Always use 32-bit LDT base addresses.
nls: Update character tables to Unicode 17.0.0.
Alexandros Frantzis (1):
winewayland: Fix GDI object leak.
Alfred Agrell (1):
preloader: Make thread_ldt reference position independent.
Alistair Leslie-Hughes (2):
winmm: Always call MCI_UnmapMsgAtoW in mciSendCommandA.
winmm: MCI_MapMsgAtoW return error code directly instead of a tri-value.
Bartosz Kosiorek (1):
gdi32: From Windows 2000 FixBrushOrgEx() is a NOP.
Bernhard Übelacker (1):
winedbg: Reserve more memory for symbol value (ASan).
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH test.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH flag.
Brendan Shanks (4):
crypt32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
secur32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
ntdll: Fix crash in check_invalid_gsbase() on macOS.
dbghelp: Don't try to load 64-bit ELF/Mach-O debug info in a Wow64 process.
Carlo Bramini (1):
winmm: WaveOutGetID: Return correct id for WAVE_MAPPER.
Christian Tinauer (1):
crypt32: Accept PKCS12_ALWAYS_CNG_KSP flag and fall back to standard import.
Connor McAdams (12):
d3dx10/tests: Add more DDS file DXGI format mapping tests.
d3dx10/tests: Add more DDS file header handling tests.
d3dx10: Add support for parsing DXT10 DDS headers to shared code.
d3dx10: Only validate header size for DDS files in d3dx10.
d3dx10: Add support for DXGI formats in d3dx_helpers.
d3dx10: Exclusively use shared code for parsing DDS files in get_image_info().
d3dx10: Add support for d3dx10+ image file formats in shared code.
d3dx10: Exclusively use shared code for parsing all files in get_image_info().
d3dx11_42: Don't share source with d3dx11_43.
d3dx11/tests: Add a helper function for checking image info structure values.
d3dx11/tests: Import more image info tests from d3dx10.
d3dx11: Implement D3DX11GetImageInfoFromMemory() using shared code.
Dmitry Timoshkov (1):
gdiplus: Manually blend to white background if the device doesn't support alpha blending.
Elizabeth Figura (7):
ntdll: Add some traces to synchronization methods.
ntdll: Add stub functions for in-process synchronization.
ntdll: Retrieve and cache an ntsync device on process init.
server: Create inproc sync events for message queues.
server: Add a request to retrieve the inproc sync fds.
ntdll: Check inproc sync handle access rights on wait.
quartz/tests: Fix a failing test in test_video_window_owner().
Eric Pouech (14):
cmd/tests: Add tests about opening/closing parenthesis.
cmd: Don't create binary node with NULL RHS.
cmd: Simplify builtin ECHO implementation.
cmd: Fix handling of '(' in echo commands.
cmd: Fix unmatched closing parenthesis handling.
cmd/tests: Add more tests about ERASE builtin command.
cmd: Fix return code for ERASE builtin command.
cmd/tests: Add tests about (not) echoing labels.
cmd: Don't display labels when echo mode is ON.
cmd: Simplify setting console colors.
cmd: Reuse exiting execution related helpers in wmain().
cmd: Finish moving command line handling in dedicated helpers.
cmd: cmd /c or /k shall handle ctrl-c events properly.
cmd: No longer reformat output according to console width.
Gabriel Ivăncescu (13):
mshtml: Implement DOMParser constructor and instance object.
mshtml: Move document dispex info initialization to create_document_node.
mshtml: Use Gecko's responseXML to create the XML document in IE10 and up.
mshtml: Fallback to text/xml for unknown content types ending with +xml in get_mimeType.
mshtml: Implement anchors prop for XML documents.
mshtml: Implement DOMParser's parseFromString.
mshtml: Use actual prop name after looking it up case insensitively on window.
mshtml: Set non-HTML elements' prototype to ElementPrototype.
mshtml: Expose toJSON only in IE9+ modes.
mshtml: Don't expose toString from Performance* objects' prototypes in IE9+ modes.
mshtml: Implement toJSON() for PerformanceTiming.
mshtml: Implement toJSON() for PerformanceNavigation.
mshtml: Implement toJSON() for Performance.
Gerald Pfeifer (1):
ntdll: Fix the build of check_invalid_gsbase() on FreeBSD.
Hans Leidekker (15):
include: Comment references to undefined member interfaces.
include: Define IContentTypeProvider, IInputStream and IInputStreamReference.
include: Define IUser.
include: Define IAcceleratorKeyEventArgs and ICoreAcceleratorKeys.
include: Define IKeyCredential and related types.
include: Define IRfcommServiceId.
msi: Allow pre-2.0 assemblies to be installed using 2.0 fusion.
include: Define more USB interfaces.
include: Define IImageDisplayProperties and IVideoDisplayProperties.
include: Define IMediaEncodingProperties and IAudioEncodingPropertiesWithFormatUserData.
include: Define IHolographicCamera and related types.
include: Define IOnlineIdServiceTicket and IOnlineIdSystemIdentity.
include: Add missing parameterized interface declarations.
widl: Require member interfaces to be defined.
widl: Support additional deprecated declarations.
Haoyang Chen (1):
ntdll: Fix a buffer overflow in wcsncpy.
Jacek Caban (8):
opengl32/tests: Add memory mapping tests.
opengl32: Simplify wow64 memory mapping error handling.
opengl32: Implement wrap_wglCreateContext on top of wrap_wglCreateContextAttribsARB.
opengl32: Factor out free_context.
opengl32: Introduce a wow64 buffer wrapper.
opengl32: Move copy buffer allocation to Unix lib.
opengl32: Use generated PE thunks for memory mapping functions.
opengl32: Use generated PE thunks for memory unmapping functions.
Joe Souza (1):
cmd: Treat COPY from CON or CON: as ASCII operation.
Kevin Puetz (1):
oleaut32: Fix UDT record block leak in VariantClear().
Louis Lenders (2):
iphlpapi: Add stub for SetPerTcp6ConnectionEStats.
iphlpapi: Add stub for GetPerTcp6ConnectionEStats.
Matteo Bruni (7):
hidclass: Set Status for pending IRPs of removed devices to STATUS_DEVICE_NOT_CONNECTED.
hidclass: Fix check for early IRP cancellation.
nsiproxy: Fix check for early IRP cancellation.
dinput/tests: Fix check for early IRP cancellation.
http.sys: Fix check for early IRP cancellation.
winetest: Print Windows revision (UBR).
d3dx10_33/tests: Enable tests.
Mohamad Al-Jaf (12):
include: Add windows.media.playback.idl.
windows.media.playback.backgroundmediaplayer: Add stub dll.
windows.media.playback.backgroundmediaplayer: Add IBackgroundMediaPlayerStatics stub.
windows.media.playback.mediaplayer: Implement IActivationFactory::ActivateInstance().
windows.media.mediacontrol: Stub ISystemMediaTransportControls::add/remove_ButtonPressed().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::ClearAll().
windows.media.mediacontrol: Implement ISystemMediaTransportControls::put/get_IsStopEnabled().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::put/get_Thumbnail().
windows.media.playback.backgroundmediaplayer: Implement IBackgroundMediaPlayerStatics::get_Current().
include: Add IMediaPlayer2 definition.
windows.media.playback.mediaplayer: Add IMediaPlayer2 stub.
windows.media.playback.mediaplayer: Implement IMediaPlayer2::get_SystemMediaTransportControls().
Nikolay Sivov (17):
opcservices/tests: Use wide-char strings.
opcservices/tests: Remove Vista workarounds.
opcservices/tests: Use stricter return values checks.
opcservices: Fix MoveNext() at the collection end.
opcservices/tests: Add more tests for MovePrevious().
opcservice: Fix iteration with MovePrevious().
opcservices/tests: Use message context in some tests.
opcservices: Make it clear which structures are specific to zip32.
opcservices: Use 64-bit file sizes.
opcservices: Add support for writing Zip64 packages.
opcservices: Improve error handling when writing archives.
opcservices: Use stdint types for the file header.
opcservices: Set compression method according to part's compression options.
opcservices: Use explicit field for the part name.
combase/tests: Suppress trace messages from the test dll.
opcservices: Remove separate part name allocation.
vccorlib: Fix out of bounds access in debug helper (Coverity).
Patrick Hibbs (2):
mmdevapi: Set DEVPKEY_Device_Driver during MMDevice_Create().
winecfg: Fix audio tab by fetching the default device's audio driver.
Paul Gofman (15):
ntdll: Zero aligned size in initialize_block().
winevulkan: Handle NULL buffer pointer in vkFreeCommandBuffers().
nsiproxy.sys: Use a separate critical section to sync icmp echo IRP cancel.
iphlpapi: Use IOCP callback for echo async completion.
win32u: Bump AMD internal driver version.
kernel32/tests: Add tests for UnhandledExceptionFilter().
kernelbase: Avoid recursive top exception filter invocation for nested exceptions.
kernelbase: Return EXCEPTION_CONTINUE_SEARCH from UnhandledExceptionFilter() for nested exceptions.
dbghelp: Use GetCurrentProcess() special handle in EnumerateLoadedModulesW64() if possible.
wbemprox: Fix CIM_UINT16 handling in to_safearray().
wbemprox: Add MSFT_PhysicalDisk table.
wbemprox: Return an error from class_object_Next() for non-zero flags.
wbemprox: Enumerate system properties in class_object_Next().
iphlpapi: Fix ipforward_row_cmp().
iphlpapi: Fix udp_row_cmp().
Rémi Bernon (90):
dataexchange: Register runtimeclasses explicitly.
geolocation: Register runtimeclasses explicitly.
graphicscapture: Register runtimeclasses explicitly.
hvsimanagementapi: Register runtimeclasses explicitly.
iertutil: Register runtimeclasses explicitly.
threadpoolwinrt: Register runtimeclasses explicitly.
windows.devices.bluetooth: Register runtimeclasses explicitly.
windows.devices.enumeration: Register runtimeclasses explicitly.
windows.devices.usb: Register runtimeclasses explicitly.
windows.gaming.input: Register runtimeclasses explicitly.
win32u: Pass struct vulkan_physical_device pointer to drivers.
winevulkan: Simplify VkDefine and typedefs generation.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Simplify function pointer generation.
winevulkan: Simplify struct generation ordering.
windows.gaming.ui.gamebar: Register runtimeclasses explicitly.
windows.media.devices: Register runtimeclasses explicitly.
windows.media.mediacontrol: Register runtimeclasses explicitly.
windows.media.speech: Register runtimeclasses explicitly.
windows.media: Register runtimeclasses explicitly.
windows.networking.connectivity: Register runtimeclasses explicitly.
windows.networking.hostname: Register runtimeclasses explicitly.
windows.perception.stub: Register runtimeclasses explicitly.
windows.security.authentication.onlineid: Register runtimeclasses explicitly.
windows.security.credentials.ui.userconsentverifier: Register runtimeclasses explicitly.
windows.web: Register runtimeclasses explicitly.
include: Remove now unnecessary DO_NO_IMPORTS ifdefs.
winevulkan: Move physical_device memory properties to vulkan_driver.h.
winevulkan: Move extensions to struct vulkan_physical_device.
winevulkan: Get rid of struct wine_vk_phys_dev.
winevulkan: Move physical device pointers to struct vulkan_instance.
win32u: Move device memory object wrapper from winevulkan.
win32u: Move external host memory allocation to a separate helper.
include: Add declarations for some d3dkmt functions.
win32u: Stub NtGdiDdDDICheckOcclusion syscall.
win32u/tests: Move d3dkmt tests from gdi32.
win32u/tests: Check D3DKMT local handle allocation.
win32u: Implement d3dkmt local handle allocation.
winevulkan: Order the win32 structs as other structs.
winevulkan: Simplify struct conversion enumeration.
winevulkan: Build the struct extension list lazily.
winevulkan: Enumerate struct extensions with the registry structs.
winevulkan: Avoid converting unexposed extensions structs.
winevulkan: Generate structs for external memory fds.
winevulkan: Force copy some memory, buffer and image struct chains.
win32u: Strip unsupported structs from vkAllocateMemory chain.
win32u: Strip unsupported structs from vkCreateBuffer chain.
win32u: Strip unsupported structs from vkCreateImage chain.
win32u: Hook VK_KHR_external_memory_win32 functions.
winevulkan: Remove leftover external image functions moved to win32u.
win32u: Pass memory type flags to allocate_external_host_memory.
win32u: Fix missing NULL initialization of NtAllocateVirtualMemory parameter.
wintypes/tests: Check IAgileObject interface on map objects.
wintypes: Introduce a generic IMap stub implementation.
wintypes: Implement a generic IMap<HSTRING, IInspectable>.
wintypes: Introduce a locked IMap<HSTRING, IInspectable> implementation.
winevulkan: Force copying wrapped handle arrays.
winevulkan: Force copying the VkSubmitInfo(2) struct chains.
winevulkan: Move command buffer wrapper to vulkan_driver.h.
win32u: Hook vkQueueSubmit and vkQueueSubmit2 functions.
win32u: Hook VK_KHR_win32_keyed_mutex related functions.
win32u: Hook VK_KHR_external_semaphore_win32 related functions.
win32u: Hook VK_KHR_external_fence_win32 related functions.
winebus: Match match gamepad dpad buttons with XUSB / GIP.
win32u: Stub NtGdiDdDDIOpenNtHandleFromName.
wow64win: Initialize output NtGdiDdDDI* parameters too.
wow64win: Fix NtGdiDdDDICreateAllocation* output conversion.
win32u/tests: Test D3DKMT synchronization object creation.
win32u/tests: Test D3DKMT keyed mutex object creation.
win32u/tests: Test D3DKMT allocation object creation.
win32u/tests: Test D3DKMT objects NT handle sharing.
winevulkan: Simplify device enabled extension conversion.
winevulkan: Check surface_maintenance1 before using swapchain_maintenance1.
win32u: Assume the VkPresentInfoKHR struct is copied in the thunks.
winevulkan: Force copy of the VkSemaphoreSubmitInfo struct chain.
win32u: Wrap vulkan semaphore objects.
win32u: Wrap vulkan fence objects.
d3d8/tests: Flag some tests as todo_wine.
d3d9/tests: Flag some tests as todo_wine.
opengl32/tests: Test that window back buffers are shared.
include: Use the client pointer in debugstr_opengl_drawable.
win32u: Move memory DC pbuffer handling out of context_sync_drawables.
win32u: Use context->draw directly when flushing context.
win32u: Swap the last window drawable if there's no context.
win32u: Introduce an context_exchange_drawables helper.
win32u: Rename window opengl drawable to current_drawable.
win32u: Keep a separate pointer for unused opengl drawable.
win32u: Don't store the window OpenGL drawables on the DCs.
Santino Mazza (2):
dinput: Set per monitor aware DPI awareness in the worker thread.
win32u: Map raw coordinates to virtual screen in low-level hooks.
Spencer Wallace (1):
msxml3: Correct looping of Document Element properties.
Tim Clem (1):
dxcore: Use a static structure for the adapter factory.
Tyson Whitehead (2):
winebus: Unspecified condition blocks are full strength.
joy.cpl: Play condition effects on indicated axis too.
Vibhav Pant (15):
opcservices/tests: Add tests for ReadPackageFromStream.
opcservices/tests: Add some more tests for MoveNext().
windows.applicationmodel/tests: Add tests for exposing inproc WinRT classes through the manifest.
opcservices: Mark entries according to compression mode.
wintypes: Make a copy of the passed string in IPropertyValueStatics::CreateString.
combase: Add stubs for HSTRING_User{Size, Marshal, Unmarshal, Free}.
combase/tests: Add tests for HSTRING marshaling methods.
combase: Implement HSTRING_UserSize.
combase: Implement HSTRING_UserMarshal.
combase: Implement HSTRING_User{Unmarshal, Free}.
combase/tests: Add RoGetAgileReference tests with agile objects.
combase: Don't marshal objects that implement IAgileObject in RoGetAgileReference.
wintypes/tests: Add tests for PropertySet::{Insert, Lookup, HasKey}.
wintypes/tests: Add tests for IMapView.
wintypes: Introduce a serial to track IMap state changes.
Yuxuan Shui (2):
opcservices: IOpcPart::GetContentType takes LPWSTR, not BSTR.
winegstreamer: Free stream buffers before wg_parser_disconnect.
Zhiyi Zhang (4):
gdi32: Use the maximum number of colours when biClrUsed is zero.
gdi32/tests: Test recording StretchDIBits() for bitmaps with zero biClrUsed field in EMFs.
gdi32/tests: Test recording SetDIBitsToDevice() for bitmaps with zero biClrUsed field in EMFs.
Revert "wineps: Use the correct colours when a monochrome bitmap without a colour table is the source.".
Ziqing Hui (2):
mf/tests: Test GetOutputStatus for video processor.
winegstreamer: Add semi-stub implementation for video_processor_GetOutputStatus.
Zowie van Dillen (2):
opengl32/tests: Add 16-bit bitmap rendering tests.
winex11: Check pbuffer bit instead of pixmap bit for bitmap rendering.
```
1
0
The Wine development release 10.14 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.17.
- Mono engine updated to version 10.2.0.
- Support for ping on IPv6.
- Gitlab CI now running on Debian Trixie.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.14.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.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.14 (total 19):
- #18233 Approach underscore bar inactive with multiple database open
- #27974 warn:winsock:wsaErrno errno 115, (Operation now in progress).
- #35622 VemsTune: program crashes on switching view modes
- #55557 wpcap:wpcap crashes on macOS
- #56639 Phantasy Star Online: Blue Burst: various missing/black textures
- #57027 GetFinalPathNameByHandleW does not handle paths exceeding MAX_PATH (260 chars)
- #57835 ROCS Show Ready crashes on unimplemented function msvcp140_atomic_wait.dll.__std_tzdb_get_time_zones
- #57946 Multiple games need maxAnisotropy values handling (GreedFall, Mafia III: Definitive Edition)
- #58141 [MDK] [WOW64] Stack overflow
- #58169 Trae installer fails: "Failed to expand shell folder constant userpf"
- #58334 ShowStopper crashes on unimplemented function ntdll.dll.RtlQueryProcessHeapInformation
- #58403 Death to Spies: intro videos show black screen (audio works)
- #58482 Roblox Studio installer crashes on unimplemented function api-ms-win-core-memory-l1-1-3.dll.VirtualProtectFromApp
- #58531 MemoryRegionInformation incorrectly returns STATUS_SUCCESS for freed memory regions
- #58574 Multiple applications require gameinput.dll (Fritz Chess Coach, Le Mans Ultimate)
- #58577 MsiGetComponentPath/MsiLocateComponent doesn't resolve a reference to .NET GAC
- #58600 Command line tab completion works improperly with files/directories containing delimiter characters
- #58608 SCardTransmit should work with pioSendPci=NULL
- #58615 winepath changes behaviour and strips ending path separator now
### Changes since 10.13:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (39):
tapi32: Move registry keys out of wine.inf.
win32u: Add NtGdiCancelDC() stub.
win32u: Implement NtUserGetCursorPos().
win32u: Implement NtGdiGet/SetMiterLimit().
server: Add a helper to check a process wow64 status.
include: Always use Unicode string constants for the PE build.
server: Use LIST_FOR_EACH_ENTRY in more places.
cabinet: Use the correct structure for DllGetVersion().
rsaenh: Don't reset key when nothing was encrypted.
winebuild: Only allow thiscall functions on i386.
server: Fix get_next_hook return value when no hook is found.
kernel32: Preserve trailing slash for existing paths in wine_get_dos_file_name().
kernel32: Preserve trailing slash for existing paths in wine_get_unix_file_name().
win32u: Define all stubs as syscalls.
vkd3d: Import upstream release 1.17.
sxs: Add support for language in manifest names.
sxs: Support XML escaping in manifest names.
sxs: Take manifest language into account when building the file name.
sxs: Install policy files the same way as normal manifests.
win32u: Disable some unused code when EGL is missing.
gitlab: Update CI image to debian trixie.
setupapi: Use SetupDiGetActualSectionToInstallW instead of duplicating that logic.
setupapi: Add support for Include directive.
setupapi: Add support for Needs directive.
wine.inf: Use Needs directive to reduce duplication.
winedump: Remove const from a member that is written to.
kernel32/tests: Clear FPU status flags before checking control word.
ntdll/tests: Also test mxcsr register in user callbacks.
ntdll/tests: Use a direct syscall to test xmm registers.
gdi32/tests: Remove some workarounds for NT4.
gdi32: Handle the default color profile on the GDI side.
gdi32: Handle the ICM\mntr key on the GDI side.
winex11: Create the ICM profile file at startup.
win32u: Remove the __wine_get_icm_profile() syscall.
win32u: Remove the GetICMProfile driver entry point.
amstream/tests: Use nameless unions/structs.
qcap: Use nameless unions/structs.
qedit: Use nameless unions/structs.
winegstreamer: Use nameless unions/structs.
Alexandros Frantzis (2):
winewayland: Mark only windows with per-pixel alpha as layered.
winewayland: Handle NULL values for xkb layout name and description.
Anders Kjersem (1):
advpack: Support ADN_DEL_IF_EMPTY flag in DelNode().
Attila Fidan (1):
winegstreamer/wma_decoder: Return S_OK from AllocateStreamingResources().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (8):
ntdll/tests: Mark test as broken with old Windows versions.
ntdll: Fix XState data initialisation with non-AVX CPUs.
kernel32/tests: Test paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
kernel32: Handle paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
bluetoothapis/tests: Avoid crash in gatt tests with some Windows versions.
kernelbase/tests: Fix test failing with old Windows 10.
ntdll/tests: Add check for len and avoid CommitSize with old Windows.
propsys/tests: Skip tests of properties not supported by old Windows.
Brendan McGrath (1):
winegstreamer: Only add the capsfilter for avdec_h264.
Brendan Shanks (1):
ntdll: Implement NtGetCurrentProcessorNumber() with pthread_cpu_number_np() when available on macOS.
Connor McAdams (8):
ntoskrnl/tests: Add tests for getting IRP_MN_QUERY_DEVICE_TEXT based device properties.
ntoskrnl: Set DEVPKEY_Device_BusReportedDeviceDesc from driver.
winebus: Handle IRP_MN_QUERY_DEVICE_TEXT.
hidclass: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebth.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
wineusb.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebus: Generate unique container IDs when adding devices.
winebus: Override device instance enumerator string if bus type is known.
Conor McCarthy (1):
winegstreamer: Use a stride alignment of 2 for NV12 in align_video_info_planes().
Dmitry Timoshkov (3):
comdlg32: PRINTDLG_UpdatePrintDlgW() should update dmCopies field in DEVMODE.
kernel32/tests: Test FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | FILE_ATTRIBUTE_DIRECTORY.
kernelbase: For FILE_FLAG_BACKUP_SEMANTICS also handle FILE_ATTRIBUTE_DIRECTORY in CreateFile.
Elizabeth Figura (3):
qcap/tests: Test subtype validation in QueryAccept() and SetFormat().
quartz/tests: Add more tests for video window style.
quartz: Preserve the current visibility in IVideoWindow::put_Style().
Esme Povirk (1):
mscoree: Update Wine Mono to 10.2.0.
Gabriel Ivăncescu (4):
jscript: Allow objects that expose "length" prop for Function.apply under certain conditions.
jscript: Return proper error when passing wrong type to Function.apply.
jscript: Fallback to Object's toString for Arrays when 'this' isn't an array in ES5 mode.
jscript: Fix error value when passing non-string 'this' to String's toString.
Georg Lehmann (3):
winevulkan: Reorder bitmasks to handle aliases correctly.
winevulkan: Disable h265 extensions.
winevulkan: Update to VK spec version 1.4.325.
Gerald Pfeifer (1):
winebus.sys: Use uint16_t instead of __u16.
Hans Leidekker (11):
msi: Make assembly caches global.
msi: Handle .NET assemblies in MSI_GetComponentPath().
rsaenh: Use TomCrypt for hash implementations.
include: Comment references to undefined static interfaces.
include: Define IRandomAccessStreamStatics.
include: Define ISystemMediaTransportControlsStatics.
widl: Require static interfaces to be defined.
widl: Require activation interfaces to be defined.
widl: Require composition interfaces to be defined.
widl: Require runtimeclass contracts to be defined.
winscard: Handle NULL send parameter in SCardTransmit().
Haoyang Chen (1):
qcap/vfwcapture: Validate the subtype in find_caps().
Henri Verbeet (4):
d3d11/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d10core/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d11: Disable anisotropic filtering for sampler states with zero MaxAnisotropy.
wined3d: Disable anisotropic filtering for zero max_anisotropy in sampler_desc_from_sampler_states().
Ignacy Kuchciński (1):
windows.storage: Split ApplicationData.
Jacob Czekalla (6):
hhctrl.ocx: Check for a NULL web_browser before QueryInterface.
wininet/tests: Add more http time test strings.
wininet: Fix parsing order of http times.
wininet: Fix year parsing to include millennium.
comctl32/treeview: Return from TREEVIEW_LButtonDown when the treeview handle is invalid.
comctl32/tests: Add a test for treeview deletion during NM_CLICK in LBUTTONDOWN.
Jiangyi Chen (1):
opengl32: Perform cAccumBits filtering if specified in wglChoosePixelFormat().
Joe Souza (1):
cmd: Treat most delimiters as literals if user specified quotes.
Keigo Okamoto (3):
winealsa: Send All Notes Off and Reset Controllers.
winecoreaudio: Send All Notes Off and Reset Controllers.
wineoss: Send All Notes Off and Reset Controllers.
Marc-Aurel Zent (5):
ntdll: Implement ProcessPriorityBoost class in NtQueryInformationProcess.
ntdll: Implement ProcessPriorityBoost class in NtSetInformationProcess.
kernelbase: Implement GetProcessPriorityBoost.
kernelbase: Implement SetProcessPriorityBoost.
kernel32/tests: Add tests for GetProcessPriorityBoost/SetProcessPriorityBoost.
Mike Kozelkov (1):
winbio: Add stub DLL.
Mohamad Al-Jaf (9):
cryptxml: Add stub dll.
include: Add cryptxml.h.
cryptxml: Implement CryptXmlOpenToDecode() stub.
cryptxml: Implement CryptXmlClose().
cryptxml: Implement CryptXmlGetDocContext().
cryptxml: Implement CryptXmlGetSignature().
cryptxml: Implement CryptXmlVerifySignature() stub.
cryptxml: Implement CryptXmlGetStatus().
cryptxml/tests: Add some signature verification tests.
Nikolay Sivov (5):
d2d1: Add some helpers for geometry figure manipulation.
d2d1: Implement ellipse geometry simplification.
d2d1: Implement rounded rectangle geometry simplification.
fonts: Fix "O" glyph in Tahoma Bold bitmap strikes.
d3d10/tests: Compile more test effects from sources.
Paul Gofman (35):
ntdll: Factor out chksum_add() function.
ntdll: Support SOCK_RAW / IPPROTO_ICMPV6 fallback over SOCK_DGRAM.
ws2_32/tests: Test ICMPv6 ping.
ntdll/tests: Add more tests for NtQueryVirtualMemory( MemoryRegionInformation ).
ntdll: Factor out get_memory_region_size() function.
ntdll: Reimplement get_memory_region_info() on top of get_memory_region_size().
ntdll: Add semi-stub for NtQueueApcThreadEx2().
ntdll: Validate reserve handle in NtQueueApcThreadEx2().
ntdll: Pass user APC flags to call_user_apc_dispatcher().
server: Do not allow queueing special APCs to wow64 threads.
ntdll: Implement QUEUE_USER_APC_CALLBACK_DATA_CONTEXT in NtQueueApcThreadEx2() on x64.
ntdll: Use NtContinueEx in KiUserApcDispatcher on x64.
kernelbase: Implement QueueUserAPC2().
server: Check thread and call parameters in queue_apc() for APC_USER.
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_time_zones() / __std_tzdb_delete_time_zones().
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_current_zone() / __std_tzdb_delete_current_zone().
msvcp140_atomic_wait: Stub __std_tzdb_get_leap_seconds() / __std_tzdb_delete_leap_seconds().
kernelbase: Preserve last error in OutputDebugStringA().
kernel32: Preserve last error in OutputDebugStringA().
kernel32/tests: Test last error preservation in OutputDebugString().
ntdll/tests: Test last error preservation in OutputDebugString() with debugger.
winex11.drv: Only create dummy parent when needed in create_client_window().
win32u: Avoid calling server in NtUserGetKeyState() when input keystate is in sync.
nsiproxy.sys: Get rid of echo request thread.
nsiproxy.sys: Bind to source address in icmp_send_echo().
nsiproxy.sys: Store socket type in struct icmp_data.
iphlpapi: Factor out icmp_send_echo() function.
iphlpapi/tests: Refactor APC testing in testIcmpSendEcho().
iphlpapi: Only supply APC routine if no event in icmp_send_echo().
iphlpapi: Implement Icmp6ParseReplies().
iphlpapi: Implement Icmp6CreateFile().
nsiproxy.sys: Don't try to check for original packet for ping socket.
iphlpapi: Implement Icmp6SendEcho2().
iphlpapi/tests: Add tests for Icmp6SendEcho2().
iphlpapi: Avoid leaking APC context in icmp_send_echo().
Rémi Bernon (69):
widl: Wrap strappend parameters in a new struct strbuf.
widl: Introduce a new append_basic_type helper.
widl: Remove unnecessary recursion for TYPE_BITFIELD.
widl: Move some type name construction out of write_type_left.
joy.cpl: Read the device state when getting selected effect.
winetest: Set winetest_mute_threshold to 4 when running tests.
user32: Use init_class_name(_ansi) in FindWindowEx(A|W).
win32u: Drop unnecessary NtUserCreateWindowEx version strings.
win32u: Add a helper to add atom / strings to server requests.
server: Simplify create_class atom validation check.
server: Unify reading class atom / name from requests.
widl: Introduce a new write_record_type_definition helper.
widl: Cleanup indentation and variables in write_type_left.
widl: Split write_type_left into a write_type_definition_left helper.
widl: Introduce a new append_type_left helper.
win32u: Move nulldrv client surface code from vulkan.c.
win32u: Introduce a new framebuffer object GL surface.
win32u: Create render buffers for double / stereo buffering.
win32u: Create depth attachments for the FBO surface.
widl: Remove now unnecessary write_callconv argument.
widl: Cleanup indentation and variables in write_type_right.
widl: Inline write_args into write_type_right.
widl: Introduce a new append_declspec helper.
opengl32: Hook glGet(Booleanv|Doublev|Floatv|Integer64v).
opengl32: Share wgl_context structure definition with win32u.
opengl32: Keep track of draw/read framebuffer binding.
opengl32: Return the tracked FBOs when using FBO surfaces.
include: Add gameinput.idl.
gameinput: Introduce new DLL.
dinput/tests: Add some gameinput tests.
winebus: Generate unique serial numbers when adding devices.
user32/tests: Add more GetClassInfo tests.
win32u: Forbid setting GCW_ATOM class info.
win32u: Introduce helpers to check desktop and message class.
user32: Implement integral class name versioning support.
win32u: Remove now unnecessary integral atom specific handling.
server: Return the class base atom from create_class.
opengl32: Keep track of default FBO read/draw buffers.
opengl32: Return the tracked FBO buffers when using FBO surfaces.
opengl32: Remap read / draw FBO buffers when using FBO surfaces.
opengl32: Redirect default framebuffer when using FBO surfaces.
wine.inf: Fix section name for DefaultInstall.ntx86 services.
win32u: Simplify setting extra class info in set_class_long.
win32u: Use set_class_long_size for NtUserSetClassWord.
win32u: Use get_class_long_size for get_class_word.
server: Split get_class_info request from set_class_info.
server: Get rid of set_class_info request flags.
widl: Keep track of statements source locations.
widl: Allow explicit registration by referencing runtimeclasses.
windows.storage.applicationdata: Register runtimeclasses explicitly.
windows.storage: Register runtimeclasses explicitly.
wintypes: Register runtimeclasses explicitly.
include: Remove now unnecessary registration ifdefs.
opengl32: Initialize viewport when using FBO surface.
win32u: Create a separate draw FBO for multisampled formats.
opengl32: Resolve multisample draw buffer when using FBO surfaces.
win32u: Remove unnecessary HDC parameter from client_surface_present.
win32u: Remove unnecessary HDC parameter from p_surface_create.
winex11: Remove unnecessary members from struct gl_drawable.
windows.ui: Register runtimeclasses explicitly.
windows.ui.xaml: Register runtimeclasses explicitly.
coremessaging: Register runtimeclasses explicitly.
twinapi.appcore: Register runtimeclasses explicitly.
windows.applicationmodel: Register runtimeclasses explicitly.
windows.system.profile.systemid: Register runtimeclasses explicitly.
windows.system.profile.systemmanufacturers: Register runtimeclasses explicitly.
windows.globalization: Register runtimeclasses explicitly.
appxdeploymentclient: Register runtimeclasses explicitly.
cryptowinrt: Register runtimeclasses explicitly.
Tim Clem (3):
ntdll: Initialize return value in fork_and_exec.
ntdll: Zero the process and thread handles when creating a Unix process.
kernelbase: Zero the RTL_USER_PROCESS_PARAMETERS in CreateProcessInternalW.
Tingzhong Luo (1):
shell32: Support the UserProgramFiles folder.
Tres Finocchiaro (1):
winebuild: Add flag to disable dynamicbase/aslr.
Tyson Whitehead (9):
joy.cpl: Use correct interface for effect AddRef call.
joy.cpl: Remove needless device caps retrieval.
joy.cpl: Remove incorrect DIEP_TYPESPECIFICPARAMS flag usage.
joy.cpl: Cleanup selected device Acquire / Unacquire logic.
joy.cpl: Fix effect axes / direction in SetParameters call.
joy.cpl: Avoid restarting effect while button is pressed.
joy.cpl: Turn off autocenter for every device on creation.
joy.cpl: Add specific parameters based on type and not effect GUID.
winebus: SDL backend FF effect angle requires 32 bits.
Vibhav Pant (9):
vccorlib140: Add semi-stub for Platform::Details::Heap::{Allocate, Free}.
vccorlib140: Add stub for Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Implement Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Add stub for __abi_make_type_id, Platform::Type{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Implement __abi_make_type_id.
vccorlib140: Implement Platform::Type::{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Add stub for Platform::Details::CreateValue.
vccorlib140: Implement Platform::Details::CreateValue.
vccorlib140: Use the correct symbol name for InitControlBlock on i386 and arm.
William Horvath (2):
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Re-enable a previously crashing test.
Yuxuan Shui (6):
include: Make sure to null terminate string in wine_dbg_vsprintf.
server: Fix use-after-free of handle entry.
makefiles: Don't delete Makefile if makedep is interrupted.
dmime: Fix use-after-free after performance_CloseDown.
msi/tests: Fix wrong character counts passed to RegSetValueExA.
ole32: Don't get metafile extent if there is no metafile.
Zhiyi Zhang (2):
user32/tests: Add more SendMessageCallbackA/W() tests with NULL callback.
win32u: Put the message in the queue when the callback pointer is NULL and the callback data is 1.
Ziqing Hui (1):
dwrite: Add fallback for Dingbats.
```
1
0
The Wine development release 10.13 is now available.
What's new in this release:
- Windows.Gaming.Input configuration tab in the Joystick Control Panel.
- ECDSA_P521 and ECDH_P521 algorithms in BCrypt.
- OpenGL WoW64 thunks are all generated.
- Still more support for Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.13.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.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.13 (total 32):
- #21864 Default paper size A4 instead of my printers default
- #32334 Microsoft SQL Server Management Studio Express 2005: Connection window is too narrow
- #44066 mintty/msys2 doesn't work since wine 2.5.0 (named pipes)
- #50174 Microsoft Office 365 login page for activating Office is blank
- #52844 Multiple games stuck/crash with a black screen after/before intro (Call of Duty: Black Ops II, Nioh 2 - The Complete Edition)
- #54157 dir command of cmd fails on Z: on Ubuntu under WSL
- #56246 Regarding the color depth of BMP in the SavePicture method: the value is unstable.
- #56697 _kbhit ignores the last event in the queue
- #56754 Amazing Adventures 2 CD: bundled demo launchers fail to launch game
- #56883 DualSense bumpers registering as two buttons on wine 9.9 and later
- #57115 CEF sample application "Draggable" test fails
- #57116 Crash during codecs test on CEF sample application in 64-bit wineprefix (widevinecdm)
- #57130 CEF sample application WebGL test fails
- #57131 Info and profile buttons in CEF sample application instantly close
- #57458 FL Studio logo appears on the top left of the screen and with a black background
- #57648 Wrong Cursor on Wayland
- #57783 Approach will not run in a virgin 10.0 wineprefix
- #58122 WSAENOTSOCK error when calling winsock.Send() on duplicated socket
- #58389 Wrong path, app fails to start (regression): err:environ:init_peb starting L"\\\\?\\unix\\home\\user\\krita-x64-5.2.9-setup.exe
- #58393 FlexiPDFfails to run in wine-10.10
- #58396 virtual terminal captures mouse
- #58425 video/x-h264 alignment=au caps causes artifacts and crashes with streams that have NALUs split across buffers
- #58448 Metasequoia 3.1.6 OpenGL regression
- #58459 Doom 3: BFG Edition fails to start
- #58477 Some VST plugins fail
- #58488 Bejeweled 3: black screen on start
- #58493 Gothic and Gothic II crash with Access Violation
- #58497 Strings are a confusing mix of US and British English
- #58500 64-bit "Plain Vanilla Compiling" fails
- #58528 CRYPT_AcquirePrivateKeyFromProvInfo does not check machine store for private key
- #58549 Call of Duty: Black Ops II has no sound
- #58571 On NetBSD, the case-insensitive mechanism for filenames appears to be broken
### Changes since 10.12:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (1):
ntdll: Remove redundant fusefs detection for NetBSD.
Alexandre Julliard (39):
winebrowser: Use wine_get_unix_file_name() instead of wine_nt_to_unix_file_name().
makefiles: Don't try to install symlinks for programs if not supported.
ntdll: Share more filename string constants.
ntdll: Move the helper to build NT pathnames to file.c.
ntdll: Add a ntdll_get_unix_file_name() helper.
win32u: Use the ntdll_get_unix_file_name() helper.
winemac.drv: Use the ntdll_get_unix_file_name() helper.
winex11.drv: Use the ntdll_get_unix_file_name() helper.
winspool: Use the ntdll_get_unix_file_name() helper.
mountmgr: Perform the filename conversion to the Unix side when setting shell folders.
mountmgr: Perform the filename conversion to the Unix side when querying shell folders.
ntdll: Add a private info class in NtQueryInformationFile() to return the Unix file name.
kernel32: Reimplement wine_get_unix_file_name() using WineFileUnixNameInformation.
kernel32: Remove leftover debug traces.
ntdll: Get rid of the wine_nt_to_unix_file_name syscall.
ntdll: Remove some commented stubs that no longer exist in recent Windows.
ntdll: Add NtAccessCheckByTypeAndAuditAlarm() and NtCloseObjectAuditAlarm() stubs.
ntdll: Add more LPC stubs.
kernel32/tests: Fix a couple of test failures.
winebuild: Unify the get_stub_name() and get_link_name() helpers.
winebuild: Support -syscall flag for stubs.
ntdll: Add stubs for some syscalls that need explicit ids.
kernel32/tests: Fix some test failures on Windows.
msvcrt: Remove __GNUC__ checks.
vcomp: Remove __GNUC__ checks.
krnl386: Remove __i386__ checks.
mmsystem: Remove __i386__ checks.
system.drv: Remove __i386__ checks.
win87em: Remove __i386__ checks.
ntdll: Remove trailing backslashes from NT names.
kernelbase: Get the CPU count from SYSTEM_CPU_INFORMATION.
light.msstyles: Update generated bitmaps.
joy.cpl: Use aligned double type to avoid compiler warnings.
server: Add a helper to check if a thread is suspended.
wbemprox: Get the CPU count from the PEB.
taskmgr: Get the CPU count from the PEB.
ntdll/tests: Get the CPU count from the PEB.
kernel32/tests: Get the CPU count from the PEB.
cmd/tests: Fix cleanup of created files.
Alfred Agrell (2):
dsound/tests: Add tests for IDirectSoundBuffer_Lock.
dsound: Improve IDirectSoundBufferImpl_Lock handling of invalid arguments.
Alistair Leslie-Hughes (7):
msado15: Support all Fields interfaces.
msado15: Support all Field interfaces.
msado15: Support all Connection interfaces.
msdasql/tests: Allow database tests to run as normal user.
msado15/tests: Check return value (Coverity).
msado15: Implement ADOConnectionConstruction15::get_DSO.
msado15/tests: Fixup error return values for the ConnectionPoint tests.
Ally Sommers (1):
ws2_32: Add afunix.h header.
Andrey Gusev (1):
wined3d: Add NVIDIA GeForce RTX 4060 Mobile.
Arkadiusz Hiler (2):
winebus: Add Logitech G920 mapping to the SDL backend.
winebus: Don't consider wheels / flight sticks as gamepads.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
cfgmgr32/tests: Load imports dynamically to allow execution on Windows 7.
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE test.
ntdll: Support THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE flag.
Brendan McGrath (9):
mf/tests: Test when SAR requests a new sample.
mf/tests: Test sequence of calls during a Pause and Seek.
mf: Restart transforms and sinks on seek.
mf: Don't send MFT_MESSAGE_NOTIFY_START_OF_STREAM when seeking.
mfmediaengine: Don't perform implicit flush on state change.
mfmediaengine: Request sample if we are seeking.
mf/tests: Test H264 decoder when duration and time are zero.
mf/tests: Test WMV decoder when duration and time are zero.
winegstreamer: Correct duration if provided value is zero.
Brendan Shanks (6):
win32u: Remove Mac suitcase/resource-fork font support.
xinput1_3: Correctly handle a NULL GUID parameter in XInputGetDSoundAudioDeviceGuids().
xinput9_1_0: Implement by dynamically loading and calling xinput1_4.dll.
ntdll: Ensure %cs is correct in sigcontext on x86_64 macOS.
winevulkan: Enable VK_EXT_swapchain_maintenance1 when available.
win32u: Create Vulkan swapchains with VkSwapchainPresentScalingCreateInfoEXT when the surface will be scaled.
Connor McAdams (7):
d3dx9: Replace D3DFORMAT constants with enum d3dx_pixel_format_id constants.
d3dx9: Introduce d3dx_resource_type enumeration.
d3dx9: Introduce d3dx_image_file_format enumeration.
d3dx9: Move functions intended for code sharing into a separate source file.
d3dx9: Get rid of ID3DXBuffer usage in d3dx_helpers.
d3dx9: Don't include d3dx9 header in d3dx_helpers.
d3dx10: Use shared d3dx code in get_image_info when possible.
Conor McCarthy (3):
mfplat/tests: Add NV12 650 x 850 to image_size_tests.
mf/tests: Add a video processor NV12 test with a width alignment of 2.
winegstreamer: Do not pass a sample size to wg_transform_read_mf().
Csányi István (1):
winebus.sys: Fix DualSense BT quirk.
Daniel Lehman (4):
ucrtbase/tests: Move cexp tests from msvcr120.
ucrtbase: Add carg implementation.
ucrtbase: Add cargf implementation.
msvcp140_atomic_wait: Add __std_execution_* functions.
Dmitry Timoshkov (1):
windowscodecs: Propagate ::CopyPixels() return value.
Elizabeth Figura (18):
quartz/tests: Create separate IEnumPins instances.
qasf/tests: Test AllocateStreamingResources() error propagation.
mf/tests: Test IMediaObject::AllocateStreamingResources().
winegstreamer: Return S_OK from AllocateStreamingResources().
wined3d/glsl: Transpose the bump environment matrix.
Revert "wined3d/glsl: Transpose the bump environment matrix.".
d3d9/tests: Add comprehensive D3DTSS_TEXTURETRANSFORMFLAGS tests.
wined3d: Handle all invalid values in compute_texture_matrix().
wined3d: Pass the attribute coordinate count to get_texture_matrix().
wined3d: Pass 3 as the attribute count for generated texcoords.
wined3d: Alter the texture matrix even for non-projected textures.
wined3d: Copy the projective divisor in the FFP vertex pipeline.
wined3d: Initialize all remaining FFP texture coordinates to zero.
wined3d: Always divide 1.x projected textures by W for shaders.
wined3d: Always divide 1.x projected textures by W in the FFP.
dxcore: Reset the factory object on destruction.
dxcore: Separate a dxcore_adapter_create() helper.
maintainers: Add dxcore to the D3D section.
Eric Pouech (7):
winedump: Fix crash while dumping CLR blobs.
cmd/tests: Add a couple of tests about return code propagation.
cmd: Fix exit code when run with /C command line option.
cmd: Factorize some code.
cmd: Use a context when handling input from command line (/c, /k).
cmd: Separate command file handling from external commands.
cmd: Fix exit code in cmd /c when leaving nested command files.
Esme Povirk (9):
comctl32/tests: Add general tests for OBJID_QUERYCLASSNAMEIDX.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for Animate controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for hotkey controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for listviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for tooltips.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for trackbar controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for treeviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for updown controls.
comctl32/tests: Remove individual OBJID_QUERYCLASSNAMEIDX tests.
Gabriel Ivăncescu (40):
mshtml: Use HasAttribute instead of GetAttributeNode when checking if specified attribute.
mshtml: Clone name properly from attached attribute nodes.
mshtml: Use a BSTR to store the detached attribute's name.
mshtml: Use a helper function to find an attribute in the collection's list.
mshtml: Detach attribute nodes when removing the attribute from the element.
mshtml: Implement 'specified' for detached attributes.
mshtml/tests: Add tests for more element prototype props.
mshtml/tests: Test frame and iframe element props.
mshtml: Only allow a specific set of builtin props as attributes for elements.
mshtml: Only allow a specific set of builtin props as attributes for button elements.
mshtml: Only allow a specific set of builtin props as attributes for form elements.
mshtml: Only allow a specific set of builtin props as attributes for frame elements.
mshtml: Only allow a specific set of builtin props as attributes for iframe elements.
mshtml: Only allow a specific set of builtin props as attributes for img elements.
mshtml: Only allow a specific set of builtin props as attributes for input elements.
mshtml: Only allow a specific set of builtin props as attributes for label elements.
mshtml: Only allow a specific set of builtin props as attributes for link elements.
mshtml: Only allow a specific set of builtin props as attributes for meta elements.
mshtml: Only allow a specific set of builtin props as attributes for object elements.
mshtml: Only allow a specific set of builtin props as attributes for option elements.
mshtml: Only allow a specific set of builtin props as attributes for script elements.
mshtml: Only allow a specific set of builtin props as attributes for select elements.
mshtml: Only allow a specific set of builtin props as attributes for style elements.
mshtml: Only allow a specific set of builtin props as attributes for table elements.
mshtml: Only allow a specific set of builtin props as attributes for table data cell elements.
mshtml: Only allow a specific set of builtin props as attributes for table row elements.
mshtml: Only allow a specific set of builtin props as attributes for text area elements.
mshtml: Handle NULL inputs in node's replaceChild.
mshtml: Handle NULL input in node's removeChild.
mshtml: Handle NULL input in node's appendChild.
mshtml: Handle NULL input in node's insertBefore.
mshtml/tests: Test IHTMLElement6::getAttributeNode in legacy modes.
mshtml/tests: Test mixing attribute nodes and collections across modes.
mshtml/tests: Test node hierarchy for attribute nodes in IE9+ modes.
mshtml/tests: Don't create global variable due to typo.
mshtml: Fix expando for IE9 attr nodes.
mshtml: Fix gecko element leak when retrieving ownerElement.
mshtml: Traverse the node on attribute nodes.
mshtml: Allow custom set attributes with same name as builtin methods in legacy modes.
mshtml: Fix 'expando' and 'specified' for attributes in legacy modes.
Giovanni Mascellani (10):
mmdevapi/tests: Check that incompatible formats are rejected by IsFormatSupported().
mmdevapi/tests: Remove workaround for Wine < 1.3.28.
mmdevapi/tests: Test rendering with floating point formats.
mmdevapi/tests: Test supported formats for capturing.
mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.
Revert "mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.".
mmdevapi/tests: Mark a wrong error code by IsFormatSupported() as todo.
mmdevapi/tests: Do not test QueryInterface() with a NULL output pointer.
winepulse.drv: Allow 32-bit PCM audio samples.
winecoreaudio.drv: Do not spam fixmes for unknown channels.
Hans Leidekker (20):
crypt32: Retry with CRYPT_MACHINE_KEYSET in CRYPT_AcquirePrivateKeyFromProvInfo().
windows.gaming.input: Turn put_Parameters() into a regular method.
widl: Truncate identifiers that exceed the 255 character limit.
widl: Check that retval parameters also have an out attribute.
widl: Check eventadd method parameters.
widl: Check eventremove method parameters.
widl: Check propget method parameters.
widl: Check propput method parameters.
include: Comment reference to undefined activation interface.
widl: Check activation method parameters.
widl: Check composition method parameters.
include: Add missing runtimeclass contract attributes.
widl: Require runtimeclass contract or version attribute.
widl: Use a structure for the version attribute.
widl: Fix version attribute value.
widl: Skip array size parameters.
widl: Fix encoding of array parameters.
widl: Only use 32-bit integers in row structures.
widl: Add an implicit apicontract attribute.
widl: Always store member references in attributes.
Haoyang Chen (2):
explorer: Ignore command line character case.
explorer: Allow /n to be followed by other arguments.
Henri Verbeet (1):
wined3d: Add GPU information for AMD NAVI44.
Huw D. M. Davies (1):
winemac: Define missing status variable.
Jacek Caban (78):
krnl386: Remove __GNUC__ check.
ntdll: Remove __GNUC__ checks.
ntdll/tests: Remove __GNUC__ checks.
ntoskrnl: Remove __GNUC__ check.
oleaut32: Remove __GNUC__ check.
advapi32: Initialize temp variable in test_incorrect_api_usage.
crypt32/tests: Use dummySubject in CryptSIPLoad invalid parameter test.
kernel32/tests: Initialize stackvar in test_IsBadReadPtr test.
ole32/tests: Initialize rect in OleDraw invalid parameter test.
shlwapi/tests: Initialize cookie before passing it to add_call.
webservices/tests: Use valid url for WsEncodeUrl invalid argument tests.
d3dx9/tests: Fix identity_matrix initialization.
d3dx10/tests: Initialize data in test_D3DX10CreateAsyncMemoryLoader.
d3dx11/tests: Initialize data in test_D3DX11CreateAsyncMemoryLoader.
uxtheme/tests: Initialize rect in test_DrawThemeEdge.
ntoskrnl/tests: Use initialized client dispatch in WskSocket call.
quartz/tests: Initialize mt in test_connect_direct.
d3d10core/tests: Initialize box in test_copy_subresource_region.
d3d11/tests: Initialize box in test_copy_subresource_region.
msvcp60/tests: Don't use const pointers for thiscall thunks.
msvcp90/tests: Don't use const pointers for thiscall thunks.
msvcr90/tests: Initialize key value in test_bsearch_s.
include: Add _callnewh declaration.
user32/tests: Use switch statement in test_keyboard_layout.
opengl32: Move manual wow64 thunks declarations to generated header.
opengl32: Move thunks declarations to generated header.
opengl32: Use generated header for all thunk declarations.
opengl32: Use generated header wrapper declarations.
include: Add IHTMLAttributeCollection4 declaration.
mshtml: Add IHTMLAttributeCollection4 stub implementation.
opengl32: Move static keyword logic to generate_unix_thunk.
opengl32: Use generate_unix_thunk for wow64 wgl thunks.
opengl32: Use generate_unix_thunk for wow64 gl thunks.
opengl32: Use generate_unix_thunk for wow64 ext thunks.
opengl32: Remove no longer used get_func_args arguments.
mshtml: Add create_node fallback to cloneNode.
mshtml: Add DOM attribute node implementation.
mshtml: Implement HTMLAttributeCollection4::get_length.
mshtml: Implement IHTMLAttributeCollection4::item.
mshtml: Implement IHTMLAttributeCollection4::getNamedItem.
mshtml: Properly expose Attr and NamedNodeMap properties.
mshtml/tests: Add more attribute nodes tests.
opengl32: Use generated wow64 thunk for wglMakeCurrent.
opengl32: Use generated wow64 thunk for wglMakeContextCurrentARB.
opengl32: Use generated wow64 thunk for wglDeleteContext.
opengl32: Use manual_win_functions for wglGetCurrentReadDCARB.
opengl32: Avoid unneeded wrapper return type casts.
opengl32: Use generated wow64 thunk for wglCreateContext.
opengl32: Use generated wow64 thunk for wglCreateContextAttribsARB.
opengl32: Don't generate wrapper declarations for functions implemented on PE side.
opengl32: Introduce wow64 wrappers and use it for glClientWaitSync implementation.
opengl32: Use wow64 wrapper for glFenceSync implementation.
opengl32: Use wow64 wrapper for glDeleteSync implementation.
opengl32: Use wow64 wrapper for glGetSynciv implementation.
opengl32: Use wow64 wrapper for glIsSync implementation.
opengl32: Use wow64 wrapper for glWaitSync implementation.
opengl32: Factor out return_wow64_string.
opengl32: Use generated thunk for glGetString.
opengl32: Use generated thunk for glGetStringi.
opengl32: Use generated thunk for wglGetExtensionsStringARB.
opengl32: Use generated thunk for wglGetExtensionsStringEXT.
opengl32: Use generated thunk for wglQueryCurrentRendererStringWINE.
opengl32: Use generated thunk for wglQueryRendererStringWINE.
opengl32: Improve whitespaces in wrapper declarations.
opengl32: Use extra unix call argument to pass client buffer from glUnmapBuffer.
opengl32: Use extra unix call argument to pass client buffer from glUnmapNamedBuffer.
opengl32: Use wow64 wrappers for glMapBuffer and glMapBufferARB implementations.
opengl32: Use wow64 wrappers for glMapBufferRange.
opengl32: Use wow64 wrappers for glMapNamedBuffer and glMapNamedBufferEXT.
opengl32: Use wow64 wrappers for glMapNamedBufferRange and glMapNamedBufferRangeEXT.
opengl32: Use wow64 wrappers for glGetBufferPointerv and glGetBufferPointervARB.
opengl32: Use wow64 wrappers for glGetNamedBufferPointerv and glGetNamedBufferPointervEXT.
opengl32: Pass array arguments as pointers in unix calls.
opengl32: Use generated thunk for glPathGlyphIndexRangeNV.
opengl32: Pass type as a string to get_wow64_arg_type.
opengl32: Use generated thunk for wglCreatePbufferARB.
opengl32: Use generated thunk for wglGetPbufferDCARB.
opengl32: Use generated thunk for wglGetProcAddress.
Jacob Czekalla (5):
hhctrl.ocx: Add a search button to the search tab.
hhctrl.ocx: Selection of treeview items in the content tab should reflect web browser page.
mshtml/tests: Add call stacking to htmldoc test framework.
mshtml/tests: Add iframe event tests in htmldoc.c.
mshtml: Fire BeforeNavigate2 for documents in async_open.
Jake Coppinger (1):
ntdll: Add a stub for RtlQueryProcessHeapInformation().
Jan Sikorski (1):
maintainers: Remove myself as d3d maintainer.
Joe Souza (1):
conhost: Implement F1 and F3 support for history retrieval.
Kareem Aladli (4):
kernelbase: Implement VirtualProtectFromApp.
kernelbase/tests: Add tests for VirtualProtectFromApp.
ntdll: Set old_prot to PAGE_NOACCESS in NtProtectVirtualMemory() if the range is not mapped or committed.
ntdll/tests: Add tests for NtProtectVirtualMemory().
Ken Sharp (3):
configure: Do not hardcode "gcc" in message.
po: Standardise source strings to English (United States).
po: Update English (Default) resource.
Maotong Zhang (2):
comdlg32/tests: Fix file type combo box selection in file dialogs.
comdlg32: Display filter specs in itemdlg File Type combo box.
Marc-Aurel Zent (2):
ntdll: Implement ThreadPriorityBoost class in NtQueryInformationThread.
ntdll: Implement ThreadPriorityBoost class in NtSetInformationThread.
Michael Stefaniuc (8):
dmcompos: Return E_NOTIMPL from the stub SignPost track Clone() method.
dmcompos/tests: Fix the expected value in an ok() message.
dmcompos: Simplify the DMChordMap IPersistStream_Load() method.
include: Tag the DMUS_IO_* structs that changed between DX versions.
dmstyle: Handle DX7 versions of 'note' and 'crve' chunks.
dmusic: Don't open code debugstr_chunk in dmobject.c.
dmusic: Add a helper to deal with different versions / sizes of a chunk.
dmstyle: Support loading the DX7 version of the Style form.
Michael Stopa (2):
kernel32/tests: SetFileInfo should accept FileRenameInfoEx.
kernelbase: Pass FileRenameInfoEx to NtSetInformationFile.
Mike Kozelkov (2):
urlmon: Add PersistentZoneIdentifier semi-stubs.
urlmon/tests: Add PersistentZoneIdentifier test cases.
Mohamad Al-Jaf (5):
include: Add windows.media.core.idl.
include: Add windows.media.mediaproperties.idl.
include: Add windows.media.transcoding.idl.
windows.media: Implement IActivationFactory::ActivateInstance() for IMediaTranscoder.
cryptowinrt: Implement ICryptographicBufferStatics::EncodeToBase64String().
Nikolay Sivov (33):
d3d9/tests: Fix use-after-free (ASan).
kernel32/tests: Fix double free of mutex handle.
d3dx10/tests: Add a test for effect compiler behavior.
windowscodecs/converter: Add 16bppGrayHalf -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 16bppGrayHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Propagate source failure in 24bppBGR -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 32bppBGRA -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGB -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 96bppRGBFloat -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGBHalf -> 128bppRGBFloat conversion.
d3d11: Make sure that index buffer is set for indexed draws.
d3d11: Make sure that index buffer is set for instanced indexed draws.
wined3d: Fix reference_graphics_pipeline_resources() argument type to match callers.
d3d12/tests: Add a test for creating a device from dxcore adapters.
d2d1: Implement mesh population methods.
d2d1: Add a stub for geometry realization object.
d2d1: Add initial implementation of CopyFromRenderTarget().
d2d1: Improve bitmap methods traces.
d2d1: Implement ComputeArea() for rectangles.
d2d1: Implement ComputeArea() for transformed geometries.
dxcore/tests: Add positive interface checks.
dxcore/tests: Move GetProperty() tests to a separate function.
dxcore/tests: Add some tests for InstanceLuid property.
dxcore: Add support for InstanceLuid property.
dxcore: Fix property size check in GetProperty().
dxcore: Implement GetPropertySize().
dxcore/tests: Add some tests for IsHardware property.
dxcore: Return stub value for IsHardware property.
dxcore/tests: Add some GetAdapterByLuid() tests.
dxcore: Implement GetAdapterByLuid().
d3d12: Support creating devices using dxcore adapters.
dxcore: Add support for DriverDescription property.
dxcore: Add support for DriverVersion property.
Paul Gofman (17):
kernelbase: Duplicate GetOverlappedResult() implementation instead of calling GetOverlappedResultEx().
kernelbase: Always set last error in GetOverlappedResult[Ex]().
kernelbase: Wait in GetOverlappedResultEx() even if IOSB status is not pending.
d2d1: Implement D2D1ComputeMaximumScaleFactor().
opengl32: Map glCompressedTexImage2DARB to glCompressedTexImage2D if ARB_texture_compression is missing.
shell32: Add AccountPictures known folder.
nsiproxy.sys: Implement IP interface table.
iphlpapi: Implement GetIpInterfaceTable().
nsi/tests: Add tests for IP interface table.
iphlpapi: Implement GetIpInterfaceEntry().
bcrypt: Factor out len_from_bitlen() function.
bcrypt: Use bit length instead of key size in key_import_pair().
bcrypt: Handle importing ECDSA_P384 private blob.
bcrypt: Support ECDSA_P521 algorithm.
bcrypt/tests: Test ECDH_384 same way as ECDH_256.
bcrypt: Support ECDH_P521 algorithm.
bcrypt: Check output size early in key_asymmetric_encrypt() for RSA.
Piotr Caban (9):
msado15/tests: Test functions called in ADORecordsetConstruction_put_Rowset.
msado15/tests: Check recordset state in ADORecordsetConstruction tests.
msado15/tests: Don't check count before running ADORecordsetConstruction field tests.
msado15/tests: Add initial _Recordset_MoveNext tests.
msado15/tests: Add _Recordset_get_RecordCount test.
msado15/tests: Test IRowsetExactScroll interface in put_Rowset tests.
vccorlib140: Add stub dll.
vccorlib140: Add Platform::Details::InitializeData semi-stub.
combase: Fix initialization flags in RoInitialize.
Ratchanan Srirattanamet (1):
msi: Fix .NET assembly-related functionalities due to missed string copy.
Roman Pišl (2):
ole32/tests: Test that cursor is preserved in DoDragDrop.
ole32: Preserve cursor in DoDragDrop.
Rémi Bernon (56):
win32u: Only update the window GL drawable when making one current.
win32u: Move window drawable query out of DC drawable helpers.
win32u: Update DC OpenGL drawable when it is acquired.
winebus.sys: Prefer hidraw for all Virpil (VID 3344) devices.
win32u: Also flush the GL drawable if the client surface is offscreen.
win32u: Clear DC opengl drawable when releasing cached dce.
joy.cpl: Initialize size before calling RegGetValueW.
winebus: Use a single global structure for bus options.
winebus: Support per-device/vendor hidraw registry option.
windows.gaming.input: Forward get_NonRoamableId to Wine provider.
windows.gaming.input: Forward get_DisplayName to Wine provider.
joy.cpl: Use XInputGetStateEx to get guide button.
joy.cpl: Add a new windows.gaming.input test tab.
joy.cpl: List windows.gaming.input device interfaces.
joy.cpl: Read windows.gaming.input device interface state.
joy.cpl: Draw windows.gaming.input gamepad device.
joy.cpl: Draw windows.gaming.input raw game controller.
winemac: Create new client views with each VK/GL surface.
winemac: Use the new client surface views for GL rendering.
winemac: Get rid of now unnecessary child cocoa views.
winemac: Sync current context when drawable was updated.
win32u: Call opengl_drawable_flush even if drawables didn't change.
winebus: Better separate hidraw from evdev in udev_add_device.
winebus: Read evdev device info and feature bits on creation.
winebus: Fill device mapping before report descriptor creation.
winebus: Force the ordering of some common evdev gamepad buttons.
winedmo: Avoid seeking past the end of stream.
winedmo: Avoid reading past the end of stream.
winedmo: Use the stream context to cache stream chunks.
winedmo: Return container duration if no stream duration is found.
winedmo: Return an integer from wave_format_tag_from_codec_id.
winedmo: Seek to keyframes, using avformat_seek_file.
widl: Get the version attribute from the typelib.
winebus: Return error status if SDL is disabled.
winebus: Introduce a new set_abs_axis_value helper.
winebus: Emulate some gamepad buttons in the evdev backend.
winebus: Introduce a new hid_device_add_gamepad helper.
winebus: Use hid_device_add_gamepad in the evdev backend.
win32u: Move nulldrv pixel format array inline.
win32u: Allocate a global pixel formats array on the unix side.
win32u: Keep pbuffer internal context on the wgl_context struct.
win32u: Use eglGetConfigs rather than eglChooseConfig.
win32u: Use surfaceless EGL platform for nulldrv.
widl: Fix parsing of contract version.
widl: Fix ATTR_CONTRACTVERSION output in header files.
widl: Fix ATTR_CONTRACTVERSION in metadata files.
widl: Write deprecated version in metadata files.
windows.gaming.input: Only create Gamepad instances for XInput devices.
winebus: Improve gamepad report compatibility with XUSB / GIP.
windows.gaming.input: Use a generic dinput device data format.
winebus: Use a vendor specific usage for gamepad guide buttons.
winebus: Don't try to create rumble effect on device startup.
winebus: Create dedicated threads to write evdev haptics output reports.
win32u: Release the previous context drawables when changing contexts.
win32u: Flush the new drawables after successful make_current.
win32u: Notify the opengl drawables when they are (un)made current.
Shaun Ren (4):
sapi/stream: Remove the FIXME message for unknown ISpStream interfaces.
sapi/tests: Test resampler support in ISpVoice.
sapi/tts: Implement TTS engine audio output resampler.
sapi/tts: Support allow_format_changes in ISpVoice::SetOutput.
Thibault Payet (1):
server: Always use the thread Unix id in ptrace for FreeBSD.
Tim Clem (4):
wow64cpu: In Unix calls, always return the status from the non-Wow dispatcher.
winebus: Quiet a log message about ignored HID devices.
win32u: Fix an uninitialized variable warning.
win32u: Remove a log message in get_shared_window.
Tomasz Pakuła (1):
winebus: Do not touch autocenter on device init and device reset.
Vibhav Pant (55):
bluetoothapis: Fix resource leak in bluetooth_auth_wizard_ask_response.
include/ddk: Use the correct parameter types for ZwCreateEvent.
setupapi/tests: Add tests for built-in device properties.
ntoskrnl.exe/tests: Add tests for built-in properties for PnP device instances.
setupapi: Support built-in properties in SetupDiGetDevicePropertyW and CM_Get_DevNode_Property_ExW.
propsys/tests: Add conformance tests for getting PropertyDescriptions from PropertySystem.
propsys/tests: Add conformance tests for PSGetPropertyKeyFromName.
include: Add declaration for PSGetPropertySystem.
propsys: Add stubs for PropertySystem.
propsys: Add stubs for PSGetNameFromPropertyKey.
propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
propsys: Add IPropertyDescription stub for system defined properties.
propsys: Implement IPropertyDescription for several known system properties.
propsys/tests: Add some tests for PropVariantChangeType(VT_CLSID).
propsys: Implement PropVariantChangeType(VT_CLSID) for string types.
propsys/tests: Add test for PropVariantToGUID with VT_ARRAY | VT_UI1 values.
winebth.sys: Only set properties for radio devices after they have been started.
include: Add Windows.Foundation.Collections.PropertySet runtime class.
wintypes/tests: Add conformance tests for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
windows.devices.enumeration: Implement DeviceInformationStatics::FindAllAsync using DevGetObjects.
windows.devices.enumeration/tests: Add weak reference tests for DeviceWatcher.
windows.devices.enumeration: Implement IWeakReferenceSource for DeviceWatcher.
windows.devices.enumeration: Implement DeviceInformationStatics::DeviceWatcher using DevCreateObjectQuery.
cfgmgr32: Add stubs for DevGetObjectProperties(Ex).
cfgmgr32: Implement DevFreeObjectProperties.
cfgmgr32: Implement DevGetObjectProperties for device interfaces.
ntoskrnl.exe/tests: Add tests for device updates in DevCreateObjectQuery.
cfgmgr32: Implement device updates for DevCreateObjectQuery.
widl: Fix crash while replacing type parameters for arrays.
cfgmgr32: Fix crash when CM_Register_Notification is called with a NULL filter.
cfgmgr32: Add stub for DevFindProperty.
cfgmgr32: Implement DevFindProperty.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
vccorlib140: Add stub for GetActivationFactoryByPCWSTR.
vccorlib140: Implement GetActivationFactoryByPCWSTR.
vccorlib140: Add stub for GetIidsFn.
vccorlib140: Implement GetIidsFn.
include: Add windows.devices.bluetooth.advertisement.idl.
windows.devices.bluetooth/tests: Add tests for IBluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Add stubs for BluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}SamplingInterval.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}OutOfRangeTimeout.
winebth.sys: Remove GATT service entries when they are removed from the Unix Bluetooth service.
winebth.sys: Enumerate and store GATT characteristics for each LE device.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS.
winebth.sys: Remove GATT characteristic entries when they are removed from the Unix Bluetooth service.
bluetoothapis: Implement BluetoothGATTGetCharacteristics.
bluetoothapis/tests: Implement tests for BluetoothGATTGetCharacteristics.
winebth.sys: Set additional properties for remote Bluetooth devices.
Yeshun Ye (2):
dsound: Check if 'cbPropData' for DSPROPERTY_Description1 is large enough.
dsound/tests: Add test for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1.
Yongjie Yao (1):
wbemprox: Add Status property in Win32_DesktopMonitor.
Yuxuan Shui (10):
ntdll/tests: Check the context of a user callback.
ntdll: Also restore rbp before calling user mode callback.
cmd: Fix out-of-bound access when handling tilde modifiers.
d2d1: Fix out-of-bound array access.
cfgmgr32: Fix double-free of property buffers.
server: Fix use-after-free in screen_buffer_destroy.
urlmon/tests: Fix test_PersistentZoneIdentifier freeing the wrong thing.
urlmon/tests: Fix out-of-bound write into tmp_dir.
ntdll: Fix inconsistency in LFH block size calculation during realloc.
rpcrt4: Don't read past the end of params in client_do_args.
Zhao Yi (1):
wined3d: Return error code when Vulkan swapchain creation fails.
Zhiyi Zhang (23):
user32/tests: Test WM_PRINT with an invisible parent.
win32u: Allow PRF_CHILDREN to paint even though child windows have an invisible parent.
include: Add windows.ui.windowmanagement.idl.
include: Add Windows.UI.ViewManagement.ApplicationView runtime class.
twinapi.appcore: Register some Windows.UI.ViewManagement.ApplicationView runtime classes.
twinapi.appcore: Register Windows.UI.ViewManagement.UIViewSettings runtime classes.
twinapi.appcore/tests: Add Windows.UI.ViewManagement.ApplicationView runtime class tests.
twinapi.appcore: Add Windows.UI.ViewManagement.ApplicationView runtime class stub.
include: Add AccessibilitySettings runtime class.
windows.ui/tests: Add IAccessibilitySettings tests.
windows.ui: Add IAccessibilitySettings stub.
windows.ui: Implement accessibilitysettings_get_HighContrast().
dwrite/tests: Add IDWriteFontDownloadQueue tests.
dwrite: Implement dwritefactory3_GetFontDownloadQueue().
d3d11: Return S_OK for d3d11_device_RegisterDeviceRemovedEvent().
light.msstyles: Make toolbar button background transparent at the center.
winemac.drv: Use a window level higher than kCGDockWindowLevel for WS_EX_TOPMOST windows.
windows.globalization/tests: Add IApplicationLanguagesStatics tests.
windows.globalization: Add IApplicationLanguagesStatics stub.
windows.globalization/tests: Add ILanguage2 tests.
windows.globalization: Implement ILanguage2.
windows.applicationmodel/tests: Add Windows.ApplicationModel.DesignMode tests.
windows.applicationmodel: Add Windows.ApplicationModel.DesignMode runtime class stub.
Ziqing Hui (10):
fonts: Make numbers bold for WineTahomaBold.
comctl32/tests: Check RGB value in test_alpha.
comctl32/tests: Test image bitmap bits in test_alpha.
comctl32/tests: Test adding 32bpp images with alpha to 24bpp image list.
comctl32/tests: Use winetest_{push,pop}_context in test_alpha.
comctl32/tests: Test image flags in test_alpha.
comctl32/tests: Also test v5 with test_alpha().
fonts: Make special ASCII characters bold for WineTahomaBold.
fonts: Make uppercase ASCII letters bold for WineTahomaBold.
fonts: Make lowercase ASCII letters bold for WineTahomaBold.
```
1
0
The Wine development release 10.12 is now available.
What's new in this release:
- Optional EGL backend in the X11 driver.
- Support for Bluetooth Low Energy services.
- More support for generating Windows Runtime metadata in WIDL.
- ARM64 builds enabled in Gitlab CI.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.12.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.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.12 (total 17):
- #19561 Very large memory leak when doing overlapped reads
- #38337 clang compiling warnings
- #42882 HDX server software: rs232 port access not working
- #52720 Speed up cmd.exe:batch in Wine
- #55776 Some game use video as intro will stock after video is finished
- #57204 after enable winedmo, Little Witch Nobeta video wont play anymore
- #57244 Train capacity 300% 2 will crash after enable the winedmo
- #57489 GetPointerPenInfo not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #57790 FindVUK doesn't show drive details
- #58263 Wine Internet Settings crashes on unimplemented function shdocvw.dll.ParseURLFromOutsideSourceW
- #58422 Soldier of Fortune II crashes on start
- #58423 Flickering in games using dxvk/vkd3d-proton on sway
- #58429 Betfair Poker setup never gets past the splash screen
- #58435 winepath -w conversion outputs wrong filenames
- #58436 x11, kotor keeps minimizing
- #58437 Total Commander 11.55 complains "Access denied" for EVERY file >= 1 MB in "Compare files by content"
- #58475 Wine Mono corlib tests cause wineserver to assert
### Changes since 10.11:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (3):
ntdll: Don't skip synchronous read when serial read timeout is infinite.
inetcpl: Restore parse_url_from_outside implementation.
ntdll: Detect the optical disc type on Linux using a SCSI command.
Alexandre Julliard (16):
server: Always use the thread Unix id in ptrace().
rpcrt4: Silence compiler warnings about pointer wraparound.
gitlab: Build an arm64 image.
ntdll: Remove duplicate backslashes in get_unix_full_path().
winevulkan: Skip a couple of unneeded conversion functions.
gitlab: Add an ARM64 build.
faudio: Import upstream release 25.07.
gitlab: Update sarif-converter URL.
ntdll: Get rid of the wine_unix_to_nt_file_name syscall.
ntdll: Unify the Unix to NT path conversion helpers.
gitlab: Add a daily test run for new wow64 mode.
winetest: Use compiler macros to generate the compiler version info.
winex11: Disable more wintab code when support is missing.
oleaut32: Use DOUBLE type where appropriate to match the PSDK.
include: Use aligned int64 types where possible.
setupapi/tests: Don't test an uninitialized value.
Alexandros Frantzis (2):
winewayland: Use system cursor shapes when possible.
winewayland: Support layered windows with per-pixel alpha.
Alfred Agrell (1):
include: Enable __uuidof(IUnknown).
Alistair Leslie-Hughes (2):
shell32: Avoid closing a handle twice.
msado15: Implement _Connection::get_version.
Anton Baskanov (1):
quartz: Decommit the allocator before entering the streaming CS in AVIDec.
Arkadiusz Hiler (1):
cfgmgr32: Preserve registry casing when getting device interface list.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
dxcore/tests: Skip tests when there is no display available.
Brendan McGrath (3):
winegstreamer: Remove 'au' alignment for h264.
winegstreamer: Signal eos on disconnect.
winegstreamer: Don't hold lock during wg_parser_stream_get_buffer.
Connor McAdams (2):
d3dx9: Replace txc_fetch_dxtn with bcdec.
d3dx9: Replace txc_compress_dxtn with stb_dxt.
Daniel Lehman (3):
ucrtbase/tests: Add tests for expf.
ucrtbase/tests: Move exp tests from msvcr120.
include: Add _wcstod_l declaration.
Dmitry Timoshkov (1):
ntdll: Initialization of XState features should not depend on AVX support.
Elizabeth Figura (5):
kernel32/tests: Test opening a directory with ReOpenFile().
kernelbase: Use FILE_NON_DIRECTORY_FILE in ReOpenFile().
ntdll/tests: Add comprehensive reparse point tests.
kernel32/tests: Test CreateSymbolicLink().
xaudio2: Do not register classes from xapofx or x3daudio dlls.
Eric Pouech (7):
cmd: Introduce struct batch_file to hold information about a .cmd file.
cmd: Add a cache for the labels lookup.
cmd/tests: Add tests about .cmd file alteration while executing it.
widl: Fix segfault when inheriting from an incomplete interface.
widl: Remove unneeded condition.
widl: Ensure inherited interface is declared before using it.
include: Remove duplicated declarations in .idl files.
Esme Povirk (3):
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for status controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for toolbars.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for progress bars.
Gabriel Ivăncescu (4):
mshtml: Clear the document before opening it for writing.
mshtml: Implement document.linkColor.
mshtml: Implement document.vLinkColor.
mshtml: Don't add HTMLDOMNode props to the NodeList.
Hans Leidekker (16):
widl: Add rows for the static attribute.
widl: Add TYPE_ATTR_ABSTRACT flag if a runtime class has no member interfaces.
widl: Add rows for the default attribute.
widl: Add rows for the activatable attribute.
widl: Add rows for the threading attribute.
widl: Add rows for the marshalingbehavior attribute.
widl: Relax check on runtimeclass definitions.
widl: Store a variable pointer instead of a declaration in expressions.
widl: Store the runtimeclass for constructor interfaces.
widl: Factor out an add_member_interfaces() helper.
widl: Add rows for static interfaces.
widl: Include version in activatable attribute value.
widl: Add rows for activation interfaces.
widl: Add rows for the composable attribute.
widl: Add rows for composition interfaces.
widl: Skip writing metadata if winrt_mode is not set.
Huw D. M. Davies (1):
kernel32: Use the correct buffer length.
Jacek Caban (8):
webservices: Don't assume that enum is unsigned in WsInitializeMessage.
dmime/tests: Use ceil instead of round.
configure: Build PEs with -ffp-exception-behavior=maytrap.
d3dcompiler: Don't assume that enum is unsigned in d3dcompiler_get_blob_part.
d3dcompiler: Handle all D3D_BLOB_PART values in d3dcompiler_get_blob_part validation.
d3dcompiler: Use __WINE_CRT_PRINTF_ATTR.
wined3d: Use __WINE_CRT_PRINTF_ATTR.
widl: Rename metadata stream type enum values to avoid conflict with Cygwin limits.h.
Joe Souza (3):
cmd: COPY should output file names as they are copied.
cmd/tests: Add tests to verify COPY command output.
cmd: Allow '+' as delimiter for tab-completion, e.g. 'copy file+file2'.
Mike Kozelkov (1):
urlmon: Add PersistentZoneIdentifier COM object stubs.
Nikolay Sivov (2):
kernel32: Add a stub for CreateBoundaryDescriptorA().
include: Remove duplicated CreateBoundaryDescriptorW() definition.
Owen Rudge (1):
mshtml: Implement document.aLinkColor.
Paul Gofman (5):
user32/tests: Add tests for STARTF_USESHOWWINDOW.
win32u: Respect STARTF_USESHOWWINDOW in show_window().
winepulse.drv: Avoid hangs on exit when pulse main loop thread gets killed.
winebus.sys: Check for udev_device_get_subsystem() error in udev_add_device().
winebus.sys: Close fd if device is not handled in udev_add_device().
Ryan Houdek (1):
wineboot: Detect TSC frequency on Arm64.
Rémi Bernon (64):
winex11: Release the GL drawable on creation failure.
win32u: Keep window GL drawables in a global linked list.
win32u: Notify the drivers when GL drawables are detached.
win32u: Update opengl drawables with window state.
win32u: Update the window state in more places.
winewayland: Drop now unnecessary GL drawable tracking.
winex11: Remove now unnecessary drawable tracking.
winewayland: Remove unnecessary context config.
wineandroid: Remove unnecessary context config.
win32u: Move EGL context creation out of the drivers.
winewayland: Only detach/attach client surface if it is different.
opengl32: Do not filter legacy extensions.
opengl32: Add a helper to read OpenGL registry options.
opengl32: Add an EnabledExtensions registry option.
user32: Init class name outside of get_versioned_name.
user32: Move user32_module default out of get_class_info.
user32: Load class module in get_class_version.
user32: Move get_class_version out of get_class_info.
comctl32: Fix class name case in manifest.
user32: Always copy class names to a temporary buffer.
win32u: Add traces to wglGetExtensionsString*.
win32u: Add an EGLSurface pointer to opengl_drawable struct.
win32u: Move EGL make_current context function out of the drivers.
winex11: Remove now unnecessary x11drv_context structure.
winex11: Add an option to use the new EGL OpenGL backend.
winemac: Remove now unnecessary pbuffer tracking.
win32u: Avoid calling detach, flush or swap on pbuffer drawables.
win32u: Avoid releasing opengl drawable within drawables_lock.
win32u: Implement generic EGL driver pbuffer surface.
winewayland: Use a distinct wayland_pbuffer struct for pbuffers.
win32u: Remove now unnecessary opengl_drawable hdc member.
win32u: Remove VkResult from surface_presented functions.
win32u: Introduce a new client_surface struct for vulkan surfaces.
win32u: Keep client surfaces in a global list.
win32u: Update client surfaces when window state changes.
win32u: Present client surfaces through the vtable.
mf/session: Clarify internal states from session states separation.
mf/session: Move internal states to a separate command_state enum.
mf/session: Remove unnecessary SESSION_FLAG_PENDING_COMMAND flag.
mf/session: Replace SESSION_FLAG_FINALIZE_SINKS with dedicated states.
mf/session: Replace SESSION_FLAG_END_OF_PRESENTATION with dedicated states.
mf/session: Introduce a SESSION_FLAG_SOURCE_SHUTDOWN presentation flag.
mf/session: Simplify the media session shutdown event handling.
win32u: Fix incorrect length in font extension check.
winegstreamer: Force h264parse to output 'au' aligned byte-stream.
mp3dmod: Fix some media type leaks.
mp3dmod: Avoid uninitialized variable access.
winegstreamer: Fix some video decoder media type leaks.
mf/tests: Fix some leaks in transform tests.
mf/tests: Avoid leaking D3D resources through IMFTrackedSample.
mf/tests: Skip memory-hungry H264 encoder tests on 32bit.
mfplat/tests: Add more tests for event queue shutdown.
mfsrcsnk: Queue an event before shutting down the event queues.
winegstreamer: Queue an event before shutting down the event queues.
mf/session: Handle an optional MEError event from sources on shutdown.
winegstreamer: Remove now unnecessary IMFMediaShutdownNotify.
mf/session: Remove now unnecessary IMFMediaShutdownNotify.
include: Remove now unnecessary IMFMediaShutdownNotify interface.
winewayland: Clear the current client surface on vulkan detach.
winewayland: Merge the vulkan client surface with wayland_client_surface.
winex11: Move client surface code out of vulkan ifdef.
winex11: Create client surfaces for opengl drawables.
win32u: Replace opengl drawables tracking with client surfaces.
server: Keep owned mutex syncs alive until abandoned.
Shaun Ren (11):
sapi/tests: Copy SPVTEXTFRAG list into a contiguous array.
sapi/tests: Introduce simulate_output option in tts.
sapi/tests: Add some SSML tests in tts.
sapi/tts: Support XML-related flags in ISpVoice::Speak.
sapi/xml: Add a stub SSML parser.
sapi/xml: Parse the <speak> SSML root element.
sapi/xml: Implement add_sapi_text_fragement().
sapi/xml: Parse the <p> and <s> SSML elements.
sapi/xml: Parse the rate attribute in the SSML <prosody> element.
sapi/xml: Parse the volume attribute in the <prosody> SSML element.
sapi/xml: Parse the pitch attribute in the <prosody> SSML element.
Vibhav Pant (17):
include: Add devquerydef.h.
include: Add devfiltertypes.h.
include: Add devquery.h.
cfgmgr32/tests: Add tests for DevGetObjects.
cfgmgr32: Add a basic implementation for DevGetObjects(Ex) for device interface objects.
ntoskrnl.exe/tests: Add tests for Io{Get,Set}DeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoGetDeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoSetDeviceInterfacePropertyData.
cfgmgr32/tests: Add tests for fetching specific properties in DevGetObjects.
cfgmgr32: Stub DevCreateObjectQuery(Ex) functions.
cfgmgr32: Implement initial device enumeration for DevCreateObjectQuery.
cfgmgr32: Support fetching properties for device objects in Dev{GetObjects, CreateObjectQueryEx}.
winebth.sys: Create PDOs for remote Bluetooth devices.
winebth.sys: Store a list of GATT services discovered on LE devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_SERVICES.
bluetoothapis: Implement BluetoothGATTGetServices.
bluetoothapis/tests: Add tests for BluetoothGATTGetServices.
Yuxuan Shui (11):
mscoree/tests: Fix string lengths passed to RegSetKeyValueA.
msvcp90: Fix vector_base_v4 allocation sizes.
msvcp90: Fix calculation of segment addresses in vector.
msvcrt: Don't release io memory during process shutdown.
wined3d: Fix missing data/resource type bounds check.
dxgi/tests: Fix out-of-bound in test_cursor_clipping.
ddraw/tests: Release device after ddraw.
d3dx9/tests: Fix volume test boxes.
wined3d: Fix double-free when shader_set_function fails.
quartz/tests: Fix out-of-bound use of video_types in test_connect_pin.
dsound: Make sure to null-terminate strings for callbacks.
Zhiyi Zhang (10):
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
comctl32/listview: Validate header region after painting it.
bcp47langs: Add GetFontFallbackLanguageList() stub.
gdiplus/tests: Test drawing indexed bitmaps with a palette that has alpha.
gdiplus: Fix drawing indexed bitmaps with a palette that has alpha.
gdiplus: Don't zero out allocated memory in GdipAlloc().
win32u: Limit the work area to the monitor rect.
user32/tests: Add some tests for DefWindowProc() WM_PRINT message handling.
win32u: Fix the return value for WM_PRINT handling in DefWindowProc().
win32u: Support PRF_CHILDREN when handling WM_PRINT for DefWindowProc().
Ziqing Hui (1):
shell32: Rework FO_MOVE operation for SHFileOperationW.
```
1
0