The Wine development release 9.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc3 (total 35):
- #51314 vulkan-1:vulkan crashes on Windows with recent Radeon drivers
- #51478 dinput:device8 breaks user32:input's test_keyboard_layout_name() in some locales ()
- #52971 HardWest 2 (playtest) is broken with OpenGL/Vulkan backend
- #53166 Star Wars : Fallen Order crashes at launch
- #53726 Silent Hill 4: The Room low res videos are not played (needs CLSID_CMpegVideoCodec)
- #54381 tightvnc viewer crashes on connection
- #54878 WinSCP 5.21.1.12643 doesn't list files when Windows version is set to 10
- #55005 Program Treecomp - some widgets are not drawn
- #55061 Starcraft Remastered: blurry graphics / low resolution
- #55161 IrfanView full screen mode creates an unneeded and uncalled for permanent overlaying panel
- #55288 advapi32:registry & ntdll:reg - The 32-bit test_redirection() fails if run after the 64 WineTest
- #55306 Cannot double click in the server browser in Worms Armageddon
- #55327 user32:input - test_ActivateKeyboardLayout() fails on Windows 7 for the Spanish locale
- #55328 user32:input - test_keyboard_layout_name() fails on Windows 7 for the Spanish locale
- #55394 comctl32:listbox - test_LBS_NODATA() fails in Wine for the Hindi locale
- #55439 RPG Maker game crashes
- #55446 Using C run-time for unicode strings comparison breaks case insensitive LB_FINDSTRING
- #55578 kernel32:loader - test_section_access() sometimes fails on Windows 8
- #55582 Civilization 2 crashes when setting up new game
- #55655 user32:dialog - test_IsDialogMessageA_proc() fails in the Hindi locale on Wine
- #55667 kernel32:file - test_MapFile() fails on macOS
- #55773 Railroad Tycoon 2 Platinum (Steam, GOG) crashes when changing to 800X600 resolution
- #55903 Falcon BMS 4.37u3: game randomly fails to load 3D models
- #55942 Crazy Chicken Approaching - Nebula Assertion and Visual C++ Runtime Library Errors
- #55962 Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib
- #55967 app regression; SWATH stops working at all as of 8.18
- #56001 Some shortcut keys don't work with winewayland when focus is lost and restored
- #56015 SysTray doesn't work for (and crashes) WiseReminder
- #56022 Wine 9.0-rc1 wayland: Cursor does not move on some surfaces
- #56026 Wine 9.0-rc1 Wayland: Mouse buttons 3-6 do not work
- #56033 winewayland.drv: Alt-shift to change the input language appears like Shift is pressed all the time
- #56039 winecfg does no longer run after export WINEARCH=win32
- #56046 Pegasus Mail 4.80 regression: Pointer does not change
- #56048 winedbg --auto: shows incomplete modules list
- #56053 Regression on fallout 3 in the new wow64 mode
----------------------------------------------------------------
Changes since 9.0-rc2:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (5):
wow64: Initialize the syscall dispatcher in the 32-bit TEB.
user32: Fix string comparison for listbox inexact matches.
ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
winecfg: Support all Windows versions also in 64-bit mode.
comctl32: Fix string comparison for listbox inexact matches.
Alistair Leslie-Hughes (1):
msdasql/tests: Add missing carriage returns.
Bernhard Übelacker (1):
winedbg: Retrieve module architecture before sorting.
Brendan McGrath (1):
server: Always release internal hardware messages.
Eric Pouech (7):
riched20: Don't crash when no OLE obj is present.
riched20: Don't write past end of buffer.
dbghelp/tests: Extend tests for module loading.
dbghelp: Fix some tests for SymLoadModule*().
winmm: Fill in pIOProc field in MMIOINFO.
dbghelp/tests: Wait for child window to be up before testing.
winedbg: Fix main module detection in 'info share' command.
Fabian Maurer (1):
wineps: Don't leak memory in error case (Coverity).
Georg Lehmann (1):
vulkan-1/tests: Enable feature in private data test.
Huw D. M. Davies (2):
dnsapi: Update the array ptr in the insufficient buffer case.
dnsapi: Free the buffer in the early return paths.
Jacek Caban (1):
win32u: Use 32-bit window extra size on wow64.
Nikolay Sivov (1):
oleaut32/typelib: Add a missing break (Coverity).
Paul Gofman (3):
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
include: Fix boolean return value definition in IIterator<T> methods.
dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK.
Rémi Bernon (16):
user32/tests: Dynamically resize the keyboard layout preload list.
user32/tests: Skip some keyboard layout tests on broken VMs.
dinput/tests: Avoid calling UnloadKeyboardLayout.
user32/tests: Avoid calling UnloadKeyboardLayout.
server: Always queue mouse messages delivered to another window.
server: Ignore the capture window wrt desktop cursor changes.
imm32/tests: Fix HKL comparison when cleaning up preload list.
wined3d: Add more padding to resource memory allocations.
wined3d: Store the resource heap memory pointer separately.
server: Introduce a new get_desktop_cursor_thread_input helper.
server: Change desktop cursor only when inside the thread's windows.
dmime/tests: Check reference time and allow 0.5 tick difference.
dmime/tests: Allow small time variation in test_performance_time.
dmime/tests: Allow small time variation in test_segment_state.
dmime/tests: Add optional notification sequence on segment stop.
dmime/tests: Remove some unnecessary and spuriously failing waits.
Zebediah Figura (1):
qcap/audiorecord: Do not leak the sample when pausing or stopping.
Zhiyi Zhang (2):
user32/tests: Add more display DC tests.
win32u: Create a real bitmap object for display DCs.
The Wine development release 9.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc2 (total 33):
- #21550 Winedbg's disassembler doesn't support SSE2 instructions
- #27916 Ferro CCTV: Fails to start
- #45122 gdiplus/font test crashes under clang-5.0.1 but not gcc-7.3.0
- #45123 gdiplus/graphicspath test crashes under clang-5.0.1 but not gcc-7.3.0
- #52000 EA Desktop fails to install using French locale
- #52883 Improve support for high-level graphic settings in The Settlers: Heritage of Kings
- #53845 Regression in GetCalendarInfoEx et al
- #54115 wine client error:68: write: Bad file descriptor
- #54361 Winebus doesn't enumerate hid devices (in a --without-sdl build) unless SDL also disabled by winebus registry key
- #54402 Borland Turbo CPP 4.5 installer deadlocks on start
- #54616 Memory Access Violation in Libaes.dll, Texecom Wintex
- #54769 major regression in dnSpy startup time
- #54847 dnsapi:query - test_DnsQuery() fails on the TestBot VMs in Windows and Wine
- #54987 Waves Central does not launch
- #55179 Garmin MapSource drag & drop doesn't work in center of window
- #55561 kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode
- #55569 mshtml:dom - The 32-bit test_attr_collection_attr() crashes on Windows 10 2004+
- #55588 mf:mf - test_scheme_resolvers() crashes on Windows 7
- #55638 mf:transform - test_h264_decoder_concat_streams() sometimes fails on Windows 7
- #55649 quartz:vmr9 - test_changed3ddevice() fails on the TestBot's w11pro64-amd & -nv VMs
- #55703 AstroArt crashes when trying to drag and drop files from one pane to another
- #55761 PLSQL Developer: Access Violation when trying to log in
- #55774 Sid Meier's Alpha Centauri: invisible mouse pointer
- #55783 Pronote 2023 can't load native msxml6
- #55809 FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable
- #55813 Hitomi Downloader fails with "[Errno 9] Bad file descriptor"
- #55833 Multiple 64bit programs crash due to pointer truncation (HeidiSQL 12.5.0.6677, Falcon BMS 4.37u3, PNGGauntlet, PLSQL Developer, ...)
- #55863 Wine fails to build on macOS with LLVM 17
- #55908 PNGGauntlet expects LocalAlloc addresses to fit into 32bit int, breaks on 64bit due to recent memory changes
- #55972 Dolphin Emulator requires GetProcessInformation (since 5.0-16711)
- #55993 PLSQL Developer: Hangs when trying to connect a database.
- #55995 Wine 9.0-rc1 Wayland cursor does not move on some surfaces
- #56006 CrystalDiskInfo: Unhandled exception crashes DiskInfo64.exe
----------------------------------------------------------------
Changes since 9.0-rc1:
Akihiro Sagawa (2):
winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
comctl32/tests: Store old DPI awareness context.
Alexandre Julliard (13):
server: Leave some free space between modules in ASLR mode.
kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
ntdll: Switch to the kernel stack before restoring the pthread TEB.
ntdll: Switch to the user stack before restoring the %fs register.
ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
krnl386: Don't release the Win16 lock when exiting a task.
server: Enforce a mapping size limit instead of relying on the Unix file system.
kernel32/tests: Don't bother checking for errors in cleanup path.
user32: Support utf-8 in WM_CHAR W->A conversion.
oleaut32/tests: Use winetest contexts instead of traces in the typelib test.
Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms.
Alexandros Frantzis (5):
winewayland.drv: Avoid deadlock when determining whether a window is managed.
winewayland.drv: Avoid transient deactivation of foreground thread.
winewayland.drv: Consider implicit fullscreen clip for pointer locking.
winewayland.drv: Release all keys on keyboard focus loss.
winewayland.drv: Support mouse buttons 4 and 5.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
po: Update Polish translation.
Bernhard Übelacker (1):
uxtheme: Add stub for IsDarkModeAllowedForWindow.
Biswapriyo Nath (1):
include: Add SampleGrabber coclass definition in qedit.idl.
Eric Pouech (4):
winedump: Don't fail on extra stream entry in PDB.
dbghelp: Allow an extra stream index entry in PDB files.
winedump: Skip deleted vector in hash inside PDB header.
dbghelp: Skip deleted vector in hash inside PDB header.
Fabian Maurer (1):
gdiplus: Prevent uninitializd memory access (Coverity).
Floris Renaud (1):
po: Update Dutch translation.
Hans Lehnert (1):
gdiplus: Fix invalid pointer returned when failing to create font.
Hans Leidekker (2):
dnsapi/tests: Don't test extra records returned for CNAME query.
kernel32/tests: Fix ProcessMachineTypeInfo tests.
Jacek Caban (3):
dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec.
configure: Enable -Wenum-conversion warnings.
ntdll: Declare seh debug channel in signal_arm64ec.c.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Rémi Bernon (6):
winebus: Return backend init status from bus_main_thread_start.
mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
server: Peek wine internal driver messages regardless of filter.
server: Update the desktop cursor position / window on click.
server: Use the capture window as cursor window if it is set.
Sven Baars (2):
sapi/tests: Remove registry keys created by SetId().
sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
The Wine development release 9.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 9.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 9.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.10.
- Support for DH encryption keys with a recent GnuTLS.
- Keyboard layouts support in the Wayland driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc1 (total 42):
- #13340 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because IMultiLanguage2_GetCharsetInfo doesn't like "ISO8859-1"
- #34537 Athena's Charm Table search 0.35b wants msvcm90.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z
- #47699 Multiple applications need support for ECDH key generation via bcrypt (For Honor, STEEP, Far Cry 5)
- #48972 Bugs found by static analyzers
- #49527 Printing with font Chilanka crashes Notepad and Word
- #49543 Several games require bcrypt DH support
- #53175 Roon fails to start
- #54037 user32:msg - test_SendMessage_other_thread() sometimes gets a todo success (GitLab CI)
- #54731 vbscript: stack_pop_bool doesn't support floats or ole color
- #54999 Process Explorer from Sysinternals shows a blank window
- #55045 NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
- #55052 vbscript: For loop where right bound is string coercion issue
- #55054 WineServer crash. (complete_async_poll: Assertion `output->count == signaled_count' failed)
- #55065 user32:monitor - check_preferred_mode() fails on the TestBot's debiant VM
- #55075 Araxis Merge 2023.5877 needs api-ms-win-core-com-l2-1-1.dll
- #55115 widl crashes with dlls/sti after adding wia_lh.idl
- #55185 vbscript round does not handle numdecimalplaces argument
- #55210 Hatching printed with wrong stripes direction in Framemaker 8
- #55502 vbscript: Sub argument name clash with global const
- #55536 Aldec Active-HDL student edition: crashes when trying to open a file on unimplemented function SHELL32.dll.SHSetTemporaryPropertyForItem
- #55591 Castlevania: Lords of Shadow 2 has rendering glitches
- #55671 Internet Download Manager needs unimplemented function shcore.dll.RegisterScaleChangeEvent
- #55807 uiautomationcore:uiautomation - test_uia_com_event_handler_event_advisement() fails on Windows 10 1709
- #55812 Air Jura crashes
- #55843 Virtual Desktop spams "Failed to read display config."
- #55851 SpeedCommander needs shell32.SHCreateItemWithParent()
- #55852 can't print, even from notepad to pdf
- #55867 Roon 2.0.23 crashes due to unimplemented function shcore.dll.CreateRandomAccessStreamOverStream
- #55890 Eurobattle installer fails to run
- #55892 .NET 8 Windows Forms crashes due to missing DPI functions in user32
- #55899 Daily Chthonicle - performance regression
- #55920 ModOrganizer crashes: Call to unimplemented function USER32.dll.SetDisplayAutoRotationPreferences
- #55927 RestoreDC appears to fail with printers
- #55931 VarMod(Empty, N) returns uninitialized result
- #55935 wine-8.21 build fails in Ubuntu x86_64
- #55950 An attempt to print from 'wine iexplore' leads to a crash
- #55959 _mbsicoll generates exceptions, in Simplified Chinese language linux systems
- #55963 Acid-V VST plugin crashes when removed from a track
- #55966 Crimson Skies freeze in menu
- #55968 MIDITrail 1.4.0 shows an error on start (DWMWA_EXTENDED_FRAME_BOUNDS isn't implemented)
- #55969 vbscript fails to return TypeName for Nothing
- #55973 Printing from iexplore results the images being printed as black rectangles
----------------------------------------------------------------
Changes since 8.21:
Aida Jonikienė (3):
wined3d: Add extra debug info to shader_set_limits().
comctl32: Only print TREEVIEW_HandleTimer() ERR once.
dsdmo: Only print effect_inplace_Process() FIXME once.
Akihiro Sagawa (1):
dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Alex Henrie (16):
comdlg32/tests: Use CRT allocation functions.
d3dx9_36/tests: Use CRT allocation functions.
cabarc: Use CRT allocation functions.
uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC.
uxtheme: Use CRT allocation functions.
d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC).
uxtheme/tests: Add some tests for OpenThemeFile.
gdiplus: Use CRT allocation functions.
d3dx9: Use CRT allocation functions.
ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData.
ole32/tests: Use CRT allocation functions.
mscoree: Use CRT allocation functions.
mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC).
user32: Correct capitalization of SetDeskWallpaper.
user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
explorer: Add an "Exit desktop" button to the Start menu.
Alexandre Julliard (61):
ntdll: Store the syscall table in the TEB on x86-64.
ntdll: Store the syscall table in the TEB on ARM64.
ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
winealsa.drv: Remove DECLSPEC_HIDDEN usage.
winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage.
wineoss.drv: Remove DECLSPEC_HIDDEN usage.
gphoto2.ds: Remove DECLSPEC_HIDDEN usage.
sane.ds: Remove DECLSPEC_HIDDEN usage.
dwrite: Remove DECLSPEC_HIDDEN usage.
mscoree: Remove DECLSPEC_HIDDEN usage.
opencl: Remove DECLSPEC_HIDDEN usage.
wined3d: Remove DECLSPEC_HIDDEN usage.
winegstreamer: Remove DECLSPEC_HIDDEN usage.
wineboot: Remove a noisy FIXME.
wineandroid.drv: Remove DECLSPEC_HIDDEN usage.
winemac.drv: Remove DECLSPEC_HIDDEN usage.
winewayland.drv: Remove DECLSPEC_HIDDEN usage.
winex11.drv: Remove DECLSPEC_HIDDEN usage.
include: Remove DECLSPEC_HIDDEN definition.
include: Make strict prototypes the default.
ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
ntdll: Allow unwind rules to override the default stack pointer assignment.
ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little.
ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64.
ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
ntdll/tests: Remove some noisy traces.
ntdll/tests: Fix some compiler warnings on ARM.
ntdll: Implement context and machine frame unwind operations on ARM.
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
winedump: Add dumping of UWOP_EPILOG entries.
winedump: Add a couple of ARM unwind codes.
faudio: Import upstream release 23.12.
configure: Require SEH support for PE builds.
ntdll: Fix breakpoint exceptions on ARM.
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
winedump: Also dump ARM64 exception information for ARM64EC binaries.
ntdll: Add a helper to build a path and exec it.
ntdll: Use posix_spawn() to start the server.
ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable.
vkd3d: Import upstream release 1.10.
winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables.
ntdll: Implement KiUserCallbackDispatcher for ARM64EC.
ntdll: Implement KiUserApcDispatcher for ARM64EC.
kernelbase: Implement DebugBreak() for ARM64EC.
kernelbase: Implement SwitchToFiber on ARM64EC.
msvcrt: Add a stub ARM64EC CPU backend.
configure: Disable building programs for ARM64EC.
windowscodecs: Don't free memory at process exit.
winepulse.drv: Don't free memory at process exit.
ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
Alexandros Frantzis (12):
winewayland.drv: Implement vkQueuePresentKHR.
winewayland.drv: Detect and report vkQueuePresentKHR errors.
winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
winewayland.drv: Apply client subsurface position on creation.
winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
winewayland.drv: Handle window foreground state on keyboard focus.
winewayland.drv: Remove duplicate handling of wp_viewporter global.
winewayland.drv: Implement ClipCursor.
winewayland.drv: Implement relative mouse motion.
winewayland.drv: Lock the pointer if confined without cursor.
winewayland.drv: Apply surface configuration during Vulkan presentation.
Alfred Agrell (11):
quartz/tests: Improve VMR9 ChangeD3DDevice test.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Implement compressed output support in WMSyncReader.
wmvcore/tests: Add tests for compressed output.
winegstreamer: Don't use VIDEOINFO for non-RGB data.
winegstreamer: Fix a memory leak in stream_props_GetMediaType.
winegstreamer: Delete duplicate WMT_ON check.
Anton Baskanov (7):
winegstreamer: Wake all streaming threads after seeking.
amstream/tests: Test IEnumPins with two streams.
amstream: Use correct index in MediaStreamFilter's IEnumPins::Next().
amstream/tests: Add quality control tests.
amstream: Send quality control messages from AMDirectDrawStream::Receive.
quartz/tests: Add quality control tests for CMpegVideoCodec.
winegstreamer: Handle quality control messages in CMpegVideoCodec.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Bernhard Übelacker (1):
mlang: Allow encoding name "ISO8859-1".
Billy Laws (1):
kernel32: Export RtlIsEcCode().
Biswapriyo Nath (1):
include: Update d3d12sdklayers.idl from vkd3d.
Brendan McGrath (11):
d2d1: Add test for multithreaded draw.
d2d1: Add test for singlethreaded draw.
d2d1: Acquire lock before attempt to draw to device context.
user32/tests: Add tests for word breaks before punctuation.
user32: Wrap at whitespace rather than soft break.
comctl32/tests: Add test for setitemsize return value.
comctl32: Fix TAB_SetItemSize.
comctl32: Use selected font to determine default min tab width.
comctl32/tests: Fix tabcontrol tests to work with different fonts.
comctl32/tests: Check size initially and after changing padding only.
comctl32/tests: Modify test_width to try different fonts.
Brendan Shanks (3):
ntdll: Fix macOS build error with LLVM 17.
winemac: Use RTL_CONSTANT_STRING.
winecoreaudio: Use UID as device string.
Daniel Lehman (5):
msxml3: Handle null prefix in get_item.
msxml3: Handle default namespace in get_baseName.
msxml3: Handle default namespace in get_nodeName.
msxml3: Handle default namespace in get_prefix.
msxml3: Handle default namespace in get_namespaceURI.
Eric Pouech (16):
dmime: Add Release() on some codepaths.
msiexec: No longer use console/file output APIs.
winecfg: Output with MESSAGE.
uninstall: No longer use console/file output APIs.
ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
kernel32/tests: Add more tests about CreateProcess.
ntdll: Restrict cases for std handle inheritance in CreateProcess().
kernelbase: Reset std handles gotten from GetStartupInfo().
kernel32/tests: Identify untouched fields returned from GetStartupInfo.
kernel32/tests: Add tests for GetStartupInfo(A|W).
kernelbase: No longer cache GetStartupInfoW() results.
kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
ntdll: Don't inherit std console handles for non CUI child process.
ntdll: Don't create Unix console for GUI apps.
Esme Povirk (2):
user32/tests: Add a simpler test for SetParent's internal message.
user32/tests: Remove test_SendMessage_other_thread(2).
Etaash Mathamsetty (1):
cfgmgr32: Add CM_Register_Notification stub.
Fabian Maurer (19):
user32: Add stub for GetThreadDpiHostingBehavior.
user32: Fix spec entry for SetThreadDpiHostingBehavior.
widl: Prevent infinite loop when structure contains array of itself.
widl: In type_has_full_pointer recurse for pointer types as well.
server: Initialize pe image struct padding to avoid Valgrind warning.
coml2: Add dll and move code from ole32/memlockbytes.c.
coml2: Move GetConvertStg from ole32.
coml2: Move ReadClassStm from ole32.
coml2: Move ReadClassStg from ole32.
coml2: Move WriteClassStm from ole32.
coml2: Move WriteClassStg from ole32.
server: Check socket flags after all sockets got processed.
apisetschema: Add api-ms-win-core-com-l2-1-1.
coml2: Move StgIsStorageILockBytes from ole32.
coml2: Move StgIsStorageFile from ole32.
coml2: Move FmtIdToPropStgName from ole32.
coml2: Move PropStgNameToFmtId from ole32.
coml2: Move StgCreatePropSetStg from ole32.
net: Accept yes/no switches.
Gabriel Ivăncescu (21):
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually unlinked.
mshtml: Don't rely on the outer_window in document.mimeType.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
mshtml: Return failure in IHTMLDocument2::frames for detached documents.
mshtml: Return failure in IHTMLDocument2::domain for detached documents.
mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
mshtml: Return failure in IHTMLDocument2::open() for detached documents.
mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
mshtml: Skip navigation handling on anchor/area elements for detached documents.
mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Expose the other IHTMLEventObj* interfaces.
mshtml: Don't expose "restricted" members.
mshtml: Send proper legacy storage event with actual url.
mshtml: Implement `url` prop for StorageEvent objs.
mshtml/tests: Fix VariantClear on uninitialized variable.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.272.
Hans Leidekker (7):
bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
bcrypt: Implement BCryptDeriveKey().
bcrypt: Add support for generating DH keys.
bcrypt: Add support for exporting DH keys.
bcrypt: Add support for importing DH keys.
bcrypt: Add support for duplicating DH keys.
bcrypt/tests: Add DH tests.
Haoyang Chen (2):
rpcrt4: Support for explicit handle passing.
rpcrt4/tests: Test explicit_handle.
Henri Verbeet (2):
dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present().
Jacek Caban (11):
configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro.
configure: Use --no-default-config option on clang when available.
winegcc: Support --no-default-config argument.
configure: Don't use empty expression in clang check.
gitlab: Add clang build.
mshtml/tests: Add detached documents handling tests.
mshtml: Return failure in IHTMLDocument2::get_URL for detached documents.
mshtml: Return failure in IHTMLDocument2::put_URL for detached documents.
win32u: Provide extra space in buffers used to dispatch string getter messages.
user32: Remove unused argument for unpack_message.
ntdll: Remove unused valgrind_make_readable function.
Jactry Zeng (3):
ntdll: Use different variable names for Mac locales.
ntdll: Initialize locale from Mac language identifiers with script name.
ntdll: Try harder to fallback to neutral locales.
Jon Doron (1):
win32u: Add registry data for GPU memory size.
Louis Lenders (3):
shell32: Add stub for SHCreateItemWithParent.
shell32: Add stub for SHSetTemporaryPropertyForItem.
shcore: Add stub for CreateRandomAccessStreamOverStream.
Marc-Aurel Zent (1):
server: Add cross-platform get_path_from_fd function.
Matteo Bruni (6):
tools: Print the correct option in error messages.
d3dx9: Check for successful sprite draw in DrawTextW().
wined3d: Do a blocking wait for CS commands even when there are active queries.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Add a frametime debug channel.
wined3d: Add a bunch of d3d_perf traces.
Myah Caron (1):
user32: Add SetDisplayAutoRotationPreferences stub.
Nikolay Sivov (21):
oleaut32: Fully initialize VarMod() return value for Empty % x case.
oleaut32: Always reset return type for VarMod().
d3dx9/tests: Fix a crash when d3d9 object can't be created.
gdi32/emf: Add a helper to pad variable length record data.
gdi32/emf: Use padding helper in GdiComment().
gdi32/emf: Check for allocation failure in GdiComment().
gdi32/emf: Add description field padding.
gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records.
gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records.
gdi32/emf: Use public definition for EMREXTESCAPE record.
wineps: Use public definition for EMREXTESCAPE record.
gdi32/emf: Pad EMREXTESCAPE record data.
vbscript: Implement TypeName(Nothing).
vbscript: Coerce to VT_BOOL when evaluating jump conditions.
oleaut32/tests: Remove some of the function availability checks.
oleaut32/tests: Use wide string literals in some tests.
oleaut32/tests: Use existing helpers to trace variant values.
oleaut32/tests: Do not use VarCmp() to check results of other functions.
include: Add missing enum to wdm.h.
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Paul Gofman (3):
ntdll: Implement NtQueryInformationThread(ThreadIsTerminated).
setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}().
winhttp: Handle chunked requests.
Piotr Caban (14):
winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified.
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
wineps.drv: Fix EMR_SAVEDC record playback.
msvcrt: Initialize writable environment block in env_set.
gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut.
wineps.drv: Fix printing images from iexplore.
wineps.drv: Add paper source selection support in printer properties.
msvcrt: Accept <> characters in string literals in demangler.
msvcrt: Add partial support for managed handle demangling.
wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict.
wineps: Fix color handling in PSDRV_WriteDIBPatternDict.
winedump: Sync demangling code with msvcrt.
Robert Wilhelm (4):
oleaut32: Fix VarR8Round for negative numbers.
vbscript: Sub argument has precedence over global const and local dim.
vbscript: Handle numdecimalplaces argument in Round().
vbscript: For for loop bounds coerce string to real.
Rémi Bernon (52):
gitlab: Add windows tests to MR pipeline.
gitlab: Only run the modifieds tests on Windows for an MR.
win32u: Initialize sysparams before winstation.
win32u: Remove unnecessary config_key lazy initializations.
explorer: Remove unnecessary displayed icon array.
explorer: Split systray add/remove from show/hide_icon.
explorer: Create individual windows for the systray icons.
explorer: Display the individual systray icon windows.
explorer: Use the icon windows for their tooltips.
explorer: Position the balloons relative to the icon windows.
explorer: Handle balloon timer in the icons window proc.
explorer: Use an explicit display constant for hidden icons.
explorer: Support standalone systray window mode.
explorer: Cache the balloon window position.
wineboot: Compute and write the TSC frequency to registry ~Mhz.
dinput/tests: Use exotic axes ordering for winmm tests.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Search for debug report callback from the start of the chain.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Fix python linter warnings.
winewayland.drv: Handle and parse Xkb keymap events.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
explorer: Always set the systray icon tooltip text.
explorer: Hide the standalone systray window on close.
win32u: Introduce a new NtUserSystemTrayCall message call.
winemac: Use the new NotifyIcon user driver interface.
win32u: Introduce new SystrayDock driver entry points.
explorer: Use layered windows for the docked systray icons.
winex11: Use the new SystrayDock driver interface.
explorer: Remove now unnecessary wine_notify_icon support.
winevulkan: Use "host" more consistently instead of "native".
winex11: Use "host" instead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winevulkan: Remove unnecessary dispatch from make_vulkan.
ntdll: Set main_(argc|argv|envp) as early as possible.
winevulkan: Replace "loader_thunk" with dedicated dictionaries.
winevulkan: Use a dictionary in make_vulkan for manual unix thunks.
winevulkan: Use a dictionary for user driver entry points.
winevulkan: Remove redundant make_vulkan needs_unwrapping method.
winevulkan: Introduce a new convert_suffix make_vulkan helper.
winevulkan: Use an enumeration for make_vulkan unwrapping kinds.
winevulkan: Unwrap to driver or host depending on the function.
Torge Matthies (3):
winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Vijay Kiran Kamuju (6):
gdiplus: Add GdipDrawImageFX stub.
dsdmo: Add Distortion effect stub.
dsdmo: Add Gargle effect stub.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowNestedLoadModuleException function.
Yuxuan Shui (1):
dsound: Set position past the end of the buffer is invalid.
Zebediah Figura (33):
ntdll: Check for some more IP socket options at compile time.
ws2_32: Check for AI_ALL at compile time.
ntdll: Print a warning when LdrGetProcedureAddress() fails.
winmm: Reimplement joystick axis mapping.
ntdll: Allow specifying per-process channels.
winegstreamer: Allow videoconvert to parallelize in the parser.
wined3d: Explicitly bind 0 for a NULL SRV.
wined3d: Release the view's resource after destroying the view.
wined3d: Introduce an API for creating an identity SRV on a texture.
d3d9: Use wined3d_texture_acquire_identity_srv().
wined3d: Set d3d 1-9 textures in the state as SRVs.
wined3d: Remove an outdated comment.
wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix().
wined3d: Fix masking out the texcoord index in get_texture_matrix().
d3d9/tests: Add another test for drawing from a mapped buffer.
d3d9: Upload mapped dynamic vertex and index buffers before every draw.
d3d10core/tests: Mark a test as no longer todo.
d3d11core/tests: Mark a test as no longer todo.
quartz: Return the rect from get_default_rect() through a pointer.
quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9.
quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9.
quartz: Split the VMR into two separate filters.
quartz: Specify the mode as a VMRMode.
configure: Use -mpreferred-stack-boundary=2 on i386.
quartz: Stub CLSID_AllocPresenter.
quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter.
quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
quartz: Implement sample allocation in the VMR7 presenter.
wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets.
wined3d: Sleep when waiting for the CS thread.
Zhiyi Zhang (16):
dplayx: Fix a memory leak (Coverity).
oledb32: Fix a memory leak (Coverity).
ntdll: Fix an out-of-bounds write (Coverity).
ntdll: Fix a memory leak (Coverity).
wined3d: Fix a use after free (Coverity).
ntdll: Fix an out-of-bounds read (Coverity).
wbemprox: Fix a memory leak (Coverity).
win32u: Find the correct DIB driver in windrv_CreateDC().
mciwave: Use matching memory allocator (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
wininet: Fix a use-after-free (Coverity).
shell32: Fix a memory leak (Coverity).
ntdll: Fix a memory leak (Coverity).
gdiplus: Fix a memory leak (Coverity).
winegstreamer: Fix a memory leak (Coverity).
winegstreamer: Fix wg_transform_get_status() result check (Coverity).
Ziqing Hui (4):
winegstreamer: Avoid media sink command leaking.
winestreamer: Implement {Begin,End}Finalize for media sink.
winegstreamer: Implement wg_muxer_finalize.
winegstreamer: Set streamheader field for h264 caps.
The Wine development release 8.21 is now available.
What's new in this release:
- High-DPI scaling and initial Vulkan support in the Wayland driver.
- Beginnings of support for ARM64EC target.
- Updates to the locale database.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.21.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.21 (total 29):
- #9127 Multiple applications require system stream support in the MPEG-I splitter (Drome Racers, Ninki Seiyuu no Tsukukurikata)
- #22596 PhotoScape unable to change/save files
- #34197 RootMagic 6 error on launch (Invalid operation GDI+ (Code 1))
- #36739 PreSonus Studio One 2.6 user interface/controls text is invisible
- #47609 Multiple apps crash on unimplemented function msvcp140.dll.??0?$codecvt@_UDU_Mbstatet@@@std@@QEAA@_K@Z (Godhood, WechatOCR)
- #52963 d3d10core:d3d10core & d3d11:d3d11 - test_resinfo_instruction() fails on Debian 11 + Intel GPU
- #53287 MxManagementCenter crashes on unimplemented function msvcp140.dll.??0?$codecvt@_SDU_Mbstatet@@@std@@QEAA@_K@Z when adding a camera
- #54554 kernel32:file & ntdll:file get unexpected count values on Windows 11
- #54839 3DMark 2000: missing benchmark information
- #54962 GDI+ text rendering does not handle carriage returns
- #55058 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine
- #55165 Age of Empires II Definitive Edition quits on startup, due to WinVerifyTrust() failing on game binaries.
- #55215 user32:text - test_DrawTextCalcRect() crashes on Windows
- #55403 Office 2021 needs Windows.Management.Deployment.PackageManager
- #55437 Death Stranding: "Start" and "Back" buttons are reversed
- #55504 .NET 7 not working
- #55640 ModOrganizer 2.5.0 beta 5+ (Qt 6.5) requires a better uisettings3::GetColorValue implementation
- #55660 HID with more than 8 axis overwrites inputs after it
- #55709 Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier
- #55770 Port Royale 2: flickering in the menus and during gameplay
- #55788 Wayland driver: GNOME: no cursor over Wine windows when 2 monitors connected
- #55795 .NET 8 SDK Installer does not finish setup
- #55847 SetThreadDpiHostingBehavior not implemented
- #55886 No more audio (FreeBSD and OSS) since Wine 8.15
- #55888 Quicken stopped working after upgrading to wine 8.20
- #55898 WinSCP crashes with wine-8.20
- #55909 wine does not start with free(): invalid pointer when compiling without xrandr
- #55918 printf() can overrun the "p10s" buffer with certain values when using 24-bit precision
- #55929 wined3d: wined3d_state_get_ffp_texture() breaks DragonAge Origins
----------------------------------------------------------------
Changes since 8.20:
Alex Henrie (9):
user32/tests: Allocate clipboard data with HeapAlloc.
gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
winmm/tests: Use calloc instead of HeapAlloc.
sapi: Use CRT allocation functions.
ntoskrnl/tests: Put test_input on the stack in the main_test function.
d3dcompiler_43/tests: Use CRT allocation functions.
d3dcompiler_43: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Alexandre Julliard (72):
winebuild: Add a helper to build an ARM64EC function name.
winebuild: Include x86-64 entry points in ARM64EC builds.
makefiles: Avoid generating the .tab.c file twice with bison.
makefiles: Remove support for obsolete source variables.
winecrt0: Implement setjmp/longjmp for ARM64EC.
ntdll: Add a stub ARM64EC CPU backend.
ntdll: Don't use x86-64 assembly on ARM64EC.
ntdll: Export __chkstk_arm64ec().
makefiles: Use --defines instead of --header for compatibility with older bison.
ntdll: Set function pointers in the ARM64EC metadata on dll load.
ntdll: Implement __os_arm64x_check_call().
ntdll: Implement __os_arm64x_get/set_x64_information().
ntdll: Redirect PE function pointers through the ARM64EC redirection map.
ntdll: Remove DECLSPEC_HIDDEN usage.
make_specfiles: Generate a list of syscalls from the corresponding spec files.
ntdll: Use the generated syscall list.
win32u: Use the generated syscall list.
wow64: Use the generated syscall list.
wow64win: Use the generated syscall list.
wow64: Remove DECLSPEC_HIDDEN usage.
wow64cpu: Remove DECLSPEC_HIDDEN usage.
ntdll: Build the syscall argument array from the generated syscall list.
win32u: Set the syscall dispatcher on the PE side.
win32u: Build the syscall argument array from the generated syscall list.
win32u: Store the service table entry directly into the ntdll variable.
wow64: Build the syscall argument array from the generated list.
winebuild: Stop generating the syscall argument array and related data.
win32u: Remove DECLSPEC_HIDDEN usage.
tools: Upgrade the config.guess/config.sub scripts.
explorer: Remove DECLSPEC_HIDDEN usage.
wusa: Remove DECLSPEC_HIDDEN usage.
ntdll: Generate syscall entry points from the C code with asm macros.
win32u: Generate syscall entry points from the C code with asm macros.
winebuild: Stop generating syscall entry points.
ntdll: Add syscall entries for ARM64EC.
win32u: Add syscall entries for ARM64EC.
tiff: Fix size_t type size detection on 64-bit.
fluidsynth: Use a signed atomic type to avoid warnings.
faudio: Fix a few printf formats.
ntdll: Store the syscall table in the TEB on i386.
ntdll: Store the syscall table in the TEB on ARM.
ntdll: Directly access the syscall table variable on x86-64.
ntdll: Directly access the syscall table variable on ARM64.
ntdll: Add a syscall_cfa member to the ARM64 syscall frame.
ntdll: Add a syscall_cfa member to the ARM syscall frame.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Remove the signal_exit_thread wrapper.
nls: Update locale data to CLDR version 44.
fluidsynth: Make glib replacement functions inline to avoid unused function warnings.
jxr: Fix some clang compiler warnings.
vkd3d: Disable printf format checks.
bcrypt: Remove DECLSPEC_HIDDEN usage.
crypt32: Remove DECLSPEC_HIDDEN usage.
mmdevapi: Remove DECLSPEC_HIDDEN usage.
netapi32: Remove DECLSPEC_HIDDEN usage.
secur32: Remove DECLSPEC_HIDDEN usage.
mountmgr: Remove DECLSPEC_HIDDEN usage.
nsiproxy.sys: Remove DECLSPEC_HIDDEN usage.
winebus.sys: Remove DECLSPEC_HIDDEN usage.
ws2_32: Remove DECLSPEC_HIDDEN usage.
ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization.
ntdll: Convert the ARM64EC context to ARM64 for syscalls.
winedump: Display PE section offsets using their virtual address.
Alexandros Frantzis (26):
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
win32u: Respect per-monitor thread dpi awareness when getting window from point.
winewayland.drv: Prepare to handle different coordinate spaces.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Ignore spurious size hints.
winewayland.drv: Add skeleton Vulkan driver.
winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
winewayland.drv: Implement vkCreateInstance.
winewayland.drv: Implement vkDestroyInstance.
winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr.
winewayland.drv: Implement vkCreateWin32SurfaceKHR.
winewayland.drv: Implement vkDestroySurfaceKHR.
winewayland.drv: Use a client area subsurface as the Vulkan target.
winewayland.drv: Set client area subsurface position.
winewayland.drv: Set client area subsurface size.
winewayland.drv: Forward all client surface pointer events to parent.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
winewayland.drv: Implement vkCreateSwapchainKHR.
winewayland.drv: Implement vkDestroySwapchainKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
winewayland.drv: Implement vkGetSwapchainImagesKHR.
Alfred Agrell (6):
winegstreamer: Store duration in the duration field.
winegstreamer: Add wg_format_from_caps_audio_wma function.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Switch WMA decoder to use wg_format internally.
winegstreamer: Implement DMO interface for WMA decoder.
mf/tests: Test IMediaObject_GetOutputSizeInfo.
Alistair Leslie-Hughes (7):
dbghelp: Remove DECLSPEC_HIDDEN usage.
include: Add DBPROPVAL_MR_* defines.
msdasql: GetAvailableColumns correct assignment of DBCOLUMN data.
rpcrt4: Remove DECLSPEC_HIDDEN usage.
msado15: Updating recordset EditMode when field value changes.
msado15: Correct logic when setting field value.
msdasql: Check rowset pointer before assignment in ICommandText::Execute.
Anton Baskanov (14):
dmsynth: Move instrument search to synth_preset_noteon().
dmsynth: Get rid of instrument reference counting.
dmsynth: Factor out instrument and region search.
dmsynth: Fall back to the Standard drum set when there is no matching instrument or region.
dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
dmime: Factor out timeout computation.
dmime: Don't queue messages with immediate delivery type.
dmime: Always queue messages with non-immediate delivery type.
dmime: Correctly requeue messages with changed time.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime/tests: Test output tool note requeueing.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmsynth: Preserve event order when positions are equal.
dmsynth: Use time instead of position to order events.
Bartosz Kosiorek (2):
msvcrt: Fix _mbsspn_l implementation.
msvcrt: Add _mbsspnp_l implementation.
Bernhard Übelacker (2):
uxtheme: Add stub for RefreshImmersiveColorPolicyState.
notepad: Use GetDesktopWindow() when main window is not yet created.
Brendan Shanks (1):
ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS.
Daniel Lehman (8):
msxml3/tests: Remove unused test field.
msxml3/tests: Add tests for get_xml.
msxml3/tests: Test for specific HRESULT in some tests.
msxml6/tests: Add tests for default namespace.
msxml4/tests: Add tests for default namespace.
msxml3/tests: Add tests for default namespace.
msxml4/tests: Copy create namespace tests.
msxml6/tests: Copy create namespace tests.
Davide Beatrici (1):
wineoss: Fix sound not working.
Dmitry Timoshkov (5):
user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Eric Pouech (13):
dbghelp: Remove DMT_ entries for .DBG and .PDB files.
dbghelp: Expose some internal information about modules to winedbg.
dbghelp: No longer decorate ELF/Mach-O module names.
dbghelp: Expose PE native vs builtin information to winedbg.
dbghelp: Pretend mach-o is present in case of failure.
msvcrt/tests: Test passing environment in child process.
ucrtbase/tests: Introduce environment tests.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Fix ucrtbase environment initialization.
regsvr32: Use message boxes by default for output.
regedit: Use message boxes by default for output.
winedbg: Use dbghelp extended module info.
Esme Povirk (1):
user32/tests: Accept another variation in send_message_5.
Fabian Maurer (1):
winex11: Free correct pointer when using xf86vm.
François Gouget (2):
advapi32/tests: Fix a service stop race condition.
user32/tests: Add a trailing linefeed to ok() and skip() calls.
Hans Leidekker (5):
wldp: Improve the WldpGetLockdownPolicy() stub.
fusion: Bump version to 4.6.1590.0.
wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE.
ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister().
winhttp: Use an unsigned integer for number values in query_headers().
Jacek Caban (13):
configure: Add arm64ec PE target support.
tools: Initial ARM64EC target support.
winebuild: Use COMDAT sections for ARM64EC functions.
winecrt0: Initial ARM64EC support.
include: Don't use dllexport attribute for Wine PE modules.
msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
msi/tests: Initialize pathkey in test_installprops.
gdiplus: Remove unused variable.
ole32/tests: Remove unused variable.
mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select.
mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create.
mshtml: Use Gecko inner window in get_ns_selection.
mshtml: Use Gecko inner window in get_clipboard_commands.
Jactry Zeng (1):
msvcp140: Add codecvt<char32> class stub.
Louis Lenders (2):
wbemprox: Add StandardCimv2 namespace.
shcore: Add stub for RegisterScaleChangeEvent.
Marc-Aurel Zent (2):
ntdll: Implement thread-ID alerts using kqueue/kevent.
ntdll: Use IOPowerSources API to fill battery info on macOS.
Matteo Bruni (1):
opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
Michael Stefaniuc (9):
dmime: Remove redundant NULL check before free().
dmime/tests: Remove superfluous casts to self.
dmime: Remove superfluous casts to self.
dmsynth: Remove superfluous casts to self.
dmusic: Remove superfluous casts to self.
gdiplus: Remove redundant NULL check before free().
sane.ds: Use ARRAY_SIZE instead of open coding it.
winegstreamer: Remove redundant NULL check before free().
quartz: Remove redudant NULL checks before CoTaskMemFree().
Myah Caron (1):
windows.ui: Support accent colors in uisettings3_GetColorValue.
Nell Hardcastle (3):
winebus.sys: Identify DualSense Edge as a DualSense controller.
mmdevapi: Override product strings for DualSense Edge.
hidclass.sys: Add DualSense Edge to device_strings.
Nikolay Sivov (6):
d3dx9/effect: Rename effect initialization helper.
evr/presenter: Handle failure to initialize D3D9.
evr/tests: Skip tests if D3D9 is unusable.
dxva2/tests: Skip tests if D3D9 is unusable.
d3dcompiler/tests: Do not crash on device creation.
oleaut32: Remove some deadcode from VarMod().
Paul Gofman (14):
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
combase: Ensure MTA existence in RoGetActivationFactory().
winepulse.drv: Change device description.
dnsapi: Handle IP address as DNS name in DnsQuery_UTF8().
gdiplus: Round width and height in gdip_format_string().
windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder.
msvcp110: Implement std::_Xbad_function_call().
include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass.
include: Fix ID3DXLoadUserData definition.
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
Paweł Ulita (1):
user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
Piotr Caban (6):
msvcrt: Avoid temporary buffer allocation in _mbsrev_l.
msvcrt: Add _mbsrev tests.
msvcrt: Factor out env_get_index helper.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Hold _ENV_LOCK when accessing environment variables.
msvcp140: Add codecvt<char16> class stub.
Rémi Bernon (47):
dmime/tests: Avoid discarding old notifications in test.
dmime/tests: Test that IDirectMusicPerformance_Stop clears messages.
dmime: Clear all pending messages in IDirectMusicPerformance_Stop.
dmime: Send MIDI_SYSTEM_RESET message on performance reset.
dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET.
dmime: Split segment_state_play_chunk helper.
dmime: Implement segment state repeat and looping.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
winewayland.drv: Basic handling of Wayland keyboard events.
winebus.sys: Ignore events on unsupported axes.
windows.gaming.input: Fix inverted start / select gamepad buttons.
winebus.sys: Fix incorrect hid_device_set index check.
evr: Set last presented sample atomically.
ntdll: Add comments to stack switches in dispatchers.
ntdll: Remove unnecessary stack pointer CFI rules.
ntdll: Add a syscall_cfa member to the i386 syscall frame.
ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
ntdll: Connect syscall frames across user callbacks on i386.
ntdll: Connect syscall frames across user callbacks on x86-64.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
mfplat: Add support for internal MFVideoFormat_A2B10G10R10.
mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub.
mfplat: Add MFInitAMMediaTypeFromMFMediaType stub.
mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType.
mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType.
mfplat/tests: Add IMFMediaType_GetRepresentation tests.
mfplat: Only convert MEDIASUBTYPE for the formats which need it.
mfplat: Use bits per pixel in uncompressed formats metadata.
mfplat: Implement MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFCreateAMMediaTypeFromMFMediaType.
mfplat: Implement IMFMediaType_(Get|Free)Representation.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
include: Use nested namespaces in windows.system.userprofile.idl.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
Santino Mazza (4):
mlang/tests: Test GetStrCodePages with different codepages character.
mlang: Fix GetStrCodePages for characters with different codepages.
mlang/tests: Test for codepages priority.
mlang: Implement codepages priority.
Tim Clem (3):
msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
winemac.drv: Move surface-related logs to the bitblt channel.
winemac.drv: Return success from query_ime_char_rect.
Zebediah Figura (18):
d3d8: Pass NOOVERWRITE to redundantly discarded maps.
wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers().
wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
wined3d: Introduce a wined3d_state_get_ffp_texture() helper.
wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
wined3d: Set the active texture in sampler_texdim().
wined3d: Set the active texture in nvts_texdim().
ws2_32/tests: Test sending data to a peer which is closed.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test send() after TCP reset.
ws2_32/tests: Work around a Linux bug.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
msvcrt: Perform a base-10 logarithm using integer math.
wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
ddraw/tests: Add a test for drawing to a flippable surface.
ddraw: Read the current RTV before flipping any surfaces.
Zhiyi Zhang (13):
uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
msdasql/tests: Fix memory leaks.
msdasql/tests: Add more IDBProperties::GetProperties() tests.
msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties().
oledb32: Add missing const modifiers.
oledb32/tests: Use wide-char string literals.
oledb32/tests: Remove test_odbc_provider().
oledb32/tests: Fix memory leaks.
oledb32/tests: Add more IDataInitialize::GetInitializationString() tests.
oledb32: Remove the trailing semicolon.
oledb32: Fix property count in datainit_GetInitializationString().
oledb32: Quote values containing semicolons.
oledb32: Remove unnecessary properties in datainit_GetInitializationString().
Ziqing Hui (2):
winestreamer: Introduce media_sink_write_stream.
winegstreamer: Implement wg_muxer_read_data.
The Wine development release 8.20 is now available.
What's new in this release:
- More DirectMusic implementation.
- Protocol associations exported to the Unix desktop.
- Code cleanups in preparation for code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.20.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.20 (total 20):
- #22904 Register URL protocol handlers under Linux
- #52716 Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
- #53213 d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
- #53217 d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
- #53218 d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
- #54399 d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
- #54519 d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
- #54780 UndertaleModTool display regression since wine-staging 8.4
- #55316 d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
- #55608 NAM won't open on new update
- #55679 warframe doesn't start in experimental wow64 mode
- #55715 Folio Views 4 crashes when storing a changed file
- #55742 wine crashes when launching Captvty V3
- #55782 System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
- #55789 Spectralayers 9 Pro crashes on audio playback
- #55797 Max Payne (2001) has no sound
- #55838 wget.exe fails to download anything (regression)
- #55839 NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
- #55842 Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
- #55856 cygwin hangs during installation at libzstd1-1.5.5-1
----------------------------------------------------------------
Changes since 8.19:
Alex Henrie (63):
find/tests: Use CRT allocation functions.
msscript: Use CRT allocation functions.
uninstaller: Use CRT allocation functions.
uxtheme/tests: Use CRT allocation functions.
loader: Associate Wine with internet shortcuts.
winemenubuilder: Disallow desktop integration for internet shortcuts.
d3d10core/tests: Use CRT allocation functions.
d3d11/tests: Use CRT allocation functions.
d3d8: Use CRT allocation functions.
d3d8/tests: Use CRT allocation functions.
d3d9: Use CRT allocation functions.
d3d9/tests: Use CRT allocation functions.
ddraw: Use CRT allocation functions.
ddraw/tests: Use CRT allocation functions.
dxgi: Use CRT allocation functions.
dxgi/tests: Use CRT allocation functions.
dplayx: Use CRT allocation functions.
ninput: Use CRT allocation functions.
browseui: Use the wcsdup function instead of reimplementing it.
fsutil/tests: Use CRT allocation functions.
user32/tests: Use CRT allocation functions.
sechost: Use CRT allocation functions.
quartz: Use debugstr_fourcc instead of debugstr_an.
adsldp: Remove unused heap.h include.
avrt: Use CRT allocation functions.
dhcpcsvc: Use CRT allocation functions.
dhcpcsvc/tests: Use CRT allocation functions.
diasymreader: Use CRT allocation functions.
dsuiext: Use CRT allocation functions.
iccvid: Use CRT allocation functions.
inseng: Use CRT allocation functions.
jsproxy: Use CRT allocation functions.
mp3dmod: Use CRT allocation functions.
msado15: Remove unused heap.h include.
msasn1: Use CRT allocation functions.
msdasql: Use CRT allocation functions.
msident: Use CRT allocation functions.
mspatcha: Use CRT allocation functions.
mstask: Use CRT allocation functions.
msvfw32/tests: Use CRT allocation functions.
netio: Use CRT allocation functions.
wtsapi32: Use CRT allocation functions.
gdiplus/tests: Use CRT allocation functions.
include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
gdi32/tests: Use CRT allocation functions.
winmm/tests: Use CRT allocation functions.
setupapi/tests: Use CRT allocation functions.
virtdisk/tests: Use CRT allocation functions.
vulkan-1/tests: Use CRT allocation functions.
winemenubuilder: Create .desktop files for programs that open URIs.
winecfg: Mention protocol associations.
winegstreamer: Remove unused heap.h include.
msiexec: Use CRT allocation functions.
windows.media.devices: Use CRT allocation functions.
winecoreaudio: Remove unused heap.h include.
shdocvw: Use CRT allocation functions.
urlmon/tests: Use CRT allocation functions.
ddrawex: Use CRT allocation functions.
devenum: Use CRT allocation functions.
wmvcore: Use CRT allocation functions.
Revert "dsound: Get rid of the global device GUID arrays.".
dsound: Dynamically allocate the global device GUID arrays.
nsi: Use CRT allocation functions.
Alexandre Julliard (58):
server: Fix returned error when creating an existing symlink.
user32: Enable a few more hook tests.
ntdll: Also update code ranges for pure ARM64EC binaries.
ntdll: Remove an unused global variable.
ntdll: Only check Wow64 system directories for 32-bit platforms.
kernelbase: Only support Wow64 system directories for 32-bit platforms.
wow64: Only support Wow64 system directories for 32-bit platforms.
server: Only create Wow64 system directories for 32-bit platforms.
winegcc: Use a temp file for the implicitly created import library.
makefiles: Always use the global SOURCES variable for .idl files.
makefiles: Always use the global SOURCES variable for .rc files.
makefiles: Always use the global SOURCES variable for .c files.
msvcrt: Use the public definitions for the UNDNAME_ flags.
winedump: Re-import the demangling code from msvcrt.
opengl32: Make the GL driver function table const.
odbc32: Make the Unix function table const.
include: Make sure that Unix function tables are always const.
include: Use NTSYSAPI for all ntdll exports.
include: Use proper dllimports for win32u functions.
include: Use proper dllimports for dbghelp functions.
include: Use proper dllimports for iphlpapi functions.
include: Use proper dllimports for setupapi functions.
include: Use proper dllimports for uxtheme functions.
include: Use proper dllimports for cryptdlg functions.
include: Use proper dllimports for eventlog functions.
include: Use proper dllimports for httpapi functions.
include: Use proper dllimports for url functions.
include: Use proper dllimports for mimeole functions.
include: Use proper dllimports for winmm functions.
include: Use proper dllimports for pathcch functions.
include: Use proper dllimports for propsys functions.
include: Use proper dllimports for userenv functions.
include: Use proper dllimports for credui functions.
include: Use proper dllimports for winscard functions.
include: Use proper dllimports for slc functions.
include: Use proper dllimports for wmi functions.
include: Use proper dllimports for olectl functions.
include: Use proper dllimports for more wininet functions.
ddraw: Use SecureZeroMemory to clear the clipper vtbl.
include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
include: Remove DECLSPEC_HIDDEN from RPC functions.
include: Remove DECLSPEC_HIDDEN from GUID definitions.
widl: Remove DECLSPEC_HIDDEN from generated files.
configure: Use hidden visibility also when building Unix libraries.
wineoss.drv: Allocate the MIDI device array dynamically.
winealsa.drv: Allocate the MIDI device array dynamically.
rpcrt4: Generate stubless thunks at compile time.
rpcrt4: Generate vtbl delegating thunks at compile time.
win32u: Fix handling of process default DPI awareness.
winevdm: Don't claim that 16-bit apps are DPI aware.
makefiles: Support arch-specific IDL flags.
widl: Make the alignment option generic instead of win32/win64-specific.
configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
configure: Assume that pthread.h is present.
configure: Consistently use HOST_ARCH for platform checks.
opengl32: Remove DECLSPEC_HIDDEN usage.
winevulkan: Remove DECLSPEC_HIDDEN usage.
Alfred Agrell (14):
winegstreamer: Don't read format from unparsed MPEG audio.
winegstreamer: Clamp QoS events to stay inside the stream's running time.
winegstreamer: Seek to end of stream instead of to stream duration.
winegstreamer: Include the framerate when converting video format to GstCaps.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
winegstreamer: Add output_compressed parameter to wg_parser_create().
winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
winegstreamer: Implement CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
quartz/tests: Add tests for CLSID_CMpegVideoCodec.
Alistair Leslie-Hughes (26):
include: Add some DBCOLUMN defines.
msdasql: Use DBINITCONSTANTS to get guid values.
hlink: Remove DECLSPEC_HIDDEN usage.
msimtf: Remove DECLSPEC_HIDDEN usage.
sechost: Remove DECLSPEC_HIDDEN usage.
browseui: Remove DECLSPEC_HIDDEN usage.
wintrust: Remove DECLSPEC_HIDDEN usage.
uiautomationcore: Remove DECLSPEC_HIDDEN usage.
gameux: Remove DECLSPEC_HIDDEN usage.
propsys: Remove DECLSPEC_HIDDEN usage.
hnetcfg: Remove DECLSPEC_HIDDEN usage.
sti: Remove DECLSPEC_HIDDEN usage.
advpack: Remove DECLSPEC_HIDDEN usage.
mstask: Remove DECLSPEC_HIDDEN usage.
uiribbon: Remove DECLSPEC_HIDDEN usage.
itss: Remove DECLSPEC_HIDDEN usage.
rsaenh: Remove DECLSPEC_HIDDEN usage.
ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
mpr: Remove DECLSPEC_HIDDEN usage.
msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
comdlg32: Remove DECLSPEC_HIDDEN usage.
msacm32: Remove DECLSPEC_HIDDEN usage.
uxtheme: Remove DECLSPEC_HIDDEN usage.
wmiutils: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
winhttp: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (12):
dmsynth: Offset the loop points by 8 frames.
dmsynth: Handle pitch bend events.
dmsynth: Use correct transform for controls.
dmsynth: Correctly handle internal connections with controls.
dmsynth: Activate reverb and chorus according to effect flags.
dmsynth: Return void from add_mod_from_connection().
dmsynth: Keep track of voice/wave mapping.
dmsynth: Use generators to set root key and fine tune.
dmsynth: Create one FluidSynth sample per wave.
dmsynth: Remove useless private data checks.
dmsynth: Free the allocated presets manually.
dmsynth: Don't leak modulators.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (35):
gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
gdiplus/tests: Add tests for GdipSetPenTransform.
gdiplus: Add additional check to GdipSetPenTransform.
gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
msvcrt: Add _mbsdec_l implementation.
msvcrt: Add _mbslwr_l implementation.
msvcrt: Add _mbsrchr_l implementation.
msvcrt: Add _cprintf_l implementation.
msvcrt: Add _cwprintf_l implementation.
msvcrt: Add _mbsnbcat_l implementation.
msvcrt: Add _mbsbtype_l implementation.
msvcrt: Fix _mbslwr_s_l implementation.
msvcrt: Add _mbsupr_l implementation.
msvcrt: Add _mbsnbcmp_l implementation.
msvcrt: Add _mbsnbcnt_l implementation.
msvcrt: Add _mbsncpy_l implementation.
msvcrt: Add _mbsnicmp_l implementation.
msvcrt: Fix _strnicmp and _strnicmp_l implementation.
msvcrt: Add _mbsnbcat_s_l implementation.
msvcrt: Add _mbsnbcpy_l implementation.
msvcrt: Add _mbsnbicmp_l implementation.
msvcrt: Add _mbsnbset_l implementation.
msvcrt: Add _mbsncat_l implementation.
msvcrt: Add _mbsnccnt_l implementation.
msvcrt: Add _mbsnset_l implementation.
msvcrt: Add _mbspbrk_l implementation.
msvcrt: Add __iswcsym implementation.
msvcrt: Add __iswcsymf implementation.
msvcrt: Add _mbsncmp_l implementation.
msvcrt: Add _mbsrev_l implementation.
msvcrt: Add _mbsset_l implementation.
msvcrt: Add _mblen_l implementation.
Brendan Shanks (5):
localspl: Ensure unixlib function tables and enum stay in sync.
qcap: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
ntdll/unix: Replace some malloc/sprintf calls with asprintf.
ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Christian Costa (1):
wined3d: Add entry info for NVidia RTX 3070.
Connor McAdams (5):
uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
uiautomationcore: Return TRUE from UiaClientsAreListening().
oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
Daniel Lehman (4):
msxml4/tests: Use wide string literals.
msmxl4/tests: Add tests for get_xml.
msxml6/tests: Use wide string literals.
msxml6/tests: Add tests for get_xml.
Dmitry Timoshkov (9):
kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
kernel32: Add ACTCTX field limit checks to CreateActCtxA().
ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
uxtheme: Parse app/class name in OpenThemeData().
uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
uxtheme: If the application class is already set then OpenThemeData() should fail.
Eric Pouech (22):
dpnsvr: Move to GUI subsystem (as native).
spoolsv: Move to GUI subsystem (as native).
svchost: Move to GUI subsystem (as native).
services: Move to GUI subsystem (as native).
pdh: Zero out magic fields with SecureZeroMemory().
dssenh: Use SecureZeroMemory to clear magic fields.
secur32: Use SecureZeroMemory to clear magic fields.
user32: Use SecureZeroMemory to clear magic fields.
winscard: Use SecureZeroMemory() to clear magic fields.
wintrust: Use SecureZeroMemory() to clear magic fields.
wsdapi: Use SecureZeroMemory() to clear magic fields.
wininet: Use SecureZeroMemory() to clear magic fields.
msvcrt/tests: Improve environment tests (initial conditions).
msvcrt/tests: Add tests about allocation of environment entries.
msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
msvcrt/tests: Test adding Unicode env variables.
msvcrt: Use msvcrt heap for allocating envionment data.
msvcrt: Fix getmainargs() family to return correct environment block.
taskmgr: No longer use console/file output APIs.
wordpad: Remove unneeded output messages.
mshta: No longer use console / crt API.
winebrowser: Remove misleading comment.
Esme Povirk (1):
user32/tests: Improve timer measurement method.
Fabian Maurer (2):
winegstreamer: Implement IWMResamplerProps.
msvcrt: Fsetpos resets EOF flag.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (24):
mshtml: Keep ref from the document node to the inner window.
mshtml: Properly traverse document nodes.
mshtml/tests: Test parent window links after navigation.
mshtml: Keep ref from the ImageElementFactory to the inner window.
mshtml: Keep ref from the OptionElementFactory to the inner window.
mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
mshtml: Keep ref from the OmHistory to the inner window.
mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
mshtml: Keep ref from the associated Style to the Element.
mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
mshtml: Fix window leak on error in async_stop_request.
jscript: Fix EnumVARIANT leak in enumerators.
jscript: Fix value leak in Array.shift.
jscript: Fix array leak in Array.filter.
jscript: Don't addref before calling jsdisp_propput_name.
jscript: Fix value arg leak in transform_json_object.
jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
jscript/tests: Fix Date object leak in test_default_value.
mshtml/tests: Fix BindInfo leak in htmldoc test.
mshtml: Return outer window to external callers.
mshtml: Don't NULL out the doc's window when unlinking the window.
Hans Leidekker (4):
gdi32/tests: Skip broken Noto Color Emoji font in character width test.
win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
ntdll: Bump current build number to 19043 (Win10 2009).
advapi32/tests: Get rid of an unreliable eventlog test.
Jacek Caban (14):
configure: Disable -Wmicrosoft-enum-forward-reference warnings.
msctf: Avoid implicit enum casts.
qmgr: Avoid implicit enum casts.
shcore: Avoid implicit enum casts.
webservices: Store xmlbuf encoding as unsigned int.
gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
gdiplus: Avoid implicit enum casts.
d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
d3d8: Use designated initializers in tss_lookup.
ddraw: Use designated initializers in tss_lookup.
kernel32/tests: Remove unused variable.
msvcrt/tests: Don't define structs types inside other struct declaration.
msvcp60: Use char type for FROZEN macro.
Louis Lenders (2):
uxtheme: Add stub for SetPreferredAppMode.
uxtheme: Add stub for AllowDarkModeForWindow.
Nikolay Sivov (6):
include: Correct ID3D10EffectPool interface uuid.
shell32: Fix string size condition check (Coverity).
mf/samplegrabber: Release current media type on shutdown.
mf/samplegrabber: Check shutdown state when setting the clock.
mf/samplegrabber: Reset the clock before OnShutdown().
mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
Owen Rudge (1):
comdlg32: Perform case-insensitive comparison of extension in file dialog.
Paul Gofman (13):
mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
mfplat/tests: Add more tests for copying 2d buffers.
mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
mfplat/sample: Refactor sample_CopyToBuffer().
mfplat/sample: Optimize copying to 2d buffer.
ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
kernelbase: Don't inherit all the handles in conhost.exe.
user32: Return empty string from LoadStringW() if resource is not found.
user32: Put 0 to output string even for 1 char buffer in LoadStringW().
kernelbase: Return empty string from LoadStringW() if resource is not found.
kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
winmm: Fix pszSound allocation in PlaySound_Alloc().
Rémi Bernon (24):
dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
dmime/tests: Add a track and longer segment to notifications tests.
dmime: Use the current time if PlaySegmentEx start_time is 0.
dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
dmime/tests: Check more notification / dirty messages fields.
dmime: Fix performance message requeue-ing from the message thread.
dmband: Support start_time and end_time Play parameters.
dmime: Support start_time and end_time Play parameters.
dmime: Implement segment state chunked playback.
dmime: Send notification messages from segment_play_chunk.
dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
dmime/tests: Test tempo track GetParam with GUID_TempoParam.
dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
dmime/tests: Add helpers to scale and check music time with tempo.
dmime/tests: Test playing tempo track effect on performance times.
dmime: Support playing secondary and control segments.
dmime: Better implement performance times with tempo track.
dmime: Rename struct pchannel_block to struct channel_block.
dmime: Use a dedicated struct channel to hold performance channels.
dmime: Introduce a new performance_get_channel helper.
dmime: Simplify and rename channel_block_set to channel_block_init.
dmime: Avoid leaking performance channel block ports.
Santino Mazza (1):
mf: Handle errors with source event generator in session.
Shaun Ren (2):
msttsengine: Add stub dll.
msttsengine: Add ISpTTSEngine stub.
Sven Baars (1):
advapi32/tests: Fix a typo (Coverity).
Tim Clem (1):
msvcrt: Promote the log from _wassert from a trace to an error.
Victor Chiletto (1):
msvcrt, ucrtbase: Introduce rewind_preserve_stack.
Yuxuan Shui (2):
include: Add InterlockedExchangeAdd16.
ntdll: Tweak the binary representation of SRWLOCK.
Zebediah Figura (28):
ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
server: Only set sock->event when the event is first noticed.
d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d10core/tests: Use slightly different values in test_sample_c_lz().
d3d11/tests: Use slightly different values in test_sample_c_lz().
wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
wined3d: Pass shader type and unmodified index to context_preload_texture().
d3d8: Store the texture's parent device as a d3d8_device pointer.
wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
wined3d/glsl: Clamp ftou lower bound to zero.
wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
wined3d/glsl: Flush NaN to zero in ftoi.
gitlab: Enable d3d10core:d3d10core and d3d8:visual.
mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
d3d9/tests: Test that GetDC() records a dirty rect.
wined3d: Record a dirty rect in wined3d_texture_create_dc().
wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
wined3d: Do not use atomics to update the resource bind count.
Zhiyi Zhang (6):
user32/tests: Add more parameter checks for SetWindowsHookExA().
win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
ddraw/tests: Test WS_EX_TOPMOST restoration.
ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
uxtheme: Fix a test failure.
Ziqing Hui (10):
winegstreamer: Use NTSTATUS value in wg_muxer_create.
winegstreamer: Introduce link_src_to_sink.
winegstreamer: Use gst_element_get_compatible_pad.
winegstreamer: Introduce find_element_factories.
winegstreamer: Introduce factory_create_element.
winegstreamer: Implement wg_muxer_add_stream.
winegstreamer: Create parser for muxer stream.
winegstreamer: Implement wg_muxer_start.
winegstreamer: Implement ProcessSample for media sink.
winegstreamer: Implement wg_muxer_push_sample.
The Wine development release 8.19 is now available.
What's new in this release:
- Mono engine updated to version 8.1.0.
- More DirectMusic implementation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.19 (total 44):
- #8174 Ares P2P 2.x embedded media player fails to play .mpg files
- #9027 No sound for rise of nations - all versions
- #23489 Buccaneer: quits silently when entering the Tavern
- #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
- #32896 Serious Sam: The Random Encounter has no sound
- #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
- #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
- #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
- #45135 Black Rockman Shooter has no sound
- #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
- #45893 Midtown Madness: Extremely Slow with csmt on
- #47767 Airport Mania First Flight - Very long loading times and awful performance
- #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
- #49804 Multiple WPF 4.5+ .NET applications fail to run with Wine-Mono due to missing support of Ribbon control 'System.Windows.Controls.Ribbon' (OpenGL Extensions Viewer 6.1.2, CapFrameX v1.6.0)
- #52014 Memento Mori freezes on launch
- #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
- #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
- #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
- #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
- #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
- #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
- #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
- #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
- #55560 The 64-bit dbghelp:dbghelp times out in Wine
- #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
- #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
- #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
- #55650 dbghelp:dbghelp fails on macOS
- #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
- #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
- #55718 Word 2007 is not able to print multiple copies of a page
- #55720 msxml3:domdoc - test_domnode() fails in Wine
- #55722 dmime:dmime - test_band_track_play() fails on macOS
- #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
- #55744 psapi:psapi_main fails in Wine
- #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
- #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
- #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
- #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
- #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
- #55790 Unreal II The Awakening: general protection fault when loading a level
- #55792 Tron 2.0 crashes before the menu appears
- #55808 Catalan translation inserted twice in wine.desktop
- #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
----------------------------------------------------------------
Changes since 8.18:
Akihiro Sagawa (1):
cmd: Reset totals after trailer output.
Alex Henrie (13):
evr: Use debugstr_fourcc instead of debugstr_an.
iccvid: Use debugstr_fourcc instead of debugstr_an.
d3d10: Use debugstr_fourcc instead of debugstr_an.
dwrite: Use the debugstr_fourcc function instead of reimplementing it.
d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
loader: Associate Wine with batch files.
winemenubuilder: Disallow desktop integration for batch files.
loader: Translate wine.desktop to Catalan.
loader: Add separating dash to Spanish translation of wine.desktop.
win32u: Use debugstr_fourcc instead of debugstr_an.
wined3d: Use debugstr_fourcc instead of debugstr_an.
commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Alexandre Julliard (20):
makefiles: Always use the global SOURCES variable for .man.in files.
makefiles: Always use the global SOURCES variable for .svg files.
makefiles: Always use the global SOURCES variable for .l files.
makefiles: Always use the global SOURCES variable for .y files.
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
ntdll: Move RtlUserThreadStart implementation to the CPU backends.
ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
ntdll: Also send segment registers to the server on suspend.
zydis: Disable assertions.
dbghelp: Fix a compiler warning on ARM64.
Revert "loader: Translate wine.desktop to Catalan".
ntdll: Simplify platform checks for exception handling functions.
msvcrt: Simplify platform checks for exception handling functions.
msvcrt: Export more exception handling functions on ARM platforms.
kernel32: Export the Ums functions on ARM64.
kernelbase: Export the extended context functions on all platforms.
ntdll: Export RtlCopyMemory on ARM platforms.
vcruntime140_1: Only build for x86-64.
winebuild: Always use .balign for alignment.
shlwapi: Remove unneeded UNALIGNED attributes.
Alexandros Frantzis (2):
winewayland.drv: Ensure outputs can access xdg information robustly.
winewayland.drv: Ensure the logical output dimensions have sane values.
Alistair Leslie-Hughes (4):
msxml: Always increase error count when detected.
msxml3: Don't call qsort if we have no data (Coverity).
msxml3: Move tid_NULL out of possible enum values.
msxml3: Do not leak bind context on error paths (Coverity).
Arkadiusz Hiler (1):
winex11.drv: Send missed KEYUP events on KeymapNotify.
Bartosz Kosiorek (4):
gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
gdiplus: Improve performance of units_to_pixels by not using division.
gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
Brendan Shanks (9):
configure: Only build Wayland if linux/input.h is present.
winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
ctapi32: Ensure unixlib function tables and enum stay in sync.
dnsapi: Ensure unixlib function tables and enum stay in sync.
wpcap: Ensure unixlib function tables and enum stay in sync.
winscard: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Disable declaration-after-statement warnings in ObjC files.
winemac.drv: Fix minimizing windows when Stage Manager is enabled.
Connor McAdams (15):
uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
uiautomationcore: Implement IUIAutomationElement::get_CachedName.
uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
uiautomationcore: Remove accidentally leftover FIXME.
uiautomationcore: Only print FIXME messages for missing default clientside providers once.
uiautomationcore/tests: Fix test failure on Win10v1709.
uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Daniel Lehman (1):
advapi32/tests: Add ReadEventLogW tests for direction.
Dmitry Timoshkov (4):
crypt32: Avoid truncating unicode chars.
crypt32/tests: Add some tests for quoted RDN values.
crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
Eric Pouech (9):
wbemprox: Use correct string id.
dsound: Forward error code when device cannot be found.
quartz: Return correct error when no audio devices are present.
mmdevapi: Don't fail when no audio backends are present.
dbghelp: Rename internal field (system -> host).
dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
dbghelp: Set the machine type for mach-O modules.
dbghelp: Simplified module_find_by_addr().
dbghelp: Remove unneeded parameter to pe_map_file.
Esme Povirk (2):
user32/tests: Reduce size demand in test_hvredraw.
mscoree: Update Wine Mono to 8.1.0.
Fabian Maurer (2):
mf/tests: Increase buffer to prevent stack corruption.
ntdll: Add WinSqmSetIfMaxDWORD stub.
Gabriel Ivăncescu (4):
jscript: Fix Array.map when last element doesn't exist.
jscript: Fix Array.reduce when last element doesn't exist.
mshtml: Set outer window to uninitialized page when document obj is released.
mshtml: Return proper errors when navigating with no browser.
Gerald Pfeifer (1):
readme: Update FreeBSD information.
Hans Leidekker (3):
kernelbase: Trace global memory counters in decimal.
advapi32/tests: Get rid of workarounds for old Windows versions.
advapi32/tests: Skip WoW64 registry tests on 32-bit.
Helix Graziani (1):
uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Jacek Caban (9):
dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
wined3d: Use return type to return result from read_dword.
wined3d: Remove unused parallel_point_count variable.
wined3d: Use unsigned type for res_type bit field.
Jeff Smith (4):
gdiplus/tests: Add tests related to setting the page tranform.
gdiplus: Implement GdipResetPageTransform.
gdiplus: Fix a GdipSetPageScale return status.
gdiplus: Fix GdipSetPageUnit parameter validation.
Jinoh Kang (1):
ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
Louis Lenders (1):
uxtheme: Add ShouldAppsUseDarkMode.
Matteo Bruni (5):
wined3d: Fix handling of system-memory GL vertex buffers.
wined3d: Handle NULL push constant buffers with the ARB shader backend.
wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
wined3d: Implement shadow sampling for the ARB shader backend.
wined3d: Don't skip setting clip planes if the view transform state is dirty.
Mohamad Al-Jaf (16):
windows.media.mediacontrol/tests: Remove flakey ref count test.
include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
include: Add IMusicDisplayProperties interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
include: Add IMusicDisplayProperties2 interface definition.
windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Nikolay Sivov (7):
mfmediaengine/tests: Use a single helper to create engine instances.
include: Add IMFMediaEngineAudioEndpointId definition.
mfmediaengine: Keep engine extension pointer.
mfmediaengine: Use extension object in CanPlayType().
maintainers: Add EVR to the Media Foundation section.
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
d3d10_1/tests: Add some more tests for fx_4_1 blend states.
Paul Gofman (8):
ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
ntdll: Use .seh handler in call_handler() on x64.
ntdll/tests: Add test for collided unwind.
ntdll: Use .seh handler in call_unwind_handler() on x64.
winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
Piotr Caban (1):
gdi32: Fix leak in GdiDeleteSpoolFileHandle.
Rémi Bernon (56):
include: Fix debugstr_fourcc printf format to print at most 4 chars.
dmime: Rewrite message thread with a condition variable.
dmusic: Set synth sink master clock when creating port.
dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
dmusic: Forward IDirectMusicPort_Activate to synth and sink.
dmime: Use port latency time for messages with -1 time.
dmime: Update performance latency time with port latency.
dmime: Use latency time to decide when to process messages.
dmsynth: Create a render thread on sink activation.
dmsynth: Implement sink rendering to DirectSound buffer.
dmsynth: Correctly lookup instrument from the default drum bank.
dmsynth: Avoid using fluid_ prefix for internal helpers.
dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
dmsynth: Fix FluidSynth generators for direct connections.
dmsynth: Convert modulator values from DLS2 to SF2 convention.
dmsynth: Set default modulators according to the DLS2 spec.
dmband: Download segment tracks if performance auto-download is set.
dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
dmime: Don't interrupt track iteration if SetParam failed.
dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
dmusic: Use a dmusic_midi.h header for MIDI messages.
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
dmime: Remove FIXME from methods now mostly implemented.
dmime: Avoid crashing when purging notification messages.
dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
dmusic: Implement IDirectMusicObject interface on wave objects.
dmusic: Use the IDirectMusicObject interface for waves.
dswave: Use the dmusic wave object implementation.
dmime: Avoid releasing the newly created graph twice.
dmime/tests: Remove flaky track playing state test.
dmime/tests: Avoid checking message segment state reference count.
dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
dmsynth: Set loop and sample generators on the fluid_voice.
dmime: Force recompute MIDI message reference time.
dmband: Skip band / band track chunk on parsing failure.
dmime: Skip sequence track chunk on parsing failure.
dmime: Skip segment chunk on parsing failure (or success).
dmime: Ignore badly formed wave if format and data have been found.
dmime: Remove shadowing local hr variable.
dmusic: Ignore some known wave chunks.
gitlab: Run tests with LP_NUM_THREADS=4 env var.
mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
dmime: Pass IDirectMusicPerformance8 to segment state functions.
dmime: Pass PlaySegmentEx start time as track time offset.
dmband: Use time_offset to align track start with music time.
dmime: Use time_offset to align track start with music time.
dmime: Use an internal performance message for segment end.
dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
dmstyle: Rewrite style part list parsing.
dmstyle: Rewrite style pref chunk parsing.
dmstyle: Rename style_motif to style_pattern.
dmstyle: Rewrite style pttn list parsing.
Sven Baars (2):
wined3d: Don't override the default renderer in wined3d_dll_init().
nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
Yuxuan Shui (1):
mfmediaengine: Don't send event notify when engine is shutdown.
Zebediah Figura (18):
advapi32: GetNamedSecurityInfo() takes a const name argument.
advapi32/tests: Use StringFromGUID2().
advapi32: Fix rewinding the last path segment in SetSecurityInfo().
advapi32/tests: Add more tests for GetSecurityInfo().
advapi32: Respect object type in GetSecurityInfo().
advapi32: Respect object type in SetSecurityInfo().
user32/tests: Add basic tests for GetUserObjectSecurity().
advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
wined3d: Rename buffer dirty ranges fields.
wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
include: Convert d3d10shader.h to an IDL.
include: Convert d3d10effect.h to an IDL.
ntdll: Do not reject data directories at the end of a file.
ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
The Wine development release 8.18 is now available.
What's new in this release:
- Bundled FluidSynth library for DirectMusic.
- More window management in the Wayland driver.
- More effect support in Direct3D 10.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.18.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.18 (total 44):
- #32574 Patrician 4 fails to start (Error in 'App::Initialize')
- #41645 Unreal Tournament 2004 crashes
- #43017 Unreal Tournament 2004/UT2004.exe crashes due to "intel_do_flush_locked failed: Cannot allocate memory"
- #43185 "Battle Bugs" game in unresponsive once game starts
- #44275 Shadow of Memories demo hangs at graphic setting screen
- #44276 Poor resolution change handling with Shadow of Memories demo
- #48905 Inner Chains Launches to Black Screen With Mouse Cursor
- #52641 Feeding Frenzy 2 crashes while loading
- #53276 comctl32:edit & user32:edit - test_paste() sometimes fails to access the clipboard on Windows
- #54069 ddraw:ddraw7 - test_texture_wrong_caps() sometimes fails on Windows 8+
- #54156 comctl32:edit & user32:edit - test_paste() sometimes gets an empty string on Windows
- #54420 preloader warning "failed to reserve range" macOS Ventura
- #54430 user32:menu - test_menu_input()'s test 0 sometimes fails on Windows 7
- #54441 windows.media.speech:speech - test_Recognition() sometimes gets unexpected recognizer state on Windows 10
- #54699 Motorola Ready For Assistant does not start, RoOriginateLanguageException in Windows.Networking
- #54744 explorerframe:taskbarlist - test_ITaskbarList() sometimes gets E_NOTIMPL on Windows
- #54783 cryptowinrt:crypto - test_Credentials_Statics() sometimes gets unexpectedly high refcount in Wine
- #54791 explorerframe:nstc - test_events() sometimes gets unexpected events on Windows 7
- #55108 xaudio2_8:xaudio2 fails on Windows 10+
- #55211 Print file not truncated before new print job is started with same target file
- #55236 scrrun:dictionary - The 64-bit test_hash_value() gets bad hashes on Windows
- #55241 The 64-bit winmm:capture & winmm:wave crash on Windows 8
- #55245 ntdll:om - The 32-bit test_all_kernel_objects() gets an access violation on the w8 VM
- #55272 The 64-bit ntdll:exception crashes on Windows 10 1607 & 1709
- #55273 ntdll:wow64 - The 64-bit test_cpu_area() gets bad offsets on Windows 10 1607 & 1709
- #55528 Vitis 2020.1 can't find its libraries (cmd.exe bug with nested one-line if statement that sets PATH)
- #55606 Finale 27 printing - incorrect linecap
- #55627 secur32:negotiate & secur32:ntlm crash from a NULL dereference on macOS
- #55631 ntdll:file - test_file_rename_information fails on Windows 10 1607 and older
- #55632 ntdll:file - test_file_link_information() fails on Windows 10 1709 and older
- #55634 Genshin Impact uses very long URLs
- #55648 ntdll:wow64 - test_peb_teb() crashes on macOS
- #55652 A FindResourceW() call prevents windows.applicationmodel:model from running on Windows 8
- #55656 user32:dialog - test_IsDialogMessage() fails in the hi-u8 and mx-MX locales on Windows
- #55658 msinfo32 fails to start on macOS / wow64 (was psapi:psapi_main - test_EnumProcessModules*() fails on macOS)
- #55670 Wordpad is no longer able to print multiple copies of a page
- #55674 64-bit wineserver/wine-preloader hangs on macOS 14.
- #55686 msvcr120:msvcr120 - test_StructuredTaskCollection() sometimes fails in Wine
- #55696 msvfw32:mciwnd - The 64-bit test_MCIWndCreate() crashes in Wine
- #55701 Sniper Elite 5 launcher opens Wine Internet Explorer instead of Options window
- #55708 cpython 3.12.0 fails to run on wine, needs unimplemented function propsys.dll.VariantToString
- #55713 mspaint.exe crashes with: Unhandled exception: unimplemented function propsys.dll.PropVariantToUInt32WithDefault
- #55732 kernel32:loader - The 64-bit test_import_resolution() fails in Wine
- #55733 ntdll:file - test_file_rename_information_ex() fails on Windows 10 1607 & 1709
----------------------------------------------------------------
Changes since 8.17:
Alex Henrie (14):
http: Use the strdup function instead of reimplementing it.
riched20: Use CRT allocation functions.
mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc.
winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc.
include: Introduce wine_dbgstr_fourcc and debugstr_fourcc.
comctl32: Use the debugstr_fourcc function instead of reimplementing it.
ddraw: Use the debugstr_fourcc function instead of reimplementing it.
mciavi32: Use the debugstr_fourcc function instead of reimplementing it.
mscms: Use the debugstr_fourcc function instead of reimplementing it.
msvfw32: Use the debugstr_fourcc function instead of reimplementing it.
cmd: Reset ignoreBracket when moving to the next line.
uninstaller: Don't overallocate in FetchFromRootKey.
msvcrt/tests: Check errno after strdup(NULL).
msvcrt/tests: Add tests for wcsdup.
Alexandre Julliard (34):
nls: Update character tables to Unicode 15.1.0.
mpg123: Import upstream release 1.32.2.
tiff: Import upstream release 4.6.0.
zlib: Import upstream release 1.3.
xml2: Import upstream release 2.11.5.
ldap: Import upstream release 2.5.16.
faudio: Import upstream release 23.10.
kernel32/tests: Add some dynamic base tests.
kernel32/tests: Delete the correct manifest file.
ntdll: Do an explicit mmap address search for any range not covering the entire address space.
ntdll: Add a helper to find a mapping address for a PE image.
ntdll: Always allocate dynamically relocatable dlls top-down.
ntdll: Fix relocation of the 32-bit ntdll.
ntdll: Move the module relocation support to virtual.c.
ntdll: Support relocating the main exe.
server: Set the dynamically relocated flag when relocations are present.
server: Assign a system-wide mapping address for dynamic base modules.
ntdll: Relocate dynamic base modules when mapping them.
winegcc: Enable dynamic base by default.
server: Remove some leftover code from a failed rebase.
ntdll: Only create the main module on the 32-bit side for wow64.
ntdll: Add a separate helper to build the main module on Wow64.
ws2_32: Make htonl/htons/ntohl/ntohs proper functions.
include: Stop pretending to support big-endian.
winebuild: Add a helper to output an asm function header.
ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers.
makefiles: Remove unnecessary imports of version.dll.
makefiles: Remove unnecessary imports of usp10.dll.
makefiles: Always use the global SOURCES variable for .mc files.
makefiles: Always use the global SOURCES variable for .po files.
makefiles: Always use the global SOURCES variable for .m files.
makefiles: Always use the global SOURCES variable for .sfd files.
makefiles: Always use the global SOURCES variable for .in files.
ntdll: Move LdrInitializeThunk to the CPU backends.
Alexandros Frantzis (7):
winewayland.drv: Respect the compositor requested surface config.
winewayland.drv: Handle xdg_toplevel tiled states.
winewayland.drv: Store and use the latest window config for a wayland_surface.
winewayland.drv: Handle application-initiated fullscreen state.
winewayland.drv: Use surface geometry to satisfy state size constraints.
winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
winewayland.drv: Avoid resizing fullscreen windows.
Alistair Leslie-Hughes (6):
d3dxof: Remove DECLSPEC_HIDDEN usage.
msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter.
wpcap: Return NULL on error in get_broadcast.
msado15: Move to newly created row in Recordset::AddNew.
msado15: Show fixme only if field_list needs to be used in Recordset::AddNew.
d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory().
Ally Sommers (1):
server: Move getpeername() implementation from ntdll/unix.
Arkadiusz Hiler (1):
xinput1_3: Hold module reference while the hid thread is running.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (7):
configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool.
winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool.
winemac.drv: Use ObjC literals.
wow64cpu: Use RTL_CONSTANT_STRING.
cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW.
winemac.drv: Fix redundant calls to [NSCursor set].
Connor McAdams (17):
uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
uiautomationcore/tests: Add tests for COM event handler event advisement.
uiautomationcore: Add support for passing WinEvents to the COM API.
uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
Daniel Lehman (5):
advapi32/tests: Add ReadEventLogW tests for EventLogStarted.
advapi32/tests: Add ReadEventLogA tests for EventlogStarted.
msxml4/tests: Copy namespaces as attributes tests.
msxml6/tests: Copy namespaces as attributes tests.
advapi32/tests: Skip ReadEventLog on failure to open System log.
Eric Pouech (6):
winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
msvfw32: Correctly store internal pointer.
dbghelp: Simplify allocation code.
dbghelp: Read debuggee environment by page.
winedbg: Set first LDT entry value as ntdll does.
winedbg: Correctly read LDT entries for wow64 debuggee.
Esme Povirk (1):
user32/tests: Print regions in test_hvredraw failure case.
Etaash Mathamsetty (1):
gdi32: Add stub for D3DKMTQueryAdapterInfo.
Fabian Maurer (1):
propsys: Implement PropVariantToUInt32WithDefault.
François Gouget (9):
winewayland.drv: Add a trailing linefeed to a TRACE() message.
dmsynth: Add a trailing linefeed to TRACE() messages.
nsiproxy.sys: Add a trailing linefeed to a TRACE() message.
secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
advapi32/tests: Better identify OpenEventLogA() failures.
advapi32/tests: Add the read_write info to the failures context.
advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails.
Gabriel Ivăncescu (11):
mshtml: Call handle_event on the proper dispex object.
mshtml: Remove unused IUnknown_iface in func_disp_t.
mshtml: Traverse EventTarget listeners.
mshtml: Implement SuperNavigate undocumented flag 2.
shdoclc: Add a basic generic html page for navigation errors.
ieframe: Implement IEHTMLWindow2_get_document.
ieframe: Navigate to a basic error page on failed navigation.
ieframe: Use the original URL for error pages' address bar.
ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
ieframe: Send the original URL for error pages in FireDocumentComplete notification.
ieframe: Implement DocObjectService_IsErrorUrl.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.267.
Hans Leidekker (2):
mmdevapi/tests: Don't initialize the audio client twice.
mmdevapi/tests: Relax a capture test.
Helix Graziani (3):
nsiproxy.sys: Implement ipv6_forward_enumerate_all.
winecfg: Change system theme alongside app theme.
uxtheme: Add ShouldSystemUseDarkMode.
Jactry Zeng (1):
user32: Add more builtin string resources.
Joel Holdsworth (7):
ntdll: Initial implementation of FileRenameInformationEx.
ntdll: Initial implementation of FileLinkInformationEx.
ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
Marcus Meissner (1):
user32/tests: Use correct size to LoadStringW.
Martin Storsjö (1):
configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
Matteo Bruni (1):
d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest().
Mohamad Al-Jaf (17):
windows.storage.applicationdata: Add stub DLL.
windows.storage.applicationdata: Add IApplicationDataStatics stub interface.
windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests.
windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
include: Add ISystemMediaTransportControls interface definition.
windows.media.mediacontrol: Add stub DLL.
include: Add systemmediatransportcontrolsinterop.idl file.
windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface.
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow().
windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests.
windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
include: Add windows.security.credentials.ui.idl file.
windows.security.credentials.ui.userconsentverifier: Add stub DLL.
windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface.
windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests.
Nikolay Sivov (25):
d3d10/effect: Add support for 'buge'/'bult' instructions.
d3d10/tests: Compact returned arrays checks.
d3d10/effect: Add support for 'ceil' instruction.
d3d10/effect: Add support for 'floor' instruction.
d3d10/effect: Add support for 'dot' instruction.
propsys: Partially implement VariantToString().
propsys: Handle VT_I4 type in VariantToString().
d3d10/effect: Add support for 'imul' instruction.
d3d10/tests: Use vector helpers in more places.
d3d10/effect: Add support for 'sqrt' instruction.
d3d10/effect: Add support for 'rsq' instruction.
d3d10/effect: Add support for 'log' instruction.
d3d10/effect: Add support for 'exp' instruction.
d3d10/effect: Add support for 'not' instruction.
d3d10/effect: Add support for 'or' instruction.
d3d10/effect: Add support for shift instructions.
d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
gdi32/emf: Fix miter limit serialization.
gdi32/tests: Add some tests for SetMiterLimit() argument validation.
gdi32: Reject invalid values in SetMiterLimit().
gdi32/emf: Add SetMetaRgn() recording.
winedump/emf: Add EMR_SETMITERLIMIT record dumping.
gdi32/emf: Add SetBrushOrgEx() recording.
gdi32/tests: Add some tests for FixBrushOrgEx().
d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Paul Gofman (5):
secur32: Synchronize access to schannel handle table.
server: Hold socket reference in sock_poll_event().
ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION.
imagehlp: Import functions instead of forwarding.
ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64).
Piotr Caban (16):
msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
gdi32: Pass default DEVMODE to winspool in CreateDC.
gdi32: Add partial support for creating EMREXTCREATEPEN records.
wineps: Add support for EMR_EXTCREATEPEN record playback.
localspl: Add ResetPrinter implementation.
winspool.drv: Add ResetPrinterW implementation.
gdi32: Update printer DEVMODE in ResetDCW.
gdi32: Fix METADC handling in PlayMetaFile.
gdi32: Test PlayMetaFile on METADC.
include: Add winppi.h header.
gdi32: Add GdiGetSpoolFileHandle stub.
gdi32: Add GdiDeleteSpoolFileHandle stub.
gdi32: Add GdiGetDevmodeForPage stub.
gdi32: Add GdiGetDevmodeForPage implementation.
wineps.drv: Use first page DEVMODE to determine number of copies and collation.
localspl: Truncate output file when printing to file.
Rémi Bernon (40):
dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
dmime: Implement some segment state default values.
dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
dmime: Introduce a new segment_state_create constructor.
dmime/tests: Tests interaction between CloseDown and notifications.
dmime: Keep messages with the same time ordered.
dmime: Free all pending messages after CloseDown.
dmime: Send DMUS_PMSGT_DIRTY messages from the performance.
dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
dmime: Implement IDirectMusicPerformance_GetNotificationPMsg.
dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state.
include: Avoid narrowing warning in wine_dbgstr_fourcc.
dmime/tests: Queue the message before calling SendPMsg twice.
dmsynth: Import and use FluidSynth 2.3.3.
fluidsynth: Use Wine debugging facility for traces.
dmsynth: Simplify IDirectMusicSynth8_Open checks.
dmsynth: Create a fluid_synth instance on Open.
dmsynth: Create and register a fluid_sfont instance.
server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
dmime: Get rid of the IDirectMusicWaveTrack typedef.
dmime: Include dmobject.h in dmime_private.h.
dmusic: Split wave entry points to dmusic_wave.h.
dmime: Create a wave track when loading a segment from a .wav.
dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
dmime: Implement IDirectMusicTrack_Play for the wave track.
dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
dmsynth: Fix synth download of articulations list.
dmsynth: Improve debug traces of DLS2 connections.
dmsynth: Guard synth members with a CS.
dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer.
dmsynth: Play some MIDI events in IDirectMusicSynth_Render.
dmsynth: Create fluid_preset and fluid_voice from instrument.
dmband: Download / unload bands when initializing / ending band track.
dmime: Implement sequence track IDirectMusicTrack_Play.
dmime: Implement band track IDirectMusicTrack_Play.
dmime: Output DMUS_MIDI_PMSG into a music buffer on the port.
dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages.
dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
winex11: Forcefully unmap the clipping window when it loses focus.
Stefan Dösinger (1):
wined3d: Reference the push constant buffers.
Zebediah Figura (15):
objsel: Remove unnecessary includes.
objsel: Remove DLL refcount tracking.
objsel: Merge factory.c into objsel.c.
objsel: Do not check for a NULL interface in COM methods.
objsel: Do not create an object from IClassFactory::QueryInterface().
wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES.
wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures".
wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures".
wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages".
wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags.
wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
shell32: Fix parsing empty arguments in parse_dde_command().
ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
ddraw: Refactor how bind flags are computed.
ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible.
Zhiyi Zhang (2):
mf: Avoid a double free of presentation clock timers.
winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.
The Wine development release 8.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.9.
- Initial window management in the Wayland driver.
- SoundFont support in DirectMusic.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.17.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.17 (total 19):
- #34789 MeGUI: Wrong icon for file chooser
- #38823 Sumatra PDF 3.0: tabs don't work correctly
- #43137 The Elder Scrolls: Oblivion crashes after opening logo screens.
- #46483 Cemu 1.12.0 crashes on unimplemented function msvcp140.dll.?_Throw_C_error@std@@YAXH@Z
- #48969 RageMP crashes on unimplemented function msvcp140.dll.?_Throw_future_error@std@@YAXAEBVerror_code@1@@Z
- #51327 GdipCreateFont initializes font with ANSI_CHARSET
- #54588 iphlpapi:iphlpapi - test_GetExtendedTcpTable() sometimes fails because the buffer is too small in Wine
- #55001 ToneX by IK Multimedia needs unimplemented function msvcp140.dll.?_Throw_C_error@std@@YAXH@Z
- #55184 Dwarf Fortress (Steam) crashes on unimplemented function msvcp140_atomic_wait.dll.__std_acquire_shared_mutex_for_instance
- #55240 The 64-bit winmm:capture & winmm:wave get BADDEVICEID on Windows 10+
- #55486 Finale 27 printing mangled
- #55522 SoftEther VPN Server Manager
- #55529 Text in SRPG Studio games ends with a tofu/missing character glyph.
- #55587 quartz:vmr9 - test_changed3ddevice() crashes on Windows 8+
- #55592 Separable Subsurface Scattering needs 'mov' opcode support for fx_4_0 effect
- #55599 Metatrader 4 - not possible to add any indicator to a chart
- #55614 ReCore crashes on unimplemented function msvcp110.dll.?_Winerror_map@std@@YAPEBDH@Z
- #55635 mfreadwrite:mfplat - test_interfaces() crashes on Windows 7 & 8
- #55651 d3d10:effect - test_effect_fx_4_1_blend_state() fails on Windows 7+
----------------------------------------------------------------
Changes since 8.16:
Akihiro Sagawa (3):
cmd/tests: Add dir built-in command test.
cmd/tests: Test file time stamp format.
cmd: Always outputs leading zeros when listing file time information.
Alex Henrie (24):
include: Move RTL functions that belong in winnt.h from winternl.h to winnt.h.
oleaut32: Use CRT allocation functions in connpt.c.
oleaut32: Use CRT allocation functions in hash.c.
oleaut32: Use CRT allocation functions in olepicture.c.
oleaut32: Use CRT allocation functions in typelib.c.
advpack: Use CRT allocation functions.
gameux: Use CRT allocation functions.
mciwave: Use CRT allocation functions.
msvfw32: Use CRT allocation functions.
ncrypt: Use the wcsdup function instead of reimplementing it.
shell32: Use the wcsdup function instead of reimplementing it.
wshom: Use the wcsdup function instead of reimplementing it.
dsound: Use malloc and free instead of _recalloc.
conhost: Use the wcsdup function instead of reimplementing it.
dxdiag: Use CRT allocation functions.
reg: Use the wcsdup function instead of reimplementing it.
regedit: Use the wcsdup function instead or reimplementing it.
sc: Use CRT allocation functions.
wordpad: Use the wcsdup function instead of reimplementing it.
avifil32: Use CRT allocation functions.
wpcap: Use the strdup function instead of reimplementing it.
include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h.
include: Correct conflicting definition of PSID.
include: Correct conflicting definition of PSECURITY_DESCRIPTOR.
Alexandre Julliard (26):
winebuild: Add a separate helper for .seh annotations.
winebuild: Remove unnecessary .cfi_startproc/endproc annotations.
winebuild: Add a few more SEH annotations.
winebuild: Make the syscall thunks position-independent on ARM64.
oleaut32: Add SEH annotations to ARM64 assembly code.
rpcrt4: Add SEH annotations to ARM64 assembly code.
vcomp: Add SEH annotations to ARM64 assembly code.
ntdll: Remove unneeded SEH annotations in Unix code.
kernel32/tests: Comment out one more test that can crash on Windows.
kernel32/tests: Don't make assumptions about argv[0] of the main process.
kernel32/tests: Unaligned SRW locks crash on ARM platforms.
kernel32/tests: Update dll characteristics to make the module loadable on ARM64.
vkd3d: Import upstream release 1.9.
server: Don't zero out the PE optional header regardless of specified size.
winedump: Don't zero out the PE optional header regardless of specified size.
ntdll: Consistently use the IMAGE_FIRST_SECTION helper macro.
dbghelp: Consistently use the IMAGE_FIRST_SECTION helper macro.
imagehlp: Use the IMAGE_FIRST_SECTION helper macro.
krnl386: Use the IMAGE_FIRST_SECTION helper macro.
widl: Use the IMAGE_FIRST_SECTION helper macro.
kernel32/tests: Fix loader tests on Windows ARM64.
winebuild: Set ASLR-related dll flags by default.
server: Require ASLR support on non-x86 platforms.
ntdll: Release the low address space reservation for 64-bit apps.
ntdll: Don't release the low address space reservation on wow64.
ntdll: Don't free reserved memory on 64-bit macOS.
Alexandros Frantzis (7):
winewayland.drv: Remove wayland_surface destruction double locking.
winewayland.drv: Handle xdg_toplevel close event.
winewayland.drv: Handle xdg_toplevel configure event size hint.
winewayland.drv: Handle xdg_toplevel maximized state.
winewayland.drv: Handle client-initiated user-driven window move.
winewayland.drv: Handle client-initiated user-driven window resize.
winewayland.drv: Fix removal of wl_seat globals.
Alistair Leslie-Hughes (9):
mfreadwrite/reader: Update to IMFSourceReaderEx.
d3drm: Correctly query for the returned interface.
msado15: Recordset::Open - Correctly update count/index values.
mfreadwrite/tests: Move test_interfaces after test_factory.
msado15: _Recordset::Filter set index on value.
d3dx9: Trace pointer value in D3DXValidMesh().
msado15: Implement _Recordset::get_ActiveConnection.
msado15: _Recordset::Open store active connection parameter.
msado15: Update editMode in AddNew/Cancel/Update functions.
Ally Sommers (2):
server: Return WSAEOPNOTSUPP on listen() if the socket's type is SOCK_DGRAM.
ws2_32/tests: Add more tests for SO_REUSEADDR.
Andrew Brobston (1):
d2d1: Support GUID_WICPixelFormat32bppRGB.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests of InterpolationMode Bilinear for GdipDrawImagePointsRect.
Biswapriyo Nath (19):
include: Add ID3D12VideoDecoder in d3d12video.idl.
include: Add ID3D12VideoDevice in d3d12video.idl.
include: Add ID3D12VideoDecoderHeap in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList in d3d12video.idl.
include: Add video decode profile guids in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT in d3d12video.idl.
include: Add ID3D12VideoDevice1 in d3d12video.idl.
include: Add ID3D12VideoExtensionCommand in d3d12video.idl.
include: Add ID3D12VideoDevice2 in d3d12video.idl.
include: Add ID3D12VideoEncoder in d3d12video.idl.
include: Add ID3D12VideoEncoderHeap in d3d12video.idl.
include: Add ID3D12VideoDevice3 in d3d12video.idl.
include: Add ID3D12VideoMotionEstimator in d3d12video.idl.
include: Add ID3D12VideoMotionVectorHeap in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList2 in d3d12video.idl.
include: Add some structures in d3d12video.idl.
Brendan Shanks (3):
winecoreaudio: Stop using the deprecated kAudioObjectPropertyElementMaster constant.
winecoreaudio: Use os_unfair_lock when available instead of OSSpinLock.
msv1_0: Implement ntlm_fork() using posix_spawn().
Connor McAdams (21):
uiautomationcore: Add UiaHasServerSideProvider stub.
uiautomationcore: Add a common helper function for creating HUIANODEs.
uiautomationcore: Implement UiaHasServerSideProvider.
include: Add missing WinEvent definitions.
uiautomationcore/tests: Add method expect definitions for all Accessible test interfaces.
uiautomationcore/tests: Add support for debug printing Accessible method calls.
uiautomationcore/tests: Add support for debug printing Provider method calls.
uiautomationcore: Add stub IRawElementProviderFragmentRoot implementation for MSAA providers.
uiautomationcore: Add a common helper function for querying IServiceProvider on IAccessible interfaces.
uiautomationcore: Implement IRawElementProviderFragment::get_FragmentRoot for MSAA providers.
uiautomationcore: Don't return oleacc proxy IAccessibles from GetIAccessible for MSAA providers.
uiautomationcore/tests: Increase wait timeout for cross-process event with navigation.
uiautomationcore: Pass through failure HRESULTS on MSAA accState based property IDs for MSAA providers.
uiautomationcore: Implement IRawElementProviderFragmentRoot::GetFocus for MSAA providers.
uiautomationcore: Add stub IProxyProviderWinEventHandler implementation for MSAA providers.
uiautomationcore: Handle EVENT_SYSTEM_ALERT in IProxyProviderWinEventHandler::RespondToWinEvent() for MSAA providers.
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
uiautomationcore: Add WinEvent hook on the UIA event thread.
uiautomationcore: Track HWNDs that need WinEvent translation.
uiautomationcore: Make sure event thread is started when listening for WinEvents.
Eric Pouech (3):
dbghelp: Check that dwarf unwinder did actually unwind.
ntdll: Allow empty application nodes in actctx.
winedump: Improve dumping DEBUG directory entries in PE images.
Esme Povirk (4):
user32/tests: Account for some messages from dual-monitor setups.
user32/tests: Fix WM_WINDOWPOSCHANGED entries.
user32/tests: Use a child window for test_PeekMessage3.
user32/tests: Use open_clipboard helper in msg tests.
François Gouget (1):
tests: Update the documentation.
Gabriel Ivăncescu (22):
mshtml: Move some Element methods around.
mshtml: Move some AnchorElement methods up.
mshtml: Move some AreaElement methods up.
mshtml: Move some FormElement methods up.
mshtml: Move some FrameElement methods down.
mshtml: Move some IFrame methods down.
mshtml: Move some ObjectElement methods up.
mshtml: Move some SelectElement methods up.
mshtml: Move node vtbl QI methods around.
mshtml: Move node vtbl destructor methods down.
mshtml: Get rid of useless element destructors.
mshtml: Use specific dispex vtbls for remaining HTML elements.
mshtml: Use specific dispex for each SVG element.
mshtml: Use the dispex's query_interface for DocumentType nodes.
mshtml: Use the dispex's query_interface for Document nodes and fragments.
mshtml: Use the dispex's query_interface for DOMTextNodes.
mshtml: Use the dispex's query_interface for the remaining nodes.
mshtml: Use the dispex's destructor for all nodes.
mshtml: Use the dispex's get_dispid for all nodes.
mshtml: Use the dispex's get_name for all nodes.
mshtml: Use the dispex's invoke for all nodes.
mshtml: Use the event_target vtbl's handle_event for all nodes.
Hans Leidekker (6):
winmm/tests: Avoid truncating the handle passed to waveInGetDevCapsW().
wbemprox: Get Win32_OperatingSystem.BuildType from the registry.
wbemprox: Fix Win32_OperatingSystem.TotalVirtual/VisibleMemorySize.
wbemprox: Implement Win32_OperatingSystem.InstallDate.
systeminfo: Add an implementation on top of WMI.
secur32: Only return success from initialize_package() when initialization fully succeeds.
Henri Verbeet (2):
wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
Huw D. M. Davies (1):
gdiplus: Copy the compound array in GdipClonePen().
Jacek Caban (4):
mshtml: Remove unused functions.
include: Support ARM64EC target in intrin.h.
include: Move __getReg intrinsic to intrin.h.
include: Support ARM64EC target in winnt.h.
Jactry Zeng (5):
msi: Use CreateFileW() for handling path from cabinet_open() instead.
cabinet/tests: Initialize CURR_DIR globally.
msxml3: Store ValidateOnParse property in domdoc_properties instead.
msxml3: Add ValidateOnParse support for IXMLDOMDocument3_{get,set}Property().
msxml3/tests: Add tests of ValidateOnParse property.
Jeff Smith (2):
gdiplus/tests: Test GdipCreateFont character set initialization.
gdiplus: Fix GdipCreateFont character set initialization.
Jinoh Kang (1):
wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
Joel Holdsworth (6):
include: Add flags to FILE_RENAME_INFORMATION used by FileRenameInformationEx.
ntdll/tests: Test both FileRenameInformation and FileRenameInformationEx in test_file_rename_information.
include: Add flags to FILE_LINK_INFORMATION used by FileLinkInformationEx.
ntdll/tests: Test both FileLinkInformation and FileLinkInformationEx in test_file_link_information.
ntdll/tests: Skip FileRenameInformationEx tests on older Windows versions.
ntdll/tests: Skip FileLinkInformationEx tests on older Windows versions.
Martin Storsjö (2):
include: Update the d3d12 headers from vkd3d.
include: Update the d3d12 header from vkd3d.
Mohamad Al-Jaf (7):
windows.applicationmodel: Add IPackageStatics stub interface.
windows.applicationmodel: Implement IPackageStatics::get_Current().
windows.applicationmodel: Implement IPackage::get_InstalledLocation().
windows.applicationmodel: Add IStorageItem stub interface.
windows.applicationmodel/tests: Add IStorageItem::get_Path() tests.
windows.applicationmodel: Implement IStorageItem::get_Path().
windows.applicationmodel/tests: Use PathRemoveFileSpecW() instead of PathCchRemoveFileSpec().
Nikolay Sivov (6):
d3d10/effect: Implement 'mov' opcode for expressions.
d3d10/effect: Implement instructions used for signed integer division.
d3d10/effect: Add signed integer compare instructions for expressions.
d3d10/tests: Add some tests for D3D10.1 blend state in effects.
d3dcompiler: Add support for matrix majority compiler flags.
d3d10/tests: Test for correct return value.
Paul Gofman (7):
mf/tests: Add tests for AAC decoder with different input number of channels.
winegstreamer: Handle missing or zero channel count in _GetOutputAvailableType in AAC decoder.
winegstreamer: Correct output available types attrs in AAC decoder for channel count > 2.
winegstreamer: Validate maximum channel count in _SetInputType in AAC decoder.
winegstreamer: Also return output with 2 channels for multichannel inputs from AAC decoder.
shell32: Avoid stack corruption with long name in SHELL_TryAppPathW().
shell32: Handle long command line in execute_from_key().
Piotr Caban (7):
msvcp110: Add _Winerror_map implementation.
msvcr110: Simplify _StructuredTaskCollection finished task counter updating.
msvcr110: Use Context blocking functions in _StructuredTaskCollection class.
msvcp140_atomic_wait: Add __std_acquire_shared_mutex_for_instance implementation.
wineps.drv: Remove unused hmtx_tab field from TYPE42 structure.
wineps.drv: Don't crash if specified font is missing required table in T42_download_header.
msvcp90: Silence FIXME in _Locinfo::_Locinfo_ctor and _Locinfo::_Locinfo_Addcats functions.
Rémi Bernon (74):
dmusic: Avoid swallowing collection Load failures.
dmusic: Rewrite downloading instrument to port.
dmusic: Parse collection wave table.
dmusic: Parse collection wave lists.
dmusic: Keep an internal ref on the instrument's collection.
dmusic: Implement downloading wave to port.
dmusic: Parse instrument regions articulation lists.
dmusic: Implement instrument articulation downloads.
dmime/tests: Test that SendPMsg also converts reference time.
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
dmime: Get rid of the DMUS_PMSGItem typedef.
dmime: Use a struct list to keep performance messages.
dmime: Remove unnecessary struct message members.
dmime: Rename DMUS_PMSGToItem to message_from_DMUS_PMSG.
dmime: Pass the DMUS_PMSG through the performance graph.
dmband: Rename IDirectMusicBandImpl prefix to band.
dmband: Get rid of the IDirectMusicBandImpl typedef.
dmband: Get rid of the IDirectMusicBandTrack typedef.
dmband: Avoid leaking bands on band track Release.
dmband: Avoid leaking collection on band release.
dmband: Rewrite band lbin list parsing.
dmband: Rewrite band lbil list parsing.
dmband: Rewrite band dmbd chunk parsing.
dmband: Rewrite band IPersistStream_Load.
dmime: Rename IDirectMusicSegment8Impl method prefix to segment.
dmime: Use one-liners for segment parameter checks.
dmime: Get rid of the IDirectMusicSegmentImpl typedef.
dmime: Avoid leaking tracks in IDirectMusicSegment_Release.
dmime: Rewrite segment IDirectMusicSegment_GetTrack.
dmime: Rewrite segment IDirectMusicSegment_GetTrackGroup.
dmime: Rewrite segment IDirectMusicSegment_InsertTrack.
dmime: Rewrite segment IDirectMusicSegment_RemoveTrack.
dmime: Use segment_append_track in Clone and parse_track_form.
dmime/tests: Add some DMUS_NOTIFICATION_PMSG tests.
dmime/tests: Test wave segments and DMUS_WAVE_PMSG.
dmime/tests: Test sequence track and DMUS_NOTE_PMSG.
dmime/tests: Test band track and DMUS_PATCH_PMSG.
dmusic/tests: Fixup chunk alignment in steam_end_chunk.
dmusic: Keep the original instrument patch in the entry.
dmband: Rewrite band track lbdl/lbnd lists parsing.
dmband: Rewrite band track DBMT chunk parsing.
dmband: Rewrite band track IPersistStream_Load.
dmime: Get rid of the IDirectMusicSeqTrack typedef.
dmime: Implement DirectMusicSeqTrack IPersistStream_Load.
dmloader: Rename IDirectMusicLoaderImpl method prefix to loader.
dmloader: Get rid of the IDirectMusicLoaderImpl typedef.
dmloader: Initialize ref to 1, and release after QueryInterface.
dmloader: Introduce a new loader_stream_create helper.
dmloader: Get rid of the custom generic stream wrapper.
dmime/tests: Remove some duplicated tests.
dmime/tests: Move performance tests into dmime.c.
dmime/tests: Test performance Init with a created port.
dmime: Set the port direct sound before activating it.
dmime: Initialize performance in Init rather than InitAudio.
dmime: Return DMUS_E_AUDIOPATHS_IN_USE when audio paths are in use.
dmime: Return DMUS_E_AUDIOPATH_INACTIVE when audio paths are not enabled.
dmloader: Use a simpler file stream implementation.
dmusic/tests: Test default gm.dls sound font instruments.
dmloader: Remove invalid default DLS collection check.
dmloader: Add fallbacks if the configured GMFilePath doesn't exist.
dmusic: Avoid leaking articulations when freeing regions.
dmusic: Avoid crashing in traces if wave doesn't have a WSMPL.
dmusic: Implement SoundFont2 collection parsing.
dmusic: Implement SoundFont2 wave sample parsing.
dmusic: Implement SoundFont2 instrument parsing.
dmime/tests: Add some tests for GUID_ConnectToDLSCollection.
dmime/tests: Test segment state and playing a custom track.
dmime: Implement IDirectMusicSegment_SetParam.
dmband: Implement band track GUID_ConnectToDLSCollection parameter.
dmime: Implement IDirectMusicSegment_(Download|Unload).
dmband: Implement IDirectMusicBand_(Download|Unload).
dmband: Implement band track GUID_UnloadFromAudioPath parameter.
dmband: Implement band track GUID_DownloadToAudioPath parameter.
dmime: Implement IDirectMusicPerformance_DownloadInstrument.
Yuxuan Shui (4):
gdi32: Make GetStockObject hotpatchable.
user32: Make CallWindowProcA hotpatchable.
user32: Add hotpatchable wrapper for GetWindowLongA.
rtworkq: Fix leak of thread pool work items.
Zebediah Figura (5):
wined3d: Pass a wined3d_stateblock_state to wined3d_device_validate_device().
d3d10core/tests: Test performing a full clear after a draw.
wined3d: Remove invalid parameter checks from internal wined3d_device_set_*() functions.
wined3d: Make wined3d_stateblock_state_{init,cleanup}() static.
wined3d: Move struct wined3d_stateblock into stateblock.c.
Zhiyi Zhang (2):
user32/tests: Fix test failures in Hindi UTF-8 and mixed locales.
user32: Enable IsDialogMessageA() ASCII to Unicode mapping only when the user default lang ID is CJK.