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.
The Wine development release 8.16 is now available.
What's new in this release:
- Beginnings of a DirectMusic revival.
- Many fixes and improvements in the regression tests.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.16.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.16 (total 33):
- #42809 GPS Track Editor: arrows not shown
- #51561 Wine's built-in gdiplus.dll lags in Paint.NET compared to native (Win 7) gdiplus.dll
- #51995 Roblox's bad performance on Wine
- #52196 BENNING PC-Win ST 750-760 Designer crashes on start, needs GdipSetPenCompoundArray implementation
- #53435 user32:msg - test_SendMessage_other_thread() sometimes gets a wrong status on Windows
- #54202 mscoree:mscoree breaks user32:msg - subtest_hvredraw() fails on most Windows 7 test configurations
- #54331 Game "Antecrypt": Black screen after launch
- #54368 ::DrawGeometry doesn't respect stroke style
- #54655 user32:msg - test_InSendMessage() sometimes gets unexpected flags on Windows
- #54683 shlwapi:ordinal - test_SHFormatDateTimeA() fails due to daylight saving time on Windows
- #54944 ntdll:exception - test_extended_context() crashes on Window 11
- #54945 ntdll:exception - test_virtual_unwind() fails on Windows 11
- #54998 DnsQuery(DNS_TYPE_SRV) fails to parse some of the server answers
- #55225 kernel32:thread - The 32-bit test_stack() gets an unexpected values for -2 & -3 indexes on Windows
- #55227 wtsapi32:wtsapi - The 32-bit check_wts_process_info() fails to get the user token on Windows 7 & 8
- #55237 oleaut32:usrmarshal - The 64-bit test_marshal_VARIANT() gets bad values for wv[5&6] on Windows 8+
- #55238 ntdll:exception - The 64-bit test_nested_exception() fails on Windows 11
- #55244 mshtml:misc - test_HTMLStorage() crashes in Wine
- #55246 ntdll:om - The 64-bit test_object_types() crashes on Windows 8+
- #55317 user32:msg - test_hotkey() finds no free WinKey+letter on Windows 11
- #55354 user32:msg - test_dialog_messages() sometimes gets a bad sequence on Windows 7
- #55366 The GitLab CI sometimes tries to link winscard with libpcsclite on macOS
- #55459 Softerra LDAP Browser fails to turn off LDAP_OPT_ENCRYPT, LDAP_OPT_ROOTDSE_CACHE, and LDAP_OPT_SIGN
- #55501 PS Core (pwsh.exe) fails to start:Call to unimplemented function wldp.dll.WldpGetLockdownPolicy
- #55505 Vitis 2020.1 needs support for `if exist ""` in batch file
- #55507 Softerra LDAP Browser needs LDAP_OPT_CLIENT_CERTIFICATE
- #55508 Wine 8.15: compiles successfully in Flatpak but fails during runtime with a SIGSEGV
- #55531 combase:roapi - test_ActivationFactories() fails on Windows and Wine
- #55532 kernel32:actctx - test_two_dlls_at_same_time() crashes on Windows 7+ and Wine
- #55533 setupapi:devinst & setupapi:install - test_class_installer() fails on Windows 7+ and Wine
- #55534 ucrtbase:thread - test_thread_library_reference() fails on Windows 7+ and Wine
- #55535 The dinput:hid test summary line fails to take skip messages into account on Windows 7
- #55539 user32:msg test_hvredraw fails in win1709 with unexpected region
----------------------------------------------------------------
Changes since 8.15:
Alex Henrie (19):
wldap32: Rename cert_callback to server_cert_callback.
wldap32: Implement setting LDAP_OPT_CLIENT_CERTIFICATE.
msctf: Use CRT allocation functions.
shcore: Use CRT allocation functions.
shlwapi: Use CRT allocation functions.
snmpapi: Use CRT allocation functions.
uiautomationcore: Use CRT allocation functions.
mpr: Use CRT allocation functions.
cmd: Handle `if exist` with an empty string argument.
wintab32: Use CRT allocation functions.
wintrust: Use CRT allocation functions.
extrac32: Use CRT allocation functions.
oleview: Use CRT allocation functions.
wineboot: Use CRT allocation functions.
winemenubuilder: Use CRT allocation functions.
winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc.
winmm: Use CRT allocation functions.
newdev: Use CRT allocation functions.
http: Use CRT allocation functions.
Alexandre Julliard (21):
kernel32/tests: Also remove stack pointer checks on 64-bit.
oleaut32/tests: Mark the win9x behavior as todo on Wine.
makedep: Make the spec file optional for testdll resources.
makedep: Make the spec file optional for data-only dlls.
makedep: Make the spec file optional for native modules.
winegcc: Don't disable unwind tables for PE targets.
winebuild: Add SEH information to relay entry points on ARM64.
ntdll/tests: Use a valid buffer address for misalignment test.
ntdll: Always fetch the %fs register from the thread data.
ntdll: Ignore attempts to change segment registers on x86-64.
ntdll: Don't save segment registers in the syscall frame on x86-64.
ntdll: Add missing backslash to query image file execution options.
win32u: Use the correct length for kernel object names in object attributes.
wow64: Don't add MEM_RESERVE for invalid flags combinations.
include: Add DECLSPEC_NOINLINE macro.
ntdll/tests: Fix some test failures on ARM64 Windows.
localspl: Fix an uninitialized variable warning with clang.
ntdll: Fix the hardcoded selector values for ARM64.
ntdll: Fixup the pc address for breakpoint exceptions on ARM64.
ntdll: Fix the SystemProcessorFeaturesInformation value on ARM platforms.
ntdll/tests: Mark some tests as todo for ARM64.
Alexandros Frantzis (5):
winewayland.drv: Add initial stub for wl_pointer handling.
winewayland.drv: Handle pointer focus events.
winewayland.drv: Handle pointer motion events.
winewayland.drv: Handle pointer button and scroll events.
winewayland.drv: Implement SetCursor using cursor bitmap data.
Alfred Agrell (6):
quartz: Fill in VMR9SurfaceAllocatorNotify_NotifyEvent stub.
quartz: Recreate surfaces in VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_NotifyEvent.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz: Delete some redundant members from struct quartz_vmr.
quartz/tests: Fix segfault in changed3ddevice test.
Alistair Leslie-Hughes (6):
diasymreader: Remove DECLSPEC_HIDDEN usage.
qmgr: Remove DECLSPEC_HIDDEN usage.
kernel32: Remove DECLSPEC_HIDDEN usage.
user32: Remove DECLSPEC_HIDDEN usage.
wshom.ocx: Remove DECLSPEC_HIDDEN usage.
d3drm: Correct D3DRMIMAGE validation.
Arkadiusz Hiler (2):
dsound: Get rid of DSOUND_capturers and related lock.
dsound: Get rid of the global device GUID arrays.
Bartosz Kosiorek (1):
gdiplus/tests: Extend DrawImage scaling tests.
Billy Laws (1):
include: Add CHPEV2 CPU area definitions.
Biswapriyo Nath (6):
include: Add AudioCaptureEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioRenderEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioEffectsManager runtimeclass in windows.media.effects.idl.
include: Add IPackage2 definition in windows.applicationmodel.idl.
include: Add missing error codes in msctf.idl.
include: Add IEnumTfPropertyValue definition in msctf.idl.
Brendan Shanks (15):
tools: Use posix_spawn() instead of fork()/execvp().
server: Remove the fallback epoll() syscalls.
crypt32: Ensure unixlib function tables and enum stay in sync.
msv1_0: Ensure unixlib function tables and enum stay in sync.
ws2_32: Ensure unixlib function tables and enum stay in sync.
bcrypt: Ensure unixlib function tables and enum stay in sync.
winegstreamer: Ensure unixlib function tables and enum stay in sync.
dwrite: Ensure unixlib function tables and enum stay in sync.
winspool.drv: Ensure unixlib function tables and enum stay in sync.
netapi32: Ensure unixlib function tables and enum stay in sync.
capi2032: Ensure unixlib function tables and enum stay in sync.
winealsa: Ensure unixlib function tables and enum stay in sync.
winecoreaudio: Ensure unixlib function tables and enum stay in sync.
wineoss: Ensure unixlib function tables and enum stay in sync.
winepulse: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (2):
msxml3/tests: Fix failure messages.
msvcp110: Add std::_Throw_future_error.
Dmitry Timoshkov (15):
wldap32: Add support for ldap_set_option(LDAP_OPT_HOST_NAME).
kerberos: Add ISC_REQ_DELEGATE to the list of supported flags.
dnsapi/tests: Add some tests for DNS_TYPE_SRV messages.
dnsapi: Accept name records of exact size at the end of the packet.
dnsapi: Set correct wDataLength for DNS_TYPE_SRV records.
gdiplus/tests: Fix compilation with PSDK compiler.
gdiplus/tests: Add a test for calling GdipImageSelectActiveFrame() with invalid frame on a memory bitmap.
gdiplus: In GdipImageSelectActiveFrame rely on codec->select_func() to fail.
comctl32: Use iswalnum() to filter alpha numeric characters from unicode messages.
schedsvc: Remove duplicate dwControlsAccepted initialization.
wevtsvc: Remove duplicate dwControlsAccepted initialization.
srvsvc: Add LanmanServer stub service.
user32: Listbox shouldn't send WM_COMMAND/LBN_DBLCLK notification if it has no items.
server: Write terminating '\0' in the strings.
d2d1: Scale stroke width for D2D1_STROKE_TRANSFORM_TYPE_FIXED in DrawGeometry::ID2D1DeviceContext1().
Eric Pouech (3):
kernel32/console: Add tests for GenerateConsoleCtrlEvent().
cmd: Better handle ctrl-c events.
dbghelp: Don't insert dwz file map into module's file maps' chain.
Esme Povirk (8):
user32/tests: Trace run number in test_SendMessage_other_thread.
user32/tests: Wait for GetMessage call to complete.
user32/tests: Check all letters in test_hotkey.
user32/tests: Register test_hvredraw class in temp desktop.
user32/tests: Detect win7's broken GetQueueStatus behavior.
user32/tests: Delete a faulty test.
user32/tests: Account for ignored messages in PeekMessage call.
user32/tests: Ignore other messages in test_broadcast.
Etaash Mathamsetty (2):
include: Update definition of KDPC.
ntoskrnl.exe/tests: Add KeInitializeDpc tests.
Evan Tang (2):
d3d11: Add tests for clearing RTs in the middle of a render.
wined3d: Restart vk render pass on RT clear.
François Gouget (2):
dmsynth/tests: Add the trailing linefeed to a win_skip() message.
kernel32/tests: Allow a 0 removed entry count in the completion test.
Gabriel Ivăncescu (61):
mshtml: Implement querySelector for document fragments.
mshtml: Implement querySelectorAll for document fragments.
mshtml: Expose an EventTarget interface on the outer window for events' target dispatch.
mshtml: Return interface directly from node vtbl's QI instead of HRESULT, without AddRef.
mshtml: Introduce query_interface in dispex vtbl and use it for DOM Nodes.
mshtml: Use query_interface in the dispex vtbl for inner windows.
mshtml: Use query_interface in the dispex vtbl for XMLHttpRequest.
mshtml: Trace the object name in dispex methods.
mshtml: Unstub some implemented event handlers in IHTMLWindow7 interface.
mshtml: Use query_interface in the dispex vtbl for builtin constructors.
mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
mshtml: Use query_interface in the dispex vtbl for CSS Styles.
mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and collections.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMAttribute.
mshtml: Use query_interface in the dispex vtbl for HTMLEventObj.
mshtml: Use query_interface in the dispex vtbl for DOM Events.
mshtml: Get rid of the custom query_interface for DOM Events.
mshtml: Use query_interface in the dispex vtbl for MutationObserver.
mshtml: Use query_interface in the dispex vtbl for DOMTokenList.
mshtml: Use query_interface in the dispex vtbl for HTMLRect.
mshtml: Use query_interface in the dispex vtbl for DOM and Text Ranges.
mshtml: Use query_interface in the dispex vtbl for HTMLSelectionObject.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMImplementation.
mshtml: Use query_interface in the dispex vtbl for HTMLScreen.
mshtml: Use query_interface in the dispex vtbl for History.
mshtml: Use query_interface in the dispex vtbl for Navigator.
mshtml: Use query_interface in the dispex vtbl for Console.
mshtml: Use query_interface in the dispex vtbl for MediaQueryList.
mshtml: Use query_interface in the dispex vtbl for Performance.
mshtml: Use query_interface in the dispex vtbl for PerformanceNavigation.
mshtml: Use query_interface in the dispex vtbl for PerformanceTiming.
mshtml: Get rid of `outer` in DispatchEx.
mshtml: Forward objects' IUnknown methods to the DispatchEx.
mshtml: Get rid of the custom qi for CSS Styles.
mshtml: Traverse and unlink AnchorElements using the dispex.
mshtml: Traverse and unlink AreaElements using the dispex.
mshtml: Traverse and unlink BodyElements using the dispex.
mshtml: Traverse and unlink FormElements using the dispex.
mshtml: Traverse and unlink FrameElements using the dispex.
mshtml: Traverse and unlink IFrames using the dispex.
mshtml: Traverse and unlink ImageElements using the dispex.
mshtml: Traverse and unlink InputElements using the dispex.
mshtml: Traverse and unlink ButtonElements using the dispex.
mshtml: Traverse and unlink LinkElements using the dispex.
mshtml: Traverse and unlink ObjectElements using the dispex.
mshtml: Traverse and unlink OptionElements using the dispex.
mshtml: Traverse and unlink ScriptElements using the dispex.
mshtml: Traverse and unlink SelectElements using the dispex.
mshtml: Traverse and unlink StyleElements using the dispex.
mshtml: Traverse and unlink TableElements using the dispex.
mshtml: Traverse and unlink TextAreaElements using the dispex.
mshtml: Unlink document nodes and fragments using the dispex.
Gerald Pfeifer (1):
ntdll: Fix leave_handler for FreeBSD and NetBSD.
Hans Leidekker (19):
wtsapi/tests: Use a heap buffer for the user SID.
webservices/tests: Fully initialize xmlstr.
wbemprox: Call GetAdaptersAddresses() in a loop.
netprofm: Call GetAdaptersAddresses() in a loop.
wpcap: Call GetAdaptersAddresses() in a loop.
ipconfig: Use CRT allocation functions.
ipconfig: Call GetAdaptersAddresses() in a loop.
wsdapi: Use CRT allocation functions.
wsdapi: Call GetAdaptersAddresses() in a loop.
wsdapi/tests: Use CRT allocation functions.
wsdapi/tests: Call GetAdaptersAddresses() in a loop.
ws2_32/tests: Use CRT allocation functions.
ws2_32/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Use CRT allocation functions.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
wpcap/tests: Accept another return value from pcap_can_set_rfmon().
winscard/tests: Skip tests when SCardListReadersA() returns an empty list.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Call GetExtendedTcp/UdpTable() in a loop.
Helix Graziani (1):
wldp: Add WldpQueryWindowsLockdownMode stub.
Huw D. M. Davies (1):
ntdll: Store the codepage data addresses in both PEBs.
Jacek Caban (10):
ntdll: Unconditionally forward console events to kernelbase.
mshtml: Use unsigned types for bitfields.
msvcrt: Use unsigned types for bitfields.
ole32/tests: Don't use bitfield for called_todo.
regedit: Use unsigned types for bitfields.
shell32: Use unsigned types for bit fields.
shell32: Use a signed value to assign single signed bitfields values.
server: Store both contexts in pending context object.
ntdll/tests: Add tests for setting context on unsuspended thread.
wow64win: Implement wow64_NtUserImmTranslateMessage.
Jacob Czekalla (1):
comctl32/status: Invalidate entire status bar on WM_SIZE.
Jeff Smith (3):
xaudio2/tests: Improve IID_IXAudio2 interface version checking.
dwrite: Treat null character as NO_VISUAL in script analyzer.
gdiplus: GdipIsVisiblePathPoint is not affected by world transform.
Jinoh Kang (3):
loader: Fix calculation of thread_data address in Linux x86-64 preloader.
loader: Don't return from __stack_chk_fail() stub in preloader.
user32/tests: Isolate window update region tests in a temporary desktop.
Joel Holdsworth (1):
ntdll/tests: Update link test to reflect Windows 11 behaviour.
Julian Rüger (1):
po: Update German translation.
Lorenzo Ferrillo (2):
ole32: Leave the RunningObjectTable Critical Section before umarshalling object.
ole32: Add debug info to RunningObjectTable critical section.
Matteo Bruni (11):
wined3d: Don't call wined3d_context_gl_apply_blit_state() from texture2d_read_from_framebuffer().
wined3d: Prepare/load the destination resource location in ffp_blitter_blit().
wined3d: Prepare/load the destination resource location in arbfp_blitter_blit().
wined3d: Don't bind the FBO to GL_READ_FRAMEBUFFER in wined3d_context_gl_apply_blit_state().
wined3d: Don't call wined3d_texture_load() from wined3d_context_gl_apply_blit_state().
wined3d: Don't setup FBO and draw buffers in wined3d_context_gl_apply_blit_state().
wined3d: Rename wined3d_context_gl_apply_fbo_state_blit() function.
wined3d: Handle depth textures in texture2d_read_from_framebuffer().
wined3d: Don't force going through a texture when downloading from renderbuffers.
wined3d: Skip acquiring a context for an offscreen resource in texture2d_read_from_framebuffer().
wined3d: Don't skip ARB fragment program selection when fog state is dirty.
Mohamad Al-Jaf (5):
windows.applicationmodel: Add stub DLL.
appxdeploymentclient: Add stub DLL.
appxdeploymentclient: Implement IActivationFactory::ActivateInstance().
include: Add Windows.Management.Deployment.IPackageManager2 interface definition.
appxdeploymentclient: Add IPackageManager2 stub interface.
Nikolay Sivov (2):
kernel32/tests: Add activation context test with empty assembly manifest.
ntdll/actctx: Accept empty assembly elements.
Paul Gofman (18):
ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToNtPathName_U with mask.
ntdll/tests: Test NtQueryDirectoryFile with wildcards.
kernel32/tests: Add more tests for FindFirstFile with wildcards.
kernelbase: Duplicate file name matching code for FindNextFileW().
kernelbase: Get unprocessed mask in FindFirstFileExW().
kernelbase: Support masks suggesting no extension in FindNextFile().
ntdll/tests: Adjust test_virtual_unwind() for Win11 results.
include: Define up to date exception flags.
ntdll/tests: Adjust test_nested_exception() for Win11 results.
ntdll/tests: Adjust test_extended_context() for Win11 results.
ntdll/tests: Adjust test_raiseexception_regs() for Win11 results.
wtsapi32: Improve WTSEnumerateSessionsW() stub.
wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSessionsW().
wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW().
server: Support FileStandardInformation for pipes.
server: Don't set SO_RCVBUF below Windows default value on Unix socket.
d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace().
d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace().
Piotr Caban (4):
msvcp100: Fix failure class layout.
msvcp110: Add _Throw_C_error implementation.
wineps: Remove dynamic glyph list.
wineps: Fix EMRPOLYDRAW16 printing.
Ryan Hendrickson (1):
regedit: Export hex(4) instead of dword if size isn't 4 bytes.
Rémi Bernon (122):
dmsynth: Remove unnecessary comments.
dmsynth: Always return S_FALSE from DllCanUnloadNow.
dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink.
dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef.
dmsynth: Move IDirectMusicSynthImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth.
dmsynth: Get rid of the IDirectMusicSynth8Impl typedef.
dmsynth: Use CRT allocation functions.
dmsynth/tests: Avoid dynamic format string.
dmsynth/tests: Import and use a check_interface helper.
dmsynth/tests: Test DirectMusicSynthSink class in isolation.
dmsynth/tests: Test DirectMusicSynth class in isolation.
windows.applicationmodel/tests: Add some IPackageManager tests.
makedep: Use #pragma makedep testdll for TESTDLL resources.
makedep: Support generating .exe TESTDLL resources.
windows.applicationmodel/tests: Test IPackageManager_RegisterPackageAsync.
windows.applicationmodel/tests: Test executing a WinRT package application.
include: Fix incorrect IDirectMusicPortDownload_Unload macro.
dmusic/tests: Test IDirectMusic(Port)Download interfaces.
dmusic/tests: Test IDirectMusicPort_(Download|Unload)Instrument.
dmusic: Always return S_FALSE from DllCanUnloadNow.
dmusic: Simplify and cleanup IDirectMusicDownload constructor.
dmusic: Move IDirectMusicDownloadImpl struct to where it is used.
dmusic: Rename IDirectMusicDownloadImpl method prefix to download.
dmusic: Implement synth port IDirectMusicPortDownload_GetDLId.
dmusic: Implement IDirectMusicPortDownload_AllocateBuffer.
dmusic: Implement IDirectMusicPortDownload_(Download|Unload).
dmusic: Implement IDirectMusicPortDownload_GetBuffer.
dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub.
dmsynth: Avoid leaking master clock references.
dmsynth: Allow changing master clock while active.
dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub.
dmsynth: Implement SampleToRefTime and RefTimeToSample.
makedep: Fix a string format specifier typo.
dmsynth: Move constructor parameter checks to class factory.
include: Use IReferenceClock interface from strmif.idl in dmusicc.h.
dmsynth: Implement latency IReferenceClock interface on the sink.
dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink.
dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op.
dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate.
dmusic: Move constructor parameter checks to class factory.
dmusic: Rename IDirectMusicCollectionImpl method prefix to collection.
dmusic: Get rid of the IDirectMusicCollectionImpl typedef.
dmusic: Get rid of struct collection liCollectionPosition member.
dmusic: Get rid of struct collection liWavePoolTablePosition member.
dmusic: Simplify and cleanup IDirectMusicInstrument constructor.
dmusic: Rename IDirectMusicInstrumentImpl method prefix to instrument.
dmusic: Get rid of the IDirectMusicInstrumentImpl typedef.
dinput/tests: Report the driver success and skipped tests counters.
windows.applicationmodel/tests: Report success and skipped tests counters.
ntoskrnl/tests: Use wine/test.h in the driver tests.
dmime/tests: Test IDirectMusicGraph interface with a dummy tool.
dmime/tests: Test performance IDirectMusicTool interface.
dmime/tests: Test performance IDirectMusicGraph interface.
dmime/tests: Test IDirectMusicPerformance time conversion.
dmime/tests: Test IDirectMusicPerformance_*PMsg methods.
dmime/tests: Test IDirectMusicTool message reception filter.
dmime/tests: Test IDirectMusicTool message reception delay.
dmsynth/tests: Test IDirectMusicSynth_Unload.
dmusic: Avoid passing invalid handle to IDirectMusicSynth_Unload.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves.
dmsynth: Implement IDirectMusicSynth_Download for instrument regions.
dmsynth: Implement IDirectMusicSynth_Download for instrument articulations.
dmusic: Use a struct list for instrument articulations.
dmusic: Use a struct list for instrument regions.
dmusic: Reset riff chunk type to 0 when it is invalid.
dmusic: Rewrite instrument lrgn list parsing.
dmusic: Rewrite instrument lart list parsing.
dmusic: Rewrite instrument ins chunk parsing.
dmusic: Allocate and parse instruments in a single pass.
dmusic: Cleanup collection instrument iteration loops.
dmusic: Stop leaking instruments on collection release.
dmime: Always return S_FALSE from DllCanUnloadNow.
dmime: Use CRT allocation functions.
dmime: Use the correct interface methods.
dmime: Fix indentation in DirectMusicPerformance class constructor.
dmime: Rename IDirectMusicPerformance8Impl method prefix to performance.
dmime: Get rid of IDirectMusicPerformance8Impl typedef.
dmime: Fix indentation in IDirectMusicPerformance_QueryInterface.
dmime: Add a IDirectMusicGraph interface to the performance.
dmime: Add a IDirectMusicTool interface to the performance.
dmband: Always return S_FALSE from DllCanUnloadNow.
dmband: Use CRT allocation functions.
dmband: Use PARENTSRC with dmusic.
dswave: Always return S_FALSE from DllCanUnloadNow.
dswave: Use CRT allocation functions.
dswave: Use PARENTSRC with dmusic.
dmstyle: Awlays return S_FALSE from DllCanUnloadNow.
dmstyle: Use CRT allocation functions.
dmstyle: Use PARENTSRC with dmusic.
dmime: Remove FIXME from performance IDirectMusicGraph methods.
dmime: Implement some performance IDirectMusicTool methods.
dmime: Rewrite IDirectMusicGraph tools iteration.
dmime: Rename DirectMusicGraph method prefix to graph.
dmime: Get rid of the IDirectMusicGraphImpl typedef.
dmime: Implement IDirectMusicGraph_StampPMsg.
dmime: Implement performance IDirectMusicGraph_StampPMsg.
dmime: Set the tool delivery type on the messages flags.
dmcompos: Always return S_FALSE from DllCanUnloadNow.
dmcompos: Use CRT allocation functions.
dmcompos: Use PARENTSRC with dmusic.
dmloader: Always return S_FALSE from DllCanUnloadNow.
dmloader: Use CRT allocation functions.
dmloader: Use PARENTSRC with dmusic.
dmscript: Always return S_FALSE from DllCanUnloadNow.
dmscript: Use CRT allocation functions.
dmscript: Use PARENTSRC with dmusic.
dmime: Use PARENTSRC with dmusic.
dmime: Rewrite IDirectMusicPerformance8_GetTime.
dmime: Implement MusicToReferenceTime and ReferenceToMusicTime.
dmime: Cleanup IDirectMusicPerformance_AllocPMsg.
dmime: Cleanup IDirectMusicPerformance_FreePMsg.
dmime: Cleanup IDirectMusicPerformance_SendPMsg.
dmime: Implement IDirectMusicPerformance8_ClonePMsg.
dmusic: Rewrite collection lins list parsing.
dmusic: Rewrite collection ptbl chunk parsing.
dmusic: Rewrite collection INFO list parsing.
dmusic: Rewrite collection DLS chunk parsing.
dmusic: Parse instrument name from INFO list.
dmusic: Add more parsed instruments traces.
Stefan Dösinger (13):
d3d9/tests: Skip big test_query loops if the d3d implementation is too slow.
d3d9/tests: Don't fail d3d9ex if the window manager restores focus too soon.
d3d9/tests: Don't fail test_reset_fullscreen if the WM resizes us.
d3d9/tests: Don't check messages when doing the minimization workaround dance.
d3d8/tests: Don't check messages when doing the minimization workaround dance.
gitlab: Enable d3d8 and d3d9 device tests.
d3d9/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d8/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d9/tests: Request a 3 mip level cube texture in test_getdc().
d3d8/tests: Fix skipping ATI2N in test_resource_access.
d3d9/tests: Fix skipping ATI2N in test_resource_access.
d3d8/tests: Mark the hidden test WM_WINDOWPOSCHANGED test flaky.
d3d9/tests: Mark hidden window WM_WINDOWPOSCHANGED tests unconditionally flaky.
Tim Clem (2):
win32u/tests: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL.
Yuxuan Shui (2):
urlmon: Test http protocol through CreateBinding.
urlmon: Fix NULL dereference in BindProtocol_UnlockRequest.
Zebediah Figura (14):
d3dxof: Remove unnecessary includes.
wmvcore: Explicitly include strmif.h.
include: Do not import strmif.idl in mediaobj.idl.
dsound: Do not include strmif.h.
wined3d: Enable shaderDrawParameters on Vulkan 1.1 if supported.
wined3d: Allow creating a feature level < 10 device if KHR_shader_draw_parameters is missing.
wined3d: Do not use EXT_host_query_reset if hostQueryReset is not actually supported.
wined3d: Do not use EXT_transform_feedback if transformFeedback is not actually supported.
wined3d: Remove the unused "sampler" local variable from wined3d_context_vk_load_shader_resources().
wined3d: Remove WINED3D_TEXTURE_NORMALIZED_COORDS.
wined3d: Remove the unused "current_fprogram_id" field from struct shader_arb_priv.
wined3d: Remove the unused "current_vprogram_id" field from struct shader_arb_priv.
wined3d: Do not set last_was_pshader from the GLSL fragment pipe.
sensapi: Remove unnecessary includes.
Zhiyi Zhang (4):
comctl32/edit: Don't use WM_TIMER to update caret position.
user32/edit: Don't use WM_TIMER to update caret position.
user32/tests: Test IsDialogMessageA() converting ASCII WM_CHAR messages.
user32: Map WM_CHAR wparam in ASCII to Unicode in IsDialogMessageA() for CJK locales.
Ziqing Hui (9):
winegstreamer: Add push_event wrapper.
winegstreamer: Add codec data to h264 format.
mf/tests: Call check_attributes in check_mft_get_output_current_type_.
mf/tests: Add tests for h264 encoder.
mf/tests: Use h264 and aac in mp4 media sink tests.
winegstreamer: Add MFMPEG4SinkClassFactory.
winegstreamer: Introduce new wg_muxer struct.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Create wg_muxer for media sink.
The Wine development release 8.15 is now available.
What's new in this release:
- Support for TEXT print processor.
- Cycle Collection support in MSHTML.
- Cross-process memory notifications in Wow64.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.15.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.15 (total 19):
- #43822 TrackMania Nations Forever (Steam) car music doesn't play
- #45273 Chessbase 11 cannot draw arrows
- #54064 ntdll:threadpool - test_tp_io() sometimes fails & crashes in Wine (GitLab CI)
- #54718 msvcr90:msvcr90 - test__get_current_locale() sometimes gets an unexpected refcount on w10pro64
- #54756 Multiple games crash on unimplemented concrt140.dll.??0_Cancellation_beacon@details@Concurrency@@QEAA@XZ (Forza Horizon 4, The Legend of Sisyphus (Andromeda Software Development))
- #55259 TranscendPang has corrupted graphics in-game
- #55286 msvcrt:file - The 64-bit test_invalid_stdin_child() sometimes gets a bad stdin handle on Windows 10
- #55287 msvcrt:file - The 32-bit test_pipes() fails in the new WoW mode
- #55333 ws2_32:sock - test_connect_events() sometimes fails in Wine
- #55341 Colin McRae Rally 2.0 black screen
- #55351 gdiplus:graphicspath - test_flatten2() fails on Windows 7 - 11
- #55402 CMD '!var!' not working in 'if' statement
- #55414 Ultimate Spider-Man: Widescreen Fix shifts HUD too much to the right
- #55443 Wine crashes when an image is dragged onto notepad.exe and games
- #55450 Softerra LDAP Browser needs LDAP_OPT_AUTO_RECONNECT
- #55457 Robot Battle 1.4 crashes on startup after commit 08dc691d
- #55471 nGlide wrapper produces black screen in games using the D3D backend
- #55475 Respondus LockDown Browser crashes on unimplemented function KERNEL32.dll.DiscardVirtualMemory
- #55500 Launching new processes in Virtual Desktops is slow and stutters the system
----------------------------------------------------------------
Changes since 8.14:
Akihiro Sagawa (2):
cmd: Use towlower()/towupper() for WCHARs.
cmd: DIR command outputs free space for the path.
Alex Henrie (12):
windowscodecs: Use CRT allocation functions.
shell32: Use CRT allocation functions.
xaudio2_7: Use CRT allocation functions.
activeds: Use CRT allocation functions.
mshtml: Define skip_prefix without using a magic number.
cryptui: Use CRT allocation functions.
mciavi32: Use CRT allocation functions.
mlang: Use CRT allocation functions.
mmdevapi: Use CRT allocation functions.
mpr: Fix double free in WNetGetResourceInformationA.
dmusic: Use CRT allocation functions.
wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Alexandre Julliard (22):
winex11: Work around a false positive gcc warning.
ntdll: Also store syscall id and names following the syscall dispatcher pointer.
wow64: Reimplement syscall resolution using the syscall dispatcher name table.
ntdll: Implement the cross-process work list functions.
wow64: Create the cross-process work list.
ntdll: Implement RtlOpenCrossProcessEmulatorWorkConnection().
wow64: Send cross-process notifications.
wow64: Implement Wow64ProcessPendingCrossProcessItems().
ntdll/tests: Add tests for cross-process notifications.
winebuild: Ignore syscalls that point to an alias.
wow64: Also send notifications for failed memory management calls.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Fix alignment issues on 64-bit.
kernel32/tests: Make the generated dlls relocatable.
kernel32/tests: Remove tests for the exact value of the stack pointer.
ntdll/tests: Fix alignment issues on 64-bit.
ntdll/tests: Allow more invalid length values on Windows.
ntdll/tests: Work around a Windows pointer truncation bug in CPU info.
oleaut32/tests: Fix a pointer truncation issue on 64-bit.
winmm/tests: Fix a pointer truncation issue on 64-bit.
scrrun: Fix pointer hashing on 64-bit.
gdi32: Fix buffer size parameter in GetFontFileData for 64-bit.
Alexis Murzeau (1):
wpcap: Handle negative count for pcap_dispatch and pcap_loop.
Alistair Leslie-Hughes (9):
opcservices: Remove DECLSPEC_HIDDEN usage.
avifil32: Remove DECLSPEC_HIDDEN usage.
evr: Remove DECLSPEC_HIDDEN usage.
hhctrl.ocx: Remove DECLSPEC_HIDDEN usage.
dxdiagn: Remove DECLSPEC_HIDDEN usage.
netcfgx: Remove DECLSPEC_HIDDEN usage.
schedsvc: Remove DECLSPEC_HIDDEN usage.
comctl32: Remove DECLSPEC_HIDDEN usage.
msvcrt: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (1):
winex11.drv: Mark drawable as dirty when setting pixel format.
Bartosz Kosiorek (2):
gdiplus: Improve performance by switching loops and fix size.
gdiplus: Add support for GdipPathIterNextPathType.
Biswapriyo Nath (8):
include: Add KnownFolders runtimeclass in windows.storage.idl.
include: Add ApplicationData runtimeclass in windows.storage.idl.
include: Add IRandomAccessStream generic types in windows.storage.streams.idl.
uiautomationcore: Fix typo with TreeScope_Subtree name.
include: Add AudioProcessing enum in windows.media.idl.
include: Add Windows.Media.Capture.MediaCategory enumeration.
include: Add Windows.Media.Render.AudioRenderCategory enumeration.
include: Add Windows.Media.Effects.AudioEffect runtimeclass.
Brendan Shanks (3):
kerberos: Ensure unixlib function tables and enum stay in sync.
mountmgr.sys: Ensure unixlib function tables and enum stay in sync.
winebus.sys: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (1):
include: Add [_w]getenv_s.
Davide Beatrici (14):
winepulse: Fix crash when requesting exclusive mode with an unsupported format.
wineoss: Update device cache in get_device_guid().
winepulse: Open/create driver registry key in get_device_guid().
winealsa: Export get_device_guid().
winecoreaudio: Export get_device_guid().
wineoss: Export get_device_guid().
winepulse: Export get_device_guid().
mmdevapi: Import get_device_guid() from driver.
winepulse: Move GetEndpointIDs into mmdevapi.
winealsa: Remove GetEndpointIDs.
winecoreaudio: Remove GetEndpointIDs.
wineoss: Remove GetEndpointIDs.
mmdevapi: Simplify load_driver_devices() by combining loops and removing unneeded allocation(s).
mmdevapi: Move name string duplication in MMDevice_Create() from caller.
Dmitry Sokolov (1):
cmd: Fixed var substring in 'enableDelayedExpansion' mode.
Dmitry Timoshkov (1):
ntdll: Implement NtCreateToken().
Eric Pouech (12):
dbghelp: Fix sign extension issues on 32bit compilation.
ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
ntdll/tests: Introduce enumeration to handle stages in test_debugger().
ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
kernelbase: Implement WaitForDebugEventEx().
kernel32/tests: Fix spurious failures in console:test_wait() test.
kernel32/tests: Only access ProcessGroupId field when present.
kernel32/tests: Add tests for group and console flags in CreateProcess.
server: Separate console and new group flag (CreateProcess).
kernel32/tests: Extend to new process group tests for CreateProcess.
kernelbase: Correctly handle new process group flag in CreateProcess.
Esme Povirk (8):
user32/tests: Test cross-platform use of scroll functions.
user32/tests: Use winetest context in ok_sequence.
user32: Remove some todo's for working tests.
user32/tests: Share code between ok_sequence and dump_sequence.
user32/tests: Distinguish between extra and missing messages.
user32/tests: Always generate a description for WM_NCCALCSIZE.
mscoree/tests: Catch expected exception in loadpaths.exe.
user32/tests: Mark an occasional Windows behavior as broken.
Etaash Mathamsetty (4):
ntdll: Allow NULL timeout in NtCreateNamedPipeFile.
ntdll: Add semi-stub for NtOpenKeyTransactedEx.
kernelbase: Add GetPackagePathByFullName stub.
wevtapi: Add stub for EvtCreateBookmark.
Gabriel Ivăncescu (37):
mshtml: Traverse variants using a helper function.
mshtml: Use destructor in the vtbl for PerformanceTiming.
mshtml: Implement Cycle Collection for HTMLPerformance.
mshtml: Implement Cycle Collection for HTMLPerformanceNavigation.
mshtml: Implement Cycle Collection for objects that don't require traversal.
mshtml: Implement Cycle Collection for HTMLDOMAttribute.
mshtml: Implement Cycle Collection for HTMLAttributeCollection.
mshtml: Implement Cycle Collection for HTMLCSSStyleDeclaration.
mshtml: Implement Cycle Collection for HTMLStyleSheet.
mshtml: Implement Cycle Collection for HTMLStyleSheetsCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRulesCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRule.
mshtml: Use actual name when traversing variant.
mshtml: Implement Cycle Collection for HTMLDOMChildrenCollection.
mshtml: Implement Cycle Collection for HTMLElementCollection.
mshtml: Implement Cycle Collection for HTMLRectCollection.
mshtml: Implement Cycle Collection for HTMLRect.
mshtml: Implement Cycle Collection for DOMTokenList.
mshtml: Implement Cycle Collection for MutationObserver.
mshtml: Implement Cycle Collection for HTMLDOMImplementation.
mshtml: Implement Cycle Collection for MediaQueryList.
mshtml: Implement Cycle Collection for HTMLTextRange.
mshtml: Implement Cycle Collection for HTMLDOMRange.
mshtml: Implement Cycle Collection for HTMLSelectionObject.
mshtml: Implement Cycle Collection for HTMLEventObj.
mshtml: Implement Cycle Collection for DOM Events.
winex11: Avoid querying GPU properties in get_host_primary_monitor_rect.
mshtml: Actually traverse the object-specific edges.
mshtml: Separate the HTMLLocation from the outer window.
mshtml: Implement Cycle Collection for HTMLLocation.
mshtml: Implement Cycle Collection for outer windows.
mshtml: Get rid of NULL checks for the dispex vtbl.
mshtml: Implement Cycle Collection for inner windows.
mshtml: Move HTMLPerformanceNavigation related fields to the window.
mshtml: Move PerformanceTiming related fields to the window.
mshtml: Implement Cycle Collection for HTMLPerformanceTiming.
mshtml: Implement Cycle Collection for XMLHttpRequest.
Jeff Smith (11):
gdiplus/tests: Simplify ICONINFO initialization.
gdiplus/tests: Create helper function for testing image properties.
gdiplus/tests: Add test for cursor with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for mask-only icon with GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromICON return status with mask-only icon.
gdiplus/tests: Add test for 32 bpp icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for non-square icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for bitmap locked data from GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromHICON bitmap data.
shlwapi/tests: Fix SHFormatDateTime test during DST.
shlwapi: Fix SHFormatDateTime implementation during DST.
Lorenzo Ferrillo (1):
secur32: Increment iteration index after load_package error.
Louis Lenders (1):
wldp: Add WldpGetLockdownPolicy stub.
Marcus Meissner (1):
cryptui: LoadStringW gets characters as size, not bytes.
Matteo Bruni (1):
d3dcompiler/tests: Avoid interpolation filters in test_samplers().
Mohamad Al-Jaf (5):
include: Add dxcore_interface.h file.
include: Add dxcore.h file.
dxcore: Add stub DLL.
dxcore: Add DXCoreCreateAdapterFactory() stub.
apisetschema: Add ext-ms-win-dxcore-l1-1-0.
Nikolay Sivov (1):
wldp: Add WldpIsDynamicCodePolicyEnabled() stub.
Paul Gofman (3):
user32/tests: Test more flags for MessageBox.
user32/msgbox: Implement MB_TOPMOST.
dinput: Unregister raw input on foreground loss.
Piotr Caban (15):
msvcr70: Don't set SSE2 control register in _control87.
wmic: Use fwprintf to output error messages.
wmic: Fix output when redirected to pipe.
msvcr90/tests: Restore thread locale settings in _getptd tests to avoid side effects.
msvcr90/tests: Reorder locale refcount tests to workaround leak in _create_locale.
msvcrt/tests: Make registry handle inheritable in test_invalid_stdin tests.
ntdll: Don't overwrite last byte of RuntimeInfo if odd number of bytes is used.
localspl: Store fallback print processor in AddPrinterDriver.
localspl: Try fallback print processor if datatype is not supported.
winprint: Implement TEXT print processor.
msvcr110: Add Context::IsCurrentTaskCollectionCanceling implementation.
msvcr110: Add _Cancellation_beacon class implementation.
msvcr120/tests: Remove workaround for not implemented _StructuredTaskCollection::ctor().
msvcr120/tests: Add _Cancellation_beacon tests.
msvcr120/tests: Add Context::IsCurrentTaskCollectionCanceling tests.
Rémi Bernon (35):
include: Add Windows.Management.Deployment.DeploymentResult runtimeclass definition.
include: Add Windows.Management.Deployment.PackageUserInformation runtimeclass definition.
include: Add Windows.Management.Deployment.PackageManager runtimeclass definition.
include: Add Windows.Storage.Streams.RandomAccessStreamReference runtimeclass definition.
include: Add Windows.ApplicationModel.AppDisplayInfo runtimeclass definition.
include: Add Windows.ApplicationModel.PackageStatus runtimeclass definition.
widl: Guard against re-import of the main input file.
include: Add Windows.ApplicationModel.Core.AppListEntry runtimeclass definition.
include: Add Windows.ApplicationModel.IPackage3 interface definition.
winegstreamer: Don't append videoconvert for video/x-wmv output.
include: Add MF_BYTESTREAM_EFFECTIVE_URL GUID declaration.
mf/tests: Add some network scheme resolver tests.
mf/scheme_handler: Split file scheme handler to scheme_handler.c.
mf/scheme_handler: Implement http(s):// scheme handler using urlmon.
mf/session: Use local variables to access transform node streams.
mf/session: Use a helper to deliver transform node requested samples.
mf/session: Drain transform node input streams individually.
mf/session: Drain remaining requests in transform_node_deliver_samples.
mf/session: Use helpers to push and pop samples for transform streams.
mf/session: Push transform input samples directly to ProcessInput.
mf/session: Request more samples from upstream when necessary.
mf/session: Increase the request count when requests are already queued.
include: Prefix winetest global counters with winetest_.
include: Rename winetest thread data struct and getter.
include: Prefix winetest color constants with winetest_.
include: Make general winetest helpers static inline.
include: Initialize winetest global counters to 0.
include: Rename winetest_printf to winetest_print_location.
include: Pass a temporary buffer to winetest_elapsed.
include: Introduce winetest wrappers for vprintf and GetTickCount.
include: Avoid using strcmp directly in wine/test.h.
dinput: Get rid of duplicated winetest helpers.
win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary.
win32u: Init vsc2vk in NtUserMapVirtualKeyEx only if necessary.
win32u: Init vsc2char in NtUserMapVirtualKeyEx only if necessary.
Torge Matthies (1):
crypt32: Fix CMS SignedData encoding.
Wonjun Jung (3):
wbemprox: Add Win32_SoundDevice query test for Caption property.
wbemprox: Add Caption property in Win32_SoundDevice.
wbemprox: Add NetConnectionID, NetEnabled properties in Win32_NetworkAdapter.
Zebediah Figura (13):
wined3d: Move struct wined3d_texture_gl to wined3d_gl.h.
wined3d: Move struct fbo_entry to wined3d_gl.h.
wined3d: Move struct wined3d_sampler_gl to wined3d_gl.h.
wined3d: Move struct wined3d_buffer_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_shader_resource_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_unordered_access_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_swapchain_gl to wined3d_gl.h.
wined3d: Move the remaining wined3d_gl_info functions to wined3d_gl.h.
wined3d: Move struct wined3d_format_gl to wined3d_gl.h.
wined3d: Move the remaining GL-specific definitions to wined3d_gl.h.
wined3d: Move the wined3d_gl.h include to individual files.
server: Signal AFD_POLL_BIT_WRITE at the same time as AFD_POLL_BIT_CONNECT.
The Wine development release 8.14 is now available.
What's new in this release:
- PCSC framework used on macOS for smart card support.
- Dumping of Windows registry files in WineDump.
- Fixes for Wow64 window messages.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.14.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.14 (total 30):
- #28603 Winedbg sometimes receives invalid parameters
- #30655 DiRT 2 Demo: Low (1 - 3) FPS during race, but not in in-game menus.
- #34678 Not all serial port work in wine
- #36564 'Candytron' demo: certain objects are black with GLSL enabled
- #44546 The Settlers II: 10th Anniversary runs very slow when CSMT enabled
- #44816 Cygwin/MSYS2 `script -e` exit status forwarding randomly returns zero for non zero child process
- #48621 Civilization 6 crashes on startup.
- #52474 ws2_32:sock - test_connect() fails intermittently with 'Test failed: expected timeout'
- #52492 stack overflow from GdipFlattenPath
- #52889 Freelancer with Crossfire mod crashes on startup
- #53171 advapi32:registry - test_performance_keys() sometimes fails due to time going backwards!
- #54073 ws2_32:sock - test_close_events() sometimes fails in Wine
- #54074 ws2_32:sock - test_empty_recv() sometimes gets an ERROR_IO_PENDING error in Wine
- #54413 ws2_32:sock - DuplicateHandle(socket) sometimes look like a socket in test_WSAGetOverlappedResult() on Windows
- #54546 ws2_32:sock - test_write_watch() gets unexpected write counts on Windows 11
- #54676 winetricks --verify dotnet20 (AutoHotKey) fails in a wow64 build
- #54720 Spider-Man: Shattered Dimensions - dialogue audio doesn't play
- #54748 Greenshot crashes when drawing rectangle to make screenshot ("GDI+ status: PropertyNotFound")
- #54831 GStreamer gst_init_check() crashes when called from winegstreamer on recent macOS, also Wine crashes on macOS Sonoma
- #54866 ieframe:webbrowser - test_SetQueryNetSessionCount() sometimes gets an unexpected session count on Windows
- #55127 httpapi:httpapi - test_v2_bound_port() sometimes succeeds in connecting on Windows 10
- #55152 Crash in Notepad++ processing a WM_DRAWITEM message
- #55231 Warframe: camera/mouse stuck in X-axis
- #55258 steam: small window floating on top of all windows even in fullscreen mode
- #55283 amstream:amstream systematically crashes and times out on gitlab-debian-32
- #55291 gdi32:dc - print_something() gets a bad signature on fg-deb64-*
- #55331 ntdll:file - The 64-bit test_file_disposition_information() gets unsupported error on Windows 10 1607 and 1709
- #55344 Yuzu fails to start (needs MSVCP140_CODECVT_IDS.dll)
- #55367 Trying to run WatchFaceStudio with wine 8.0 and Ubuntu 23 (lunar)
- #55422 mfmediaengine:mfmediaengine - test_GetDuration() fails in Wine
----------------------------------------------------------------
Changes since 8.13:
Alex Henrie (18):
include: Annotate PFNALLOC with __WINE_ALLOC_SIZE.
include: Annotate CFP_(RE)ALLOCPROC with __WINE_ALLOC_SIZE.
include: Annotate PLSA_ALLOCATE_(LSA_HEAP|SHARED_MEMORY) with __WINE_ALLOC_SIZE.
include: Annotate PERF_MEM_ALLOC with __WINE_ALLOC_SIZE.
include: Annotate PFLT_CONTEXT_ALLOCATE_CALLBACK with __WINE_ALLOC_SIZE.
include: Annotate PRTL_(AVL|GENERIC)_ALLOCATE_ROUTINE with __WINE_ALLOC_SIZE.
include: Annotate PALLOCATE_FUNCTION(_EX) with __WINE_ALLOC_SIZE.
include: Add __WINE_ALLOC_SIZE to the definition of FNALLOC.
advapi32: Use CRT allocation functions.
adsldp: Use CRT allocation functions.
inetcpl: Use CRT allocation functions.
odbccp32: Use CRT allocation functions.
cmd: Introduce an option_equals helper for WCMD_parse_forf_options.
joy: Remove size argument to set_config_key function.
shell32: Combine the two strdupAtoW functions.
oledb32: Use CRT allocation functions.
find: Use CRT allocation functions.
wldap32: Map LDAP_OPT_AUTO_RECONNECT to LDAP_OPT_RESTART and add tests.
Alexandre Julliard (18):
configure: Use AC_CHECK_HEADER for headers that don't need to be in config.h.
mmdevapi: Use nameless unions/structs.
secur32: Use nameless unions/structs.
d3d10_1/tests: Use nameless unions/structs.
d3d10core/tests: Use nameless unions/structs.
d3d11/tests: Use nameless unions/structs.
d3d8/tests: Use nameless unions/structs.
d3d9/tests: Use nameless unions/structs.
d3drm/tests: Use nameless unions/structs.
d3dx10/tests: Use nameless unions/structs.
d3dx9/tests: Use nameless unions/structs.
ddraw/tests: Use nameless unions/structs.
dxgi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
include: Get rid of the NONAMELESS access macros in tests.
Remove unused NONAMELESS defines.
ntdll: Set Wow64 user space limit based on LARGE_ADDRESS_AWARE.
ntdll/tests: Add some more tests for the contents of the WOW64INFO structure.
Alistair Leslie-Hughes (23):
user.exe16: Remove DECLSPEC_HIDDEN usage.
krnl386.exe16: Remove DECLSPEC_HIDDEN usage.
mmsystem.dll16: Remove DECLSPEC_HIDDEN usage.
wiaservc: Remove DECLSPEC_HIDDEN usage.
msvfw32: Remove DECLSPEC_HIDDEN usage.
wldap32: Remove DECLSPEC_HIDDEN usage.
wuapi: Remove DECLSPEC_HIDDEN usage.
scrrun: Remove DECLSPEC_HIDDEN usage.
inetcpl.cpl: Remove DECLSPEC_HIDDEN usage.
mciavi32: Remove DECLSPEC_HIDDEN usage.
shell32: Remove DECLSPEC_HIDDEN usage.
msxml3: Remove DECLSPEC_HIDDEN usage.
wbemprox: Remove DECLSPEC_HIDDEN usage.
webservices: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
hidclass.sys: Remove DECLSPEC_HIDDEN usage.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3dx11_43/tests: Add a trailing '\n' to ok() calls.
dmime: Store WAVE data when Loading.
include: Added D3DX11_TEXTURE_LOAD_INFO struct.
d3dx11: Add D3DX11LoadTextureFromTexture stub.
wmp: Remove DECLSPEC_HIDDEN usage.
setupapi: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (3):
gdiplus: Add support support for 1, 4 and 8 bpp indexed pixel format conversion.
gdiplus: Fix returned value of GdipDrawImagePointsRect according to native lib.
gdiplus: Add new test cases to GdipCreateCustomLineCap.
Bernhard Kölbl (4):
winegstreamer: Leave media source critical section before unlocking workqueue.
mfmediaengine/tests: Make effect tests more consistent.
mfmediaengine/tests: Add tests for RemoveAllEffects().
mfmediaengine: Implement RemoveAllEffects().
Billy Laws (2):
wow64win: Skip WM_CREATE/WM_NCCREATE lParam conversion if NULL.
wow64: Add BT module thread termination callback.
Biswapriyo Nath (4):
include: Add missing default value in IXAudio2.
include: Add IXAudio2Extension in xaudio2.idl.
include: Add xamlom.idl file.
include: Add windows.ui.xaml.hosting.desktopwindowxamlsource.idl file.
Connor McAdams (5):
uiautomationcore: Use the free threaded marshaler to marshal IUIAutomationElement interfaces.
uiautomationcore: Introduce custom clientside event callback function.
uiautomationcore: Add support for calling COM event handlers.
uiautomationcore/tests: Add IUIAutomationFocusChangedEventHandler tests.
uiautomationcore: Implement IUIAutomation::{Add/Remove}FocusChangedEventHandler.
David Kahurani (5):
gdiplus/font: Fix GdipGetLogFontW/A with gdi_transform.
gdiplus: Reject zero-width/zero-height rectangles.
gdiplus: Move Flatten() tests into the same function.
gdiplus: Use helper to calculate transform properties.
gdiplus: Use get_log_fontW in GdipGetLogFontW.
David McFarland (2):
configure: Fix caching of PCSCLITE_LIBS on mac.
configure: Don't require pcsclite header for winscard.
Davide Beatrici (15):
winealsa: Export get_device_name_from_guid().
winecoreaudio: Export get_device_name_from_guid().
wineoss: Export get_device_name_from_guid().
winepulse: Export get_device_name_from_guid().
mmdevapi: Import get_device_name_from_guid() from driver.
mmdevapi: Introduce wine_unix_call helper.
mmdevapi: Implement AudioClient_Create.
winealsa: Remove GetAudioSessionWrapper.
winecoreaudio: Remove GetAudioSessionWrapper.
wineoss: Remove GetAudioSessionWrapper.
winepulse: Remove GetAudioSessionWrapper.
winecoreaudio: Add get_prop_value stub in unixlib.
wineoss: Add get_prop_value stub in unixlib.
winepulse: Move GetPropValue into mmdevapi.
winealsa: Remove GetPropValue.
Dmitry Timoshkov (3):
secur32: Convert "Negotiate" to an LSA package.
secur32: Add a better stub for LsaApCallPackageUntrusted(NegGetCallerName).
secur32/tests: Add some tests for "Negotiate" LSA package.
Eric Pouech (2):
msvcrt/tests: Add tests for freopen().
msvcrt: Fix freopen() on FILE with invalid underlying fd.
Esme Povirk (3):
user32/tests: Add optional message sequence from win7.
comctl32: Add support for MSAA events on tab controls.
comctl32/tests: Test MSAA events for tab controls.
Evan Tang (1):
wined3d: Update reported driver versions.
Fabian Maurer (2):
gdiplus: Make flatten_bezier_add iterative.
gdiplus: Prevent infinite loops due to floating point inaccuracy.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (11):
ntdll/tests: Fix the NtSetInformationFile() test on Windows 10 <= 1709.
winex11.drv: Add a trailing linefeed to a WARN() message.
mfmediaengine: Add the trailing linefeed to a WARN() message.
dxgi: Fix a typo in a comment.
win32u/tests: Fix the spelling of a comment.
ntdll/tests: Fix the spelling of some exception ok() messages.
windows.media.speech/tests: Fix the spelling of some speech ok() messages.
winewayland.drv: Fix the spelling of a comment.
dbghelp/tests: Fix the case of a comment.
ntdll/tests: Fix the basic file informations failure messages.
webservices: Make alloc_float_text() static.
Gabriel Ivăncescu (57):
mshtml: Add some basic documentation for the dispex and its vtbl.
win32u: Don't clip captured mouse pointer if it's done by the system.
jscript: Call the getter with the proper 'this' in invoke_prop_func.
jscript: Use the object containing the prop for builtin getters.
mshtml: Use the common HTMLElement dispex vtbl in the dispex definitions.
mshtml: Introduce unlink_ref helper.
mshtml: Use unlink and destructor in the vtbl for function disps.
mshtml: Use separate dispex destructors for different event types.
mshtml: Use unlink and destructor in the vtbl for HTMLEventObj.
mshtml: Use unlink and destructor in the vtbl for inner windows.
mshtml: Use unlink and destructor in the vtbl for CSSStyle.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRule.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetRulesCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheetsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLStyleSheet.
mshtml: Use unlink and destructor in the vtbl for HTMLImageElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLOptionElementFactory.
mshtml: Use unlink and destructor in the vtbl for HTMLXMLHttpRequestFactory.
mshtml: Use unlink and destructor in the vtbl for the MutationObserver constructor.
mshtml: Unlink variants using a helper function.
mshtml: Use unlink and destructor in the vtbl for HTMLStorage.
mshtml: Use unlink and destructor in the vtbl for HTMLSelectionObject.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMRange.
mshtml: Use unlink and destructor in the vtbl for HTMLTxtRange.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMAttribute.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMImplementation.
mshtml: Use unlink and destructor in the vtbl for HTMLScreen.
mshtml: Use unlink and destructor in the vtbl for History.
mshtml: Use unlink and destructor in the vtbl for HTMLPluginsCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLMimeTypesCollection.
mshtml: Use unlink and destructor in the vtbl for Navigator.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformanceNavigation.
mshtml: Use unlink and destructor in the vtbl for HTMLPerformance.
mshtml: Use unlink and destructor in the vtbl for HTMLNamespaceCollection.
mshtml: Use unlink and destructor in the vtbl for Console.
mshtml: Use unlink and destructor in the vtbl for MediaQueryList.
mshtml: Use unlink and destructor in the vtbl for MutationObserver.
mshtml: Use unlink and destructor in the vtbl for XMLHttpRequest.
mshtml: Use unlink and destructor in the vtbl for HTMLRect.
mshtml: Use unlink and destructor in the vtbl for HTMLRectCollection.
mshtml: Use unlink and destructor in the vtbl for DOMTokenList.
mshtml: Use unlink and destructor in the vtbl for HTMLFiltersCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLAttributeCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLDOMChildrenCollection.
mshtml: Use unlink and destructor in the vtbl for HTMLElementCollection.
mshtml: Skip windows with no URI when deciding whether to send storage events.
mshtml: Use ASCII strings for dispex object names.
mshtml: Move console to the inner window.
mshtml: Split IUnknown methods for outer windows into separate vtable.
mshtml: Make all event target vtbls const.
mshtml: Use designated initializers in dispex and event target vtables.
mshtml: Use designated initializers in node vtables.
mshtml: Rename dispex_query_interface to dispex_query_interface_no_cc.
mshtml: Rename EventTarget_QI to EventTarget_QI_no_cc.
mshtml: Move ccref from the node to the dispex.
mshtml: Implement node cycle collection using the dispex.
mshtml: Release the event target during node unlink.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.3.259.
winevulkan: Update to VK spec version 1.3.260.
Gijs Vermeulen (1):
configure: Use PCSC.framework when pcsclite is not available on macOS.
Hans Leidekker (9):
winscard: Handle different type sizes on macOS.
klist: Match native output for encryption type.
secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_SESSION_KEY).
msv1_0: Implement SECPKG_ATTR_SESSION_KEY.
kerberos: Implement SECPKG_ATTR_SESSION_KEY.
ldap: Use SECPKG_ATTR_SESSION_KEY to retrieve the key size.
ldap: Set SSF when sasl_client_start() succeeds.
ldap: Set trailer size when sasl_client_start() succeeds.
secur32: Also copy user function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
Ilia Docin (6):
sane.ds: Add array of resolutions support.
sane.ds: Do the reverse conversion of frame edges before setting.
sane.ds: Add maximum scanning dimensions setting support.
sane.ds: Use BGR order to store 24 bit color DIB pixels.
sane.ds: Set monochrome DIB color table.
sane.ds: Fix pixel type setting.
Jacek Caban (41):
win32u: Use CREATESTRUCTW struct layout to pass WM_CREATE message params to client.
win32u: Use user message packing for HCBT_CREATEWND hooks.
win32u: Pack messages in WH_CALLWNDPROC hooks.
win32u: Pack messages in WH_CALLWNDPROCRET hooks.
win32u: Use user message packing for WM_NCCALCSIZE.
win32u: Use user message packing for WM_GETTEXT and WM_ASKCBFORMATNAME.
win32u/tests: Fully initialize lparam_buffer before each test.
win32u: Use user message packing for messages passing string.
win32u: Use user message packing for WM_GETMINMAXINFO.
win32u: Use user message packing for WM_DRAWITEM.
win32u: Use user message packing for WM_MEASUREITEM.
win32u: Use user message packing for WM_DELETEITEM.
win32u: Use user message packing for WM_COMPAREITEM.
win32u: Use user message packing for WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED.
win32u: Use user message packing for WM_COPYDATA.
win32u: Use user message packing for WM_HELP.
win32u: Use user message packing for WM_STYLECHANGING.
win32u: Use user message packing for WM_GETDLGCODE.
win32u: Use user message packing for scroll info messages.
win32u: Use user message packing for EM_GETSEL.
win32u: Use user message packing for messages passing RECT struct.
win32u: Use user message packing for EM_GETLINE.
win32u: Use user message packing for EM_SETTABSTOPS and LB_SETTABSTOPS.
win32u: Use user message packing for more messages passing string.
win32u: Use user message packing for CB_GETLBTEXT and LB_GETTEXT.
win32u: Use user message packing for LB_GETSELITEMS.
win32u: Use user message packing for WM_NEXTMENU.
win32u: Use user message packing for WM_MOVING and WM_SIZING.
win32u: Use user message packing for WM_MDICREATE.
win32u: Move packed structures declaration from ntuser.h.
win32u: Use user message packing for CB_GETCOMBOBOXINFO.
win32u: Use user message packing for WM_MDIGETACTIVE.
win32u: Remove no longer needed NtUserWinProcResult.
win32u: Use user message packing for WM_DEVICECHANGE.
win32u: Move more of unpack_message implementation from user32.
win32u: Remove no longer needed process_packed_message.
win32u: Remove no longer needed needs_unpack from win_proc_params.
win32u: Remove no longer needed NtUserSendDriverMessage.
win32u: Pack input param for CB_GETCOMBOBOXINFO message.
ieframe/tests: Use less strict checks in session count tests.
cscript: Build as CUI application.
Jactry Zeng (4):
shlwapi/tests: Test UrlUnescapeW() with independent data.
kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW().
shlwapi/tests: Test UrlUnescapeW() with URL_UNESCAPE_AS_UTF8.
mshtml: Call UrlUnescapeW() with URL_UNESCAPE_AS_UTF8 in is_gecko_path().
James Beddek (1):
mshtml: Check for non-NULL plugin host before trying to hold ref.
Jeff Smith (27):
gdiplus/tests: Factor out property_test_data struct.
gdiplus/tests: Allow for testing properties of multiple GIF samples.
gdiplus: Expose GIF background index property only when global color table present.
gdiplus: Set GIF frame delay and loop count properties correctly.
gdiplus: Return GIF frame property only if set.
gdiplus: Set correct frame delay when GCE is missing.
windowscodecs: PROPVARIANT fields should use CoTaskMem allocation.
windowscodecs: Handle PNG histogram (hIST) chunk type.
windowscodecs/tests: Move compare_metadata function so it can be used earlier.
windowscodecs: Handle PNG last-modification time (tIME) chunk type.
gdiplus/tests: Use compare_uint() in compare_float() instead of abs().
d3dx9_36/tests: Use compare_uint() in compare_float() instead of abs().
d3dx10_43/tests: Use compare_uint() in compare_float() instead of abs().
d3dcompiler_43/tests: Use compare_uint() in compare_float() instead of abs().
d2d1/tests: Use compare_uint() in compare_float() instead of abs().
msvcp120/tests: Use compare_uint() in compare_float() instead of abs().
d3d10core/tests: Use compare_uint() in compare_float() instead of abs().
d3d11/tests: Use compare_uint() in compare_float() instead of abs().
d3d8/tests: Use compare_uint() in compare_float() instead of abs().
d3d9/tests: Use compare_uint() in compare_float() instead of abs().
d3drm/tests: Use compare_uint() in compare_float() instead of abs().
ddraw/tests: Use compare_uint() in compare_float() instead of abs().
gdiplus/tests: Factor out check_properties functions.
gdiplus: Refactor png_metadata_reader.
gdiplus: Set PNG unit properties always.
gdiplus: Set PNG date-time property when present.
gdiplus: Set PNG palette histogram property when present.
Jinoh Kang (4):
xmllite: Eliminate DECLSPEC_HIDDEN.
ntdll: Avoid relying on linux/ipx.h to define SOL_IPX.
ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.
server: Avoid relying on linux/ipx.h to define SOL_IPX.
Lauri Kenttä (1):
po: Update Finnish translation.
Maxim Karasev (3):
kerberos: Implement KerbQueryTicketCacheExMessage.
secur32: Add stub message for unimplemented name types in GetUserNameExW.
whoami: Refactor and add more commands.
Michael Skorokhodov (1):
win32u: Add DriverVersion string for GPUs to registry.
Michael Stefaniuc (7):
vbscript/tests: Remove the need for a2bstr() in createobj.c.
vbscript/tests: Avoid using a2bstr() for static strings.
vbscript/tests: Avoid using a2bstr() in the run.c helpers.
vbscript/tests: Avoid using a2bstr() in the vbscript.c helpers.
vbscript/tests: Remove the last usage of a2bstr() in vbscript.c.
shell32/tests: Get rid of the a2bstr() helper.
msxml3/tests: Use wide strings to generate BSTRs in schema.c.
Mohamad Al-Jaf (28):
include: Add support for IAsyncOperation UINT32.
include: Add support for IAsyncOperation parameterized type IBuffer.
include: Add windows.devices.usb.idl file.
windows.devices.usb: Add stub DLL.
windows.devices.usb: Add IUsbDeviceStatics stub interface.
windows.devices.usb: Implement IUsbDeviceStatics::GetDeviceSelectorVidPidOnly().
windows.devices.usb/tests: Add IUsbDeviceStatics::GetDeviceSelectorVidPidOnly() tests.
windows.networking.hostname/tests: Check if passed HSTRING is duplicated.
windows.networking.hostname: Duplicate passed HSTRING in IHostNameFactory::CreateHostName().
msvcp140_codecvt_ids: Add DLL.
graphicscapture: Trim default debug channel.
widl: Add support for default_overload attribute.
include: Add windows.security.isolation.idl file.
hvsimanagementapi: Add stub DLL.
hvsimanagementapi: Add IIsolatedWindowsEnvironmentHostStatics stub interface.
hvsimanagementapi/tests: Add IIsolatedWindowsEnvironmentHostStatics::get_IsReady() tests.
hvsimanagementapi: Implement IIsolatedWindowsEnvironmentHostStatics::get_IsReady().
include: Add IDeviceInformationStatics interface definition.
windows.devices.enumeration: Add IDeviceInformationStatics stub interface.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcherAqsFilter().
windows.devices.enumeration/tests: Add IDeviceInformationStatics::CreateWatcherAqsFilter() tests.
include: Add IPackageStatics interface definition.
include: Add IRandomAccessStream interface definition.
include: Add IStorageFile interface definition.
include: Add windows.storage.fileproperties.idl file.
include: Add IStorageItem interface definition.
include: Add windows.storage.search.idl file.
include: Add IStorageFolder interface definition.
Nikolay Sivov (5):
d2d1/tests: Add some more tests for effect shader loading.
d2d1: Use device instance pointer in device context structure.
d2d1: Keep effect shader objects at device level.
d3d11/tests: Fix typos in a test cleanup (Coverity).
mf: Implement MFCreateSequencerSegmentOffset().
Paul Gofman (16):
nsiproxy.sys: Detect wireless interface type on Linux.
ntdll: Match Windows used block filling.
nsi: Add stubs for NsiRequestChangeNotification[Ex].
nsi: Add stub for NsiCancelChangeNotification.
nsi/tests: Add test for change notifications.
nsi: Cache nsi device handle.
winhttp: Set FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on sockets.
winhttp: Skip unexpected completions in netconn_wait_overlapped_result().
nsi: Forward request to nsiproxy from NsiRequestChangeNotification().
nsi: Implement NsiCancelChangeNotification().
nsiproxy.sys: Implement change notifications for NSI_IP_UNICAST_TABLE.
iphlpapi: Link NotifyAddrChange and CancelIPChangeNotify to nsi implementation.
d3d11/tests: Add basic tests for keyed mutexes.
opengl32: Skip debug callback messages called from native thread.
winex11.drv: Fix buffer allocation size in import_xdnd_selection().
winex11.drv: Release old drawables after setting new ones in sync_context().
Petrichor Park (3):
wined3d: Implement a zero-safe normalize function for FFP.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting.
wined3d: Use ffp_normalize in shader_glsl_ffp_vertex_lighting_footer.
Piotr Caban (22):
userenv: Fix setting ALLUSERSPROFILE and ProgramData in CreateEnvironmentBlock.
winedump: Add initial support for dumping Windows NT Registry Files (REGF).
wineps.drv: Flush spool data even if there are no pages to print.
winedump: Fix non null terminated strings printing in regf files.
winedump: Add support for decoding data stored in offset in regf files.
winedump: Support REG_DWORD values in regf files.
winedump: Support dumping default values without VAL_COMP_NAME flag.
winedump: Fix empty string handling in regf files.
winedump: Support REG_EXPAND_SZ values in regf files.
winedump: Support REG_NONE values in regf files.
winedump: Support REG_BINARY values in regf files.
winedump: Support REG_MULTI_SZ values in regf files.
winedump: Skip data blocks when dumping regf files.
winedump: Enlarge buffer in dump_want_n helper.
winedump: Don't dump volatile keys from regf file.
winedump: Support dumping UTF16 value names in regf files.
winedump: Support REG_QWORD values in regf files.
bcrypt: Add BCRYPT_KEY_STRENGTH key property implementation.
include: Add LEGACY_RSA*_BLOB definitions.
bcrypt: Add support for importing LEGACY_RSAPRIVATE_BLOB keys.
bcrypt/tests: Add LEGACY_RSAPRIVATE_BLOB key import tests.
magnification: Add stub dll.
Rémi Bernon (10):
mf/tests: Shutdown MF if MP4 source isn't supported.
mf/tests: Add missing line end in test message.
winegstreamer: Use a fixed size type for wg_sample data pointer.
dinput: Unacquire only DISCL_FOREGROUND devices on foreground changes.
imm32: Hide the composition window if the string is empty.
winegstreamer: Avoid releasing wg_allocator memory samples twice.
winegstreamer: Keep default decodebin queue limits.
mfplat/tests: Create the test_callback event in the constructor.
mfplat/tests: Test that BeginRead doesn't use MFASYNC_CALLBACK_QUEUE_STANDARD.
mfplat: Use MFASYNC_CALLBACK_QUEUE_IO for byte stream async requests.
Santino Mazza (4):
evr: Release sample queue when streaming ends.
evr: Create critical section for sample queue.
evr: Don't lock presenter allocator when calling NotifyRelease.
evr: Remove process input handling from streaming thread.
Shaun Ren (5):
sapi: Call CoInitializeEx/CoUninitialize in async_worker.
sapi: Start async queue in ISpVoice::SetOutput.
sapi/tests: Add test for implicit MTA initialized by SpVoice.
sapi: Change ISpObjectToken::SetId FIXME to TRACE.
sapi/tests: Increase timeout in tts test_spvoice.
Stefan Dösinger (5):
ntdll: Try to raise the file limit above OPEN_MAX on MacOS.
dxgi: Read back the swapchain size assigned by wined3d.
wined3d: Make wined3d_swapchain_desc in wined3d_swapchain_create const.
wined3d: Move zero swapchain parameter fixup to wined3d_swapchain_state_init.
dxgi/tests: Test swapchains with zero dimensions.
Sven Baars (9):
uiautomationcore: Fix a sizeof() argument (Coverity).
wldap32: Fix a mod_type leak (Valgrind).
wldap32: Fix a message leak in ldap_parse_resultW() (Valgrind).
ldap: Free the output buffer after every InitializeSecurityContextA() call (Valgrind).
quartz: Fix some critical section leaks (Valgrind).
quartz/tests: Fix some media type leaks (Valgrind).
quartz: Fix a system clock leak (Valgrind).
quartz/tests: Fix some memory leaks in test_add_source_filter() (Valgrind).
strmbase: Fix a critical section leak (Valgrind).
Tim Clem (4):
wow64: Correct a reversed strcpy in wow64_NtQuerySystemInformation(SystemModuleInformation).
server: Avoid a mach port leak on Apple Silicon.
winemac.drv: Support cooperative app activation in macOS 14 Sonoma.
ntdll: Add error and warning logs in more cases of memory exhaustion.
Torge Matthies (7):
server: Don't consider non-pending poll requests when reselecting socket.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentEncode.
wintrust/tests: Add tests for WVTAsn1SpcIndirectDataContentDecode.
wintrust: Fix segfault in CRYPT_AsnEncodeAttributeTypeValue.
wintrust: Encode SPC_INDIRECT_DATA_CONTENT digest as an octet string.
wintrust: Encode algorithm id without parameters if pszObjId is NULL.
wintrust: Decode a zero-length OID to an empty string.
Victor Chiletto (3):
msvcrt: Remove unused struct locale_search_t member.
msvcrt: Fix memory leak in create_locinfo.
msvcrt: Remove uses of wcsncpy from locale_to_sname.
Vitaly Lipatov (12):
include: Update SECURITY_LOGON_TYPE and SECURITY_LOGON_SESSION_DATA in ntsecapi.h.
include: Update COMPRESSION_ defines and move it to ddk/ntifs.h.
ntdll: Use COMPRESSION_FORMAT_MASK instead of ~COMPRESSION_ENGINE_MAXINUM.
include: Add some missing defines.
include: Use compatible file guard name (_NTSECAPI_, _NTSECPKG_).
include: Add specstrings_strict.h with some defines.
include: Include ncrypt.h in wincrypt.h.
include: Add missing PCWCHAR to winnt.h.
include: Add initial activeds.h.
include: Add standalone LSA_OBJECT_ATTRIBUTES prototype if ntdef.h is not included.
advapi32: Print name for POLICY_INFORMATION_CLASS argument.
secur32: Print name for EXTENDED_NAME_FORMAT argument.
Yuxuan Shui (3):
mshtml: Implement window.MutationObserver with MutationObserver stub.
mshtml: Add stubs for MutationObserver methods.
jscript: Fix Array.prototype.splice with omitted deleteCount in ES5+ mode.
Zebediah Figura (48):
quartz: Call EnumMatchingFilters() once in autoplug().
amstream: Release the previous ddraw in ddraw_IAMMediaStream_Initialize().
amstream/tests: Fix a leak in test_ddrawstream_begin_flush_end_flush().
ws2_32/tests: Increase the timeout on some FD_CLOSE tests.
ws2_32/tests: Give an event test marked todo a bit more time to fail on Wine.
ws2_32/tests: Update test_write_watch() for Windows 11.
ws2_32/tests: Use closesocket(), not close().
ws2_32/tests: Execute test_iocp() near the end.
server: Move the implementation of IOCTL_AFD_GET_EVENTS to a dedicated server call.
ws2_32: Move the event reset in WSAEnumNetworkEvents() to the server.
httpapi/tests: Do not test that a local TCP port is closed.
wined3d: Move wined3d_device_apply_stateblock() to stateblock.c.
wined3d: Remove states not used by d3d10+ from wined3d_device_context_set_state().
wined3d: Add helpers to retrieve shader constants from a wined3d_stateblock.
wined3d: Store push constants in wined3d_buffers in struct wined3d_state.
d3d11/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Use the varying count from struct wined3d_d3d_info in pixel_shader_init().
wined3d: Track WINED3D_GL_NORMALIZED_TEXRECT in struct wined3d_d3d_info as well.
wined3d: Store the sample count in struct wined3d_d3d_info.
wined3d: Move struct wined3d_gl_info to struct wined3d_adapter_gl.
wined3d: Move struct wined3d_gl_info to wined3d_gl.h.
wined3d: Move some wined3d_gl_info functions to wined3d_gl.h.
wined3d: Remove the no longer used "specular_func_3ubv" declaration.
wined3d: Move the ffp_attrib_ops to wined3d_gl_info.
wined3d: Move more miscellaneous GL declarations to wined3d_gl.h.
wined3d: Avoid uploading deferred context maps more than once.
wined3d: Pass map flags to wined3d_context_copy_bo_address().
wined3d: Do not load UAV locations when clearing if not necessary.
qcap/tests: Add more tests for audio record media types.
qcap/audiorecord: Enumerate the currently set media type first.
wined3d: Move struct wined3d_bo_gl to wined3d_gl.h.
wined3d: Avoid using GL-specific types in struct wined3d_stream_info.
wined3d: Move struct wined3d_fence to wined3d_gl.h.
wined3d: Move struct wined3d_query_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_info to wined3d_gl.h.
wined3d: Release push constant buffers in wined3d_device_uninit_3d().
wined3d: Store the map pointer in the wined3d_deferred_upload structure.
wined3d: Allocate GPU BOs for discard maps on deferred contexts.
wined3d: Remove BO users from the list when invalidating them.
wined3d: Separate a wined3d_context_vk_load_buffers() helper.
wined3d: Implement a copy-on-write scheme for whole buffer uploads.
configure: Fail if --enable-archs is used and any cross-compiler is missing.
opengl32: Preserve the remainder of the version string when limiting the version to 4.3.
wined3d: Move struct wined3d_context_gl to wined3d_gl.h.
wined3d: Pass a wined3d_adapter instead of wined3d_gl_info to FFP pipe emulation mask methods.
wined3d: Move GL-specific blitter create function declarations to wined3d_gl.h.
wined3d: Move struct wined3d_adapter_gl to wined3d_gl.h.
wined3d: Move struct wined3d_device_gl to wined3d_gl.h.
Zhao Yi (1):
comctl32/listview: Reset bNoItemMetrics to make sure that listview items can be arranged correctly.
Zhiyi Zhang (5):
mfmediaengine/tests: Test IMFMediaEngine::GetDuration().
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
mfmediaengine/tests: Fix a test failure in test_GetDuration().
mfmediaengine/tests: Test IMFMediaEngine::GetSeekable().
mfmediaengine: Implement media_engine_GetSeekable().
Ziqing Hui (10):
winegstreamer: Add stubs for media sink.
winegstreamer: Add stubs for stream sink.
winegstreamer: Implement IMFMediaEventGenerator for stream sink.
winegstreamer: Add IMFMediaTypeHandler stubs to stream sink.
winegstreamer: Implement IMFMediaEventGenerator for media sink.
winegstreamer: Add IMFClockStateSink stubs to media sink.
winegstreamer: Add async command handling to media sink.
winegstreamer: Implement GetStreamSinkCount for media sink.
winegstreamer: Implement GetStreamSinkByIndex for media sink.
winegstreamer: Implement GetStreamSinkById for media sink.